<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>초급개발자의 기록</title>
    <link>https://save-idea.tistory.com/</link>
    <description>초급, 중급 개발자를 넘어 고급 개발자가 되는 날이 오기를 희망하는 초급 개발자의 기록</description>
    <language>ko</language>
    <pubDate>Fri, 10 Jul 2026 18:19:05 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>기록원장</managingEditor>
    <image>
      <title>초급개발자의 기록</title>
      <url>https://tistory1.daumcdn.net/tistory/5707665/attach/8a6e8d6a7f75477fb20c3b6ddd343423</url>
      <link>https://save-idea.tistory.com</link>
    </image>
    <item>
      <title>[Gitea] 특정 커밋 기준 소스코드 다운로드</title>
      <link>https://save-idea.tistory.com/240</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;여기서 설명하는 방식은 URL을 커밋 해시로 바꿔서 다운로드하는 방식임&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. Gitea 로그인&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2. Gitea 저장소 접속&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Commits&lt;/b&gt; &lt;/span&gt;또는 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;커밋 &lt;/b&gt;&lt;/span&gt;메뉴 이동 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;97&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oicKG/dJMcaf8cgWa/t04LiX8XJYw4ITKaRMe2jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oicKG/dJMcaf8cgWa/t04LiX8XJYw4ITKaRMe2jk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oicKG/dJMcaf8cgWa/t04LiX8XJYw4ITKaRMe2jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoicKG%2FdJMcaf8cgWa%2Ft04LiX8XJYw4ITKaRMe2jk%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;993&quot; height=&quot;97&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;97&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;4.&amp;nbsp;대상 브랜치 선택 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PUZdq/dJMcagF9QjC/xofK0hFkqKg191d1j7NXvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PUZdq/dJMcagF9QjC/xofK0hFkqKg191d1j7NXvK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PUZdq/dJMcagF9QjC/xofK0hFkqKg191d1j7NXvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPUZdq%2FdJMcagF9QjC%2FxofK0hFkqKg191d1j7NXvK%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;1281&quot; height=&quot;143&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;143&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;5. 원하는 시점의 커밋 내역의 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Copy hash&lt;/b&gt;&lt;/span&gt; 버튼 클릭하여 커밋해시값 취득&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;171&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eNxSqO/dJMcaff97H4/Kf6Hh5pH7lRlkKAOAMGT30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eNxSqO/dJMcaff97H4/Kf6Hh5pH7lRlkKAOAMGT30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eNxSqO/dJMcaff97H4/Kf6Hh5pH7lRlkKAOAMGT30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeNxSqO%2FdJMcaff97H4%2FKf6Hh5pH7lRlkKAOAMGT30%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;171&quot; height=&quot;123&quot; data-origin-width=&quot;171&quot; data-origin-height=&quot;123&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;6. URL을 커밋 해시로 바꿔서 다운로드&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;https://&lt;span style=&quot;color: #006dd7;&quot;&gt;gittea주소&lt;/span&gt;/&lt;span style=&quot;color: #006dd7;&quot;&gt;소유자&lt;/span&gt;/&lt;span style=&quot;color: #006dd7;&quot;&gt;저장소&lt;/span&gt;/archive/&lt;span style=&quot;color: #006dd7;&quot;&gt;커밋해시값&lt;/span&gt;.tar.gz&lt;/b&gt;&lt;br /&gt;&lt;b&gt;https://&lt;span style=&quot;color: #006dd7;&quot;&gt;gittea주소&lt;/span&gt;/&lt;span style=&quot;color: #006dd7;&quot;&gt;소유자&lt;/span&gt;/&lt;span style=&quot;color: #006dd7;&quot;&gt;저장소&lt;/span&gt;/archive/&lt;span style=&quot;color: #006dd7;&quot;&gt;커밋해시값&lt;/span&gt;.zip&lt;/b&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;예를 들어 Copy hash로 복사한 값이 &lt;span style=&quot;color: #409d00;&quot;&gt;a1b2c3d4e5f678901234567890abcdef12345678&lt;/span&gt; 이면 브라우저 주소창에 다음과 같이 입력 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; &lt;span style=&quot;text-align: left;&quot;&gt;https://&lt;/span&gt;gittea주소&lt;span style=&quot;text-align: left;&quot;&gt;/&lt;/span&gt;소유자&lt;span style=&quot;text-align: left;&quot;&gt;/&lt;/span&gt;저장소&lt;span style=&quot;text-align: left;&quot;&gt;/archive/&lt;span style=&quot;color: #409d00;&quot;&gt;a1b2c3d4e5f678901234567890abcdef12345678&lt;/span&gt;.zip&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>형상 관리/Git</category>
      <category>Copy hash</category>
      <category>git</category>
      <category>gitea</category>
      <category>URL을 커밋 해시로 바꿔서 다운로드</category>
      <category>깃</category>
      <category>깃티</category>
      <category>커밋해시</category>
      <category>특정 커밋 기준 소스코드 다운로드</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/240</guid>
      <comments>https://save-idea.tistory.com/240#entry240comment</comments>
      <pubDate>Fri, 3 Jul 2026 11:56:11 +0900</pubDate>
    </item>
    <item>
      <title>&amp;ldquo;Spring Boot: Failed to configure a DataSource&amp;quot; &amp;mdash; DB 없이 JPA 프로젝트 기동하는 방법(H2 활용)</title>
      <link>https://save-idea.tistory.com/239</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;스프링부트로 JPA 기반 프로젝트를 개발 시, 로컬 환경에 MariaDB를 설치해 사용했는데, 공용 PC에서 소스만 깃에서 받아 개발을 이어가야 할 경우가 생겼다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;DB가 없는 환경에서 애플리케이션을 임시로 띄워야 하는데 MariaDB가 없어서 아래 오류메시지와 함께 기동이 안 되는 상황이 발생했다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;***************************&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;APPLICATION&amp;nbsp;FAILED&amp;nbsp;TO&amp;nbsp;START&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;***************************&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Description:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Failed to configure a DataSource:&lt;/span&gt; 'url' attribute is not specified and no embedded datasource could be configured.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Reason: Failed to determine a suitable driver class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Action:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Consider&amp;nbsp;the&amp;nbsp;following:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;If&amp;nbsp;you&amp;nbsp;want&amp;nbsp;an&amp;nbsp;embedded&amp;nbsp;database&amp;nbsp;(H2,&amp;nbsp;HSQL&amp;nbsp;or&amp;nbsp;Derby),&amp;nbsp;please&amp;nbsp;put&amp;nbsp;it&amp;nbsp;on&amp;nbsp;the&amp;nbsp;classpath.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;If&amp;nbsp;you&amp;nbsp;have&amp;nbsp;database&amp;nbsp;settings&amp;nbsp;to&amp;nbsp;be&amp;nbsp;loaded&amp;nbsp;from&amp;nbsp;a&amp;nbsp;particular&amp;nbsp;profile&amp;nbsp;you&amp;nbsp;may&amp;nbsp;need&amp;nbsp;to&amp;nbsp;activate&amp;nbsp;it&amp;nbsp;(no&amp;nbsp;profiles&amp;nbsp;are&amp;nbsp;currently&amp;nbsp;active).&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;또한 JPA 관련해서 다음과 같은 오류도 이어졌다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Field menuMDao required a bean of type 'javax.persistence.EntityManagerFactory' that could not be found.&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 원인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; JPA&amp;nbsp;기반&amp;nbsp;프로젝트는&amp;nbsp;Spring&amp;nbsp;Boot&amp;nbsp;특성상&amp;nbsp;반드시&amp;nbsp;DataSource를&amp;nbsp;요구한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;그래서 실제 DB가 없는 환경에서는 많은 에러가 발생할 수밖에 없다. &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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;스프링부트는&amp;nbsp;JPA&amp;nbsp;프로젝트이기&amp;nbsp;때문에&amp;nbsp;무조건&amp;nbsp;DataSource&amp;nbsp;+&amp;nbsp;EntityManagerFactory가&amp;nbsp;필요하다고&amp;nbsp;판단하는데,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;현재 서버에는 MariaDB가 없으니 생성할 수 없어 애플리케이션 자체가 뜨지 않는 것이었다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결방안&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이를 해결하는 가장 간단하고 안정적인 방법이 바로 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;H2 메모리 DB를 임시로 붙여주는 방식&lt;/span&gt;&lt;/b&gt;이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 즉, &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;MariaDB 대신 H2를 연결해서 JPA를 만족시키는 것&lt;/span&gt;&lt;/b&gt;인데, 이 방법을 사용하면 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;letter-spacing: 0px; color: #ee2323;&quot;&gt;실제 DB 없이도 개발 서버 기동이 가능해 지며, &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;JPA / Repository / EntityManager 관련 코드 수정도 불필요&lt;/span&gt;하다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;나중에 MariaDB 연결할 때도 설정 파일만 다시 바꿔주면 되기 때문에 간단하다.&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;1. build.gradle 수정 &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1763616517791&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;dependencies {
    ...
    
    //DB 없는 환경에서 임시로 사용할 H2 메모리 DB 추가
    runtimeOnly 'com.h2database:h2'
    
    ...
}&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;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. application.properties&amp;nbsp;&amp;ndash;&amp;nbsp;H2&amp;nbsp;연결&amp;nbsp;설정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;MariaDB&amp;nbsp;설정은&amp;nbsp;그대로&amp;nbsp;주석&amp;nbsp;처리한&amp;nbsp;채,&amp;nbsp;아래처럼&amp;nbsp;H2&amp;nbsp;설정만&amp;nbsp;추가한다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1763616609375&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#H2 임시 메모리 DB 설정 추가
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:testdb;MODE=MYSQL;DATABASE_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>프레임워크/Spring (스프링)</category>
      <category>'url' attribute is not specified and no embedded datasource could be configured.</category>
      <category>Consider the following:</category>
      <category>Failed to configure a DataSource:</category>
      <category>HSQL or Derby)</category>
      <category>If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).</category>
      <category>If you want an embedded database (H2</category>
      <category>jpa</category>
      <category>please put it on the classpath.</category>
      <category>Reason: Failed to determine a suitable driver class</category>
      <category>Spring Boot</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/239</guid>
      <comments>https://save-idea.tistory.com/239#entry239comment</comments>
      <pubDate>Fri, 21 Nov 2025 00:15:30 +0900</pubDate>
    </item>
    <item>
      <title>[Git] 커밋시 Committer identity unknown 오류 해결법</title>
      <link>https://save-idea.tistory.com/237</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;오류로 인해 커밋이 실패했습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;Committer&amp;nbsp;identity&amp;nbsp;unknown&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;***&amp;nbsp;Please&amp;nbsp;tell&amp;nbsp;me&amp;nbsp;who&amp;nbsp;you&amp;nbsp;are.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Run&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; git config --global user.email &quot;you@example.com&quot;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; git config --global user.name &quot;Your Name&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;to set your account's default identity.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Omit --global to set the identity only in this repository.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;fatal: unable to auto-detect email address&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 에러원인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Git 커밋(Commit) 시에 &quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;Committer identity unknown&lt;/span&gt;&quot; 오류가 발생했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이&amp;nbsp;오류는&amp;nbsp;Git이&amp;nbsp;커밋&amp;nbsp;작성자&amp;nbsp;정보(이름/이메일)를&amp;nbsp;알&amp;nbsp;수&amp;nbsp;없어서&amp;nbsp;발생하는&amp;nbsp;기본적인&amp;nbsp;설정&amp;nbsp;문제로써&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Git이 &amp;ldquo;누가 커밋했는가&amp;rdquo;를 기록해야 하는데, 현재 사용자 정보를 찾지 못하고 있는 상황이기 때문에 발생하게 된다.&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;즉, 로컬 PC에 Git 작성자 정보(user.name, user.email)가 등록되어 있지 않거나, 등록되어 있어도 현재 리포지토리에만 설정돼 있지 않은 경우에 발생한다고 이해하면 된다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;오류 메시지를 보면 해결방법이 같이 나와있는데&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&quot;&lt;/span&gt;git config --global user.email&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;, &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;git config --global user.name&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&quot; &lt;/span&gt;&lt;/span&gt;명령어를 실행해서 Git 작성자 정보(user.name, user.email)를 등록해야 하고, 그 이후에는 커밋을 진행할 때 해당 오류메시지가 나오지 않게 된다.&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;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #009a87;&quot;&gt;&lt;b&gt;1. Git에 등록된 작성자 정보(user.name, user.email) 확인&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1760925770300&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ git config --list&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;git config --list&lt;/span&gt;&quot; 명령어는 Git의 모든 설정값을 현재 적용된 순서대로 보여주는 명령어인데, 명령어를 실행하게 되면 Git 작성자 정보가 현재 등록돼 있는지에 대한 여부도 확인할 수 있다.&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;만약 아래와 같은 작성자 정보가 보이지 않으면 현재 Git 작성자 정보가 등록되지 않은 상태라고 이해하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1760935771786&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;user.name=작성자 이름
user.email=작성자 이메일&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #009a87;&quot;&gt;&lt;b&gt;2. Git &lt;span style=&quot;text-align: start;&quot;&gt;작성자 &lt;/span&gt;정보(user.name, user.email) 등록&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;작성자 정보가 등록돼 있지 않다면 git config user.name, git config user.email 명령어를 통해 등록을 해야 하는데,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;등록 시,&amp;nbsp;&lt;span style=&quot;text-align: start;&quot;&gt;-&lt;span style=&quot;color: #006dd7;&quot;&gt;-global&lt;/span&gt; 설정에 따라&lt;/span&gt; Git의 모든 저장소에 적용할 것인지 현재 저장소만 적용할 것인지에 대한 여부를 지정할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1760927893662&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&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;pre id=&quot;code_1760927934109&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 특정 리포지토리에서만 설정 (현재 리포지토리 에만 적용)
$ git config user.name &quot;작성자 이름&quot;
$ git config user.email &quot;작성자 이메일&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;※만약 기존에 등록된 user.name과 user.email이 존재하는데 명령어를 실행시키면 새로 등록한 작성자 정보로 덮어씌운다.&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;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #009a87;&quot;&gt;&lt;b&gt;3. 등록된 작성자 정보 확인 &lt;span style=&quot;text-align: start;&quot;&gt;(user.name, user.email)&amp;nbsp;&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;상기 1번에서의 &quot;git config --list&quot; 명령어를 통해 다시 한번 설정값을 확인해 보면 내가 등록한 user.name과 user.email 정보가 출력될 것이다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 등록한 작성자 정보&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(user.name, user.email)&lt;/span&gt;&lt;/b&gt; 도대체 어디서 사용되나?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;등록한 작성자의 이름(user.name)과 이메일(user.email)은 아래와 같은 곳에서 사용된다.&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;user.name&lt;/b&gt;&lt;/span&gt; &amp;rArr; 단순히 커밋하는 작성자의 이름으로써, 커밋 메시지에 표시된다. (Git 내부적으로는 단순 문자열에 불과하기 때문에 진짜 계정 이름일 필요는 없다.)&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;user.email&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt; &amp;rArr; user.name과 같이 커밋 메시지에 표시된다. &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;(GitHub의 UI에서는 기본적으로 숨겨져 있어 표시되지 않는다.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;또한 GitHub의 경우는 계정 식별자의 역할도 하는데, &lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;내가 설정한 user.email의 이메일 주소가 GitHub계정 이메일 주소와 같다면 커밋이 GitHub의 계정과 연결된다.&lt;/span&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: #333333; text-align: start; font-family: 'Noto Sans Light';&quot;&gt;예시를 위해 아래와 같이 임의의 작성자 이름과, 이메일로 설정한 뒤 커밋한 뒤, GitHub의 계정과 일치하는 이메일로 작성자 이메일을 설정하여 한 번 더 커밋을 해보겠다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1760978584477&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 임의의 작성자 이름/이메일로 설정
$ git config user.name &quot;Tester&quot;
$ git config user.email &quot;tester@abc.com&quot;

# GitHub 계정과 동일한 이메일로 설정
$ git config user.email &quot;GitHub계정 이메일&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;GitHub에서 커밋 이력을 살펴보면 첫 번째 커밋의 경우, 임의의 작성자 이름과 이메일로 등록했기 때문에 커밋이 GitHub와 계정연결 되지 않은 상태로 작성자 이름인 &quot;Tester&quot;만 이력에 출력되는 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그다음 두 번째 커밋은 GitHub의 계정과 매핑이 되어, 이력에&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;등록한 작성자의 이름이 아닌 GitHub에서 등록한 계정명으로 치환되어 표시&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;되며, 또한 계정명 앞에 초록색&lt;/span&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;프로필이 추가로 &amp;nbsp;표시&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;되는 것을 확인할 수 있다.&lt;/span&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;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;343&quot; data-origin-height=&quot;173&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vH1py/dJMb9QFh5yw/OokJWxnkixYRK4PLfds85K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vH1py/dJMb9QFh5yw/OokJWxnkixYRK4PLfds85K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vH1py/dJMb9QFh5yw/OokJWxnkixYRK4PLfds85K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvH1py%2FdJMb9QFh5yw%2FOokJWxnkixYRK4PLfds85K%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;343&quot; height=&quot;173&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;343&quot; data-origin-height=&quot;173&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;다만, 이것은 GitHub UI에서만 작성자 이름을 GitHub 계정명으로 치환해서 보여주고 있을 뿐, 실제 커밋 데이터 자체는 등록한 작성자 이름(&lt;span style=&quot;text-align: start;&quot;&gt;&quot;Tester&quot;&lt;/span&gt;)이 그대로 남아있게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;79&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZVgJA/dJMb9X5psvJ/kpbOyNoxkd4OhP9BAI8YH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZVgJA/dJMb9X5psvJ/kpbOyNoxkd4OhP9BAI8YH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZVgJA/dJMb9X5psvJ/kpbOyNoxkd4OhP9BAI8YH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZVgJA%2FdJMb9X5psvJ%2FkpbOyNoxkd4OhP9BAI8YH0%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;490&quot; height=&quot;79&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;79&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;79&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byvf4P/dJMb9NIzjb3/KylMdviaWkQvdPZ7RtOV40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byvf4P/dJMb9NIzjb3/KylMdviaWkQvdPZ7RtOV40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byvf4P/dJMb9NIzjb3/KylMdviaWkQvdPZ7RtOV40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyvf4P%2FdJMb9NIzjb3%2FKylMdviaWkQvdPZ7RtOV40%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;491&quot; height=&quot;79&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;79&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 이메일을 숨기고 싶은 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&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;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;1. GitHub 우측상단의 &lt;span style=&quot;color: #006dd7;&quot;&gt;프로필 아이콘&lt;/span&gt;&amp;nbsp;클릭 &amp;rArr; [&lt;span style=&quot;color: #006dd7;&quot;&gt;Settings&lt;/span&gt;] 클릭&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;261&quot; data-origin-height=&quot;649&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b67xbQ/dJMb9fdWiqK/xhqjFlmytXM6cDsfZTFvw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b67xbQ/dJMb9fdWiqK/xhqjFlmytXM6cDsfZTFvw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b67xbQ/dJMb9fdWiqK/xhqjFlmytXM6cDsfZTFvw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb67xbQ%2FdJMb9fdWiqK%2FxhqjFlmytXM6cDsfZTFvw1%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;261&quot; height=&quot;649&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;261&quot; data-origin-height=&quot;649&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;2. [&lt;span style=&quot;color: #006dd7;&quot;&gt;Emails&lt;/span&gt;]&amp;nbsp; &amp;rArr; [&lt;span style=&quot;color: #006dd7;&quot;&gt;Keep my email addresses private&lt;/span&gt;]를 [&lt;span style=&quot;color: #006dd7;&quot;&gt;On&lt;/span&gt;]으로 설정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1322&quot; data-origin-height=&quot;763&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYcEfb/dJMb9O1NbeR/P4F3HwXKLZS2UXvN33g0VK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYcEfb/dJMb9O1NbeR/P4F3HwXKLZS2UXvN33g0VK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYcEfb/dJMb9O1NbeR/P4F3HwXKLZS2UXvN33g0VK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYcEfb%2FdJMb9O1NbeR%2FP4F3HwXKLZS2UXvN33g0VK%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;1322&quot; height=&quot;763&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1322&quot; data-origin-height=&quot;763&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3. &lt;b&gt;Keep my email addresses private에 생성된 이메일을 Git 작성자 이메일(user.email)로 설정&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bET0rQ/dJMb9LjHdx2/sZzRQkXJBBNoKtHkMqeEtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bET0rQ/dJMb9LjHdx2/sZzRQkXJBBNoKtHkMqeEtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bET0rQ/dJMb9LjHdx2/sZzRQkXJBBNoKtHkMqeEtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbET0rQ%2FdJMb9LjHdx2%2FsZzRQkXJBBNoKtHkMqeEtk%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;932&quot; height=&quot;143&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;143&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1uNFN/dJMb9O8yxOR/ZkDKKqnrZQDAamvu2Pqw21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1uNFN/dJMb9O8yxOR/ZkDKKqnrZQDAamvu2Pqw21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1uNFN/dJMb9O8yxOR/ZkDKKqnrZQDAamvu2Pqw21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1uNFN%2FdJMb9O8yxOR%2FZkDKKqnrZQDAamvu2Pqw21%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;932&quot; height=&quot;126&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;126&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;이렇게 하면 로그에는 실제 GitHub 계정 이메일은 공개되지 않고, GitHub 프로필에 커밋이 정상적으로 연결되어 이력이 출력된다.&lt;/span&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;96&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceiBmI/dJMb9N9Epje/7Hp6kEKOLLIPj30F8QxVP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceiBmI/dJMb9N9Epje/7Hp6kEKOLLIPj30F8QxVP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceiBmI/dJMb9N9Epje/7Hp6kEKOLLIPj30F8QxVP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceiBmI%2FdJMb9N9Epje%2F7Hp6kEKOLLIPj30F8QxVP0%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;491&quot; height=&quot;96&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;491&quot; data-origin-height=&quot;96&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;348&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HqpWv/dJMb9hpiovB/C7JuODd68g33UEVrXVuKK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HqpWv/dJMb9hpiovB/C7JuODd68g33UEVrXVuKK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HqpWv/dJMb9hpiovB/C7JuODd68g33UEVrXVuKK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHqpWv%2FdJMb9hpiovB%2FC7JuODd68g33UEVrXVuKK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;348&quot; height=&quot;59&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;348&quot; data-origin-height=&quot;59&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>형상 관리/Git</category>
      <category>commit</category>
      <category>Committer identity unknown</category>
      <category>git</category>
      <category>git config --list</category>
      <category>git config user.email</category>
      <category>git config user.name</category>
      <category>github</category>
      <category>Keep my email addresses private</category>
      <category>user.email</category>
      <category>user.name</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/237</guid>
      <comments>https://save-idea.tistory.com/237#entry237comment</comments>
      <pubDate>Mon, 20 Oct 2025 01:54:24 +0900</pubDate>
    </item>
    <item>
      <title>[Nginx] 413 (Request Entity Too Large) 오류 해결 방법</title>
      <link>https://save-idea.tistory.com/236</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;413 (Request Entity Too Large)&lt;/span&gt; 오류 해결 방법&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 증상&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;스프링&amp;nbsp;Multipart를&amp;nbsp;이용해&amp;nbsp;파일&amp;nbsp;업로드&amp;nbsp;기능을&amp;nbsp;구현하고&amp;nbsp;업로드&amp;nbsp;용량&amp;nbsp;제한을&amp;nbsp;설정했다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&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;nbsp;되지&amp;nbsp;않는&amp;nbsp;문제가&amp;nbsp;발생했다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&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;nbsp;업로드되는&amp;nbsp;것을&amp;nbsp;확인했다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/101&quot;&gt;[Spring] MultipartFile 파일 업로드 최대크기 제한 조정&lt;/a&gt;&lt;/span&gt;&lt;/u&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 에러 원인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Nginx&amp;nbsp;에러&amp;nbsp;로그를&amp;nbsp;확인한&amp;nbsp;결과,&amp;nbsp;파일&amp;nbsp;업로드&amp;nbsp;요청&amp;nbsp;시&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;413&amp;nbsp;(Request&amp;nbsp;Entity&amp;nbsp;Too&amp;nbsp;Large)&lt;/span&gt;&lt;/b&gt;&amp;nbsp;오류가&amp;nbsp;발생하고&amp;nbsp;있는&amp;nbsp;것을&amp;nbsp;확인했다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이는&amp;nbsp;Nginx에서&amp;nbsp;설정한&amp;nbsp;클라이언트&amp;nbsp;요청&amp;nbsp;본문의&amp;nbsp;최대&amp;nbsp;허용&amp;nbsp;크기를&amp;nbsp;초과했을&amp;nbsp;때&amp;nbsp;발생하는&amp;nbsp;오류로,&amp;nbsp;제한된&amp;nbsp;크기보다&amp;nbsp;큰&amp;nbsp;요청이&amp;nbsp;들어오면&amp;nbsp;Nginx가&amp;nbsp;요청을&amp;nbsp;차단하고&amp;nbsp;413&amp;nbsp;에러를&amp;nbsp;반환한다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;nginx.conf&amp;nbsp;파일에서&amp;nbsp;클라이언트&amp;nbsp;요청&amp;nbsp;본문의&amp;nbsp;최대&amp;nbsp;허용&amp;nbsp;크기인&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;client_max_body_size&lt;/span&gt;&lt;/b&gt;를&amp;nbsp;지정한&amp;nbsp;뒤&amp;nbsp;nginx를&amp;nbsp;재시작하면&amp;nbsp;문제가&amp;nbsp;해결된다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1767086292939&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#nginx.conf

http {
    ...
    client_max_body_size 100m;
    ...
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;용량 단위는 다음과 같이 지정할 수 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;● KB : k&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; &lt;span style=&quot;text-align: start;&quot;&gt;● &lt;/span&gt;MB : m&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; &lt;span style=&quot;text-align: start;&quot;&gt;● &lt;/span&gt;GB&amp;nbsp;:&amp;nbsp;g&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;참고로 client_max_body_size를 설정하지 않으면 &lt;span style=&quot;color: #006dd7;&quot;&gt;기본값은 1m&lt;/span&gt;로 지정이 되며, &lt;span style=&quot;color: #006dd7;&quot;&gt;용량 제한을 두고 싶지 않은 경우&lt;/span&gt;는 client_max_body_size 값을 &lt;span style=&quot;color: #006dd7;&quot;&gt;0&lt;/span&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;client_max_body_size&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;client_max_body_size&quot; href=&quot;https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>서버/Nginx</category>
      <category>413 (Request Entity Too Large)</category>
      <category>client_max_body_size</category>
      <category>client_max_body_size 0</category>
      <category>MultipartFile</category>
      <category>nginx</category>
      <category>nginx.conf</category>
      <category>엔진엑스</category>
      <category>파일 업로드</category>
      <category>파일용량</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/236</guid>
      <comments>https://save-idea.tistory.com/236#entry236comment</comments>
      <pubDate>Tue, 14 Oct 2025 02:13:00 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 인기 순위 (2025-10)</title>
      <link>https://save-idea.tistory.com/235</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2025년 10월 헤드라인 -&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;2위를 향한 &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;C, C++, Java의&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;치열한 경쟁&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ~ 20위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/be9cNn/btsQ63RThBp/k9dKHXXpQw4vIJrAjkCjr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/be9cNn/btsQ63RThBp/k9dKHXXpQw4vIJrAjkCjr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/be9cNn/btsQ63RThBp/k9dKHXXpQw4vIJrAjkCjr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe9cNn%2FbtsQ63RThBp%2Fk9dKHXXpQw4vIJrAjkCjr1%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;1368&quot; height=&quot;1103&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1103&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;21 ~ 50위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;21.png&quot; data-origin-width=&quot;1367&quot; data-origin-height=&quot;1124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ohvx1/btsQ6KrTthq/w2vf6QhaHnxVtVug6tyZy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ohvx1/btsQ6KrTthq/w2vf6QhaHnxVtVug6tyZy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ohvx1/btsQ6KrTthq/w2vf6QhaHnxVtVug6tyZy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fohvx1%2FbtsQ6KrTthq%2Fw2vf6QhaHnxVtVug6tyZy1%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;1367&quot; height=&quot;1124&quot; data-filename=&quot;21.png&quot; data-origin-width=&quot;1367&quot; data-origin-height=&quot;1124&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #555555; text-align: start;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;TIOBE Index for October&amp;nbsp;2025&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;TIOBE Index for October 2025&quot; href=&quot;https://www.tiobe.com/tiobe-index/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.tiobe.com/tiobe-index/&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/프로그래밍 언어 순위</category>
      <category>Ai</category>
      <category>C</category>
      <category>c++</category>
      <category>java</category>
      <category>JavaScript</category>
      <category>PERL</category>
      <category>Python</category>
      <category>TIOBE</category>
      <category>visual basic</category>
      <category>프로그래밍 언어 순위</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/235</guid>
      <comments>https://save-idea.tistory.com/235#entry235comment</comments>
      <pubDate>Mon, 13 Oct 2025 01:17:15 +0900</pubDate>
    </item>
    <item>
      <title>[MariaDB] 마리아디비 설치 가이드 (Windows 환경에서 로컬 개발환경 만들기)</title>
      <link>https://save-idea.tistory.com/232</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ MariaDB 설치&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;MariaDB Foundation&quot; href=&quot;https://mariadb.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://mariadb.org/&lt;/a&gt;&lt;/u&gt;&lt;/span&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;font-family: 'Noto Sans Light';&quot;&gt;2. 상단 &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Download&lt;/span&gt;&quot; 메뉴 또는 &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Download&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;647&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkANNh/btsQMIIsxJS/i6Lr2AOwe8rOj6dqsWfbDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkANNh/btsQMIIsxJS/i6Lr2AOwe8rOj6dqsWfbDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkANNh/btsQMIIsxJS/i6Lr2AOwe8rOj6dqsWfbDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkANNh%2FbtsQMIIsxJS%2Fi6Lr2AOwe8rOj6dqsWfbDK%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;1920&quot; height=&quot;647&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;647&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. 아래 내용대로 설정 후 &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Download&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;MariaDB Server Version&lt;/b&gt; : 다운로드 원하는 MariaDB Server의 버전을 선택&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Operating System&lt;/b&gt; : Windows&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Architecture&lt;/b&gt; : 본인 Windows 환경에 맞게 선택&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Package Type&lt;/b&gt; : MSI Package&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;890&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/owan8/btsQM0vmpmM/hM8Tq12BZIKd4YBGDhjoZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/owan8/btsQM0vmpmM/hM8Tq12BZIKd4YBGDhjoZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/owan8/btsQM0vmpmM/hM8Tq12BZIKd4YBGDhjoZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fowan8%2FbtsQM0vmpmM%2FhM8Tq12BZIKd4YBGDhjoZk%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;1920&quot; height=&quot;890&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;890&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;4. 다운로드 된 msi 파일 더블클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;165&quot; data-origin-height=&quot;30&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bujum8/btsQMKTDYBm/C1TPZrt9ufC0it2lPDscCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bujum8/btsQMKTDYBm/C1TPZrt9ufC0it2lPDscCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bujum8/btsQMKTDYBm/C1TPZrt9ufC0it2lPDscCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbujum8%2FbtsQMKTDYBm%2FC1TPZrt9ufC0it2lPDscCK%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;165&quot; height=&quot;30&quot; data-origin-width=&quot;165&quot; data-origin-height=&quot;30&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;5. &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Next&lt;/b&gt;&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/popBh/btsQOLqmGZq/nGtn4e2kOkVT9KS4J69kZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/popBh/btsQOLqmGZq/nGtn4e2kOkVT9KS4J69kZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/popBh/btsQOLqmGZq/nGtn4e2kOkVT9KS4J69kZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpopBh%2FbtsQOLqmGZq%2FnGtn4e2kOkVT9KS4J69kZk%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;495&quot; height=&quot;387&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;6. 라이선스 동의 체크 후, &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Next&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uJjUB/btsQLzFipqx/hkHhLFReIdfTtdueQ5aUrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uJjUB/btsQLzFipqx/hkHhLFReIdfTtdueQ5aUrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uJjUB/btsQLzFipqx/hkHhLFReIdfTtdueQ5aUrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuJjUB%2FbtsQLzFipqx%2FhkHhLFReIdfTtdueQ5aUrK%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;495&quot; height=&quot;387&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;7. 설치 위치 지정 후, &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Next&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TZrpC/btsQM27JNPA/4WysuU3zcKMchqcCir9XK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TZrpC/btsQM27JNPA/4WysuU3zcKMchqcCir9XK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TZrpC/btsQM27JNPA/4WysuU3zcKMchqcCir9XK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTZrpC%2FbtsQM27JNPA%2F4WysuU3zcKMchqcCir9XK0%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;495&quot; height=&quot;387&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;8. root 계정 설정 후 &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Next&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;New root password&lt;/b&gt; : root 계정 비밀번호&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Confirm&lt;/b&gt; : 비밀번호 확인&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Enable access from remote machines for 'root' user&lt;/b&gt; : root 계정의 원격 접속 허용 여부에 따라 설정&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;일반적으로는 root 계정은 로컬 전용으로 두고, 원격에서 접근해야 한다면 별도의 사용자 계정을 만들어서 필요한 DB/권한만 주는 게 원칙이지만 원한다면 체크&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nMfU5/btsQPptP8aO/rnCxeXcsGJAJ2MdMVDktK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nMfU5/btsQPptP8aO/rnCxeXcsGJAJ2MdMVDktK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nMfU5/btsQPptP8aO/rnCxeXcsGJAJ2MdMVDktK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnMfU5%2FbtsQPptP8aO%2FrnCxeXcsGJAJ2MdMVDktK1%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;495&quot; height=&quot;387&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;9. &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Next&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/J1Tta/btsQMjIZcnp/ogaK5u033dG5QDujs9FFiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/J1Tta/btsQMjIZcnp/ogaK5u033dG5QDujs9FFiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/J1Tta/btsQMjIZcnp/ogaK5u033dG5QDujs9FFiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ1Tta%2FbtsQMjIZcnp%2FogaK5u033dG5QDujs9FFiK%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;495&quot; height=&quot;387&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;10. &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Install&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chVU6h/btsQOPTOcpW/wQEOozQxmfOpeYO7lRoag1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chVU6h/btsQOPTOcpW/wQEOozQxmfOpeYO7lRoag1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chVU6h/btsQOPTOcpW/wQEOozQxmfOpeYO7lRoag1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchVU6h%2FbtsQOPTOcpW%2FwQEOozQxmfOpeYO7lRoag1%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;495&quot; height=&quot;387&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;11. Install 완료 후, &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Finish&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqTZpm/btsQOGijS9b/TCJkckf1u6zTVOMkwA5R70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqTZpm/btsQOGijS9b/TCJkckf1u6zTVOMkwA5R70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqTZpm/btsQOGijS9b/TCJkckf1u6zTVOMkwA5R70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqTZpm%2FbtsQOGijS9b%2FTCJkckf1u6zTVOMkwA5R70%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;495&quot; height=&quot;387&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dOOQTh/btsQMOaC701/g7vHo3IGy1KFU4fXO5G7f0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dOOQTh/btsQMOaC701/g7vHo3IGy1KFU4fXO5G7f0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dOOQTh/btsQMOaC701/g7vHo3IGy1KFU4fXO5G7f0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdOOQTh%2FbtsQMOaC701%2Fg7vHo3IGy1KFU4fXO5G7f0%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;495&quot; height=&quot;387&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;387&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;12. 메뉴에 추가된 &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;MySQL Client&lt;/span&gt;&quot; 실행&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;322&quot; data-origin-height=&quot;296&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chUJ3R/btsQMNbHAu1/uAwMyo0yMZJdDUNmJkeZFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chUJ3R/btsQMNbHAu1/uAwMyo0yMZJdDUNmJkeZFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chUJ3R/btsQMNbHAu1/uAwMyo0yMZJdDUNmJkeZFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchUJ3R%2FbtsQMNbHAu1%2FuAwMyo0yMZJdDUNmJkeZFk%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;322&quot; height=&quot;296&quot; data-origin-width=&quot;322&quot; data-origin-height=&quot;296&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;13. 상기 8.번에서 설정했던 비밀번호 입력 후, Enter&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dhxUta/btsQNpIokEk/K7vvmgmjKN1mGeNKB04OYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dhxUta/btsQNpIokEk/K7vvmgmjKN1mGeNKB04OYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dhxUta/btsQNpIokEk/K7vvmgmjKN1mGeNKB04OYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdhxUta%2FbtsQNpIokEk%2FK7vvmgmjKN1mGeNKB04OYk%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;979&quot; height=&quot;512&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;14. 접속 확인&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brjNgf/btsQOAPWGpx/xo9yHoFXxNeyg4f5nbYwT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brjNgf/btsQOAPWGpx/xo9yHoFXxNeyg4f5nbYwT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brjNgf/btsQOAPWGpx/xo9yHoFXxNeyg4f5nbYwT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrjNgf%2FbtsQOAPWGpx%2Fxo9yHoFXxNeyg4f5nbYwT0%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;979&quot; height=&quot;512&quot; data-origin-width=&quot;979&quot; data-origin-height=&quot;512&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 설치한 MariaDB 를 &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;DBeaver 에서&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;연동 할 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. Database Navigator 에서 마우스 우클릭 &amp;rArr; &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Create&lt;/span&gt;&quot; &amp;rArr; &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Connection&lt;/span&gt;&quot; 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4zFRk/btsQM36HTs1/nbMLAyGxLkZUANAxqBdH91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4zFRk/btsQM36HTs1/nbMLAyGxLkZUANAxqBdH91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4zFRk/btsQM36HTs1/nbMLAyGxLkZUANAxqBdH91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4zFRk%2FbtsQM36HTs1%2FnbMLAyGxLkZUANAxqBdH91%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;1920&quot; height=&quot;675&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;675&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2. &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;MariaDB&lt;/span&gt;&quot; 선택 후, &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;다음(N) &amp;gt;&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;926&quot; data-origin-height=&quot;544&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eqbtC4/btsQOiBY7id/NHxs3Av0uDQkVn2k588Ji1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eqbtC4/btsQOiBY7id/NHxs3Av0uDQkVn2k588Ji1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eqbtC4/btsQOiBY7id/NHxs3Av0uDQkVn2k588Ji1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeqbtC4%2FbtsQOiBY7id%2FNHxs3Av0uDQkVn2k588Ji1%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;926&quot; height=&quot;544&quot; data-origin-width=&quot;926&quot; data-origin-height=&quot;544&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. 아래 접속 정보 입력 후, &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Test Connection ...&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Server Host&lt;/b&gt; : localhost&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Port&lt;/b&gt; : 3306 (MariaDB 설치 시 설정했던 Port번호)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Username&lt;/b&gt; : root&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Password&lt;/b&gt; : &lt;span style=&quot;text-align: start;&quot;&gt;(MariaDB 설치 시 설정했던 root계정 비밀번호)&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;926&quot; data-origin-height=&quot;576&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUHbY2/btsQPe0a3CI/uyK9j7EYOjiCxKZ9Aigp0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUHbY2/btsQPe0a3CI/uyK9j7EYOjiCxKZ9Aigp0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUHbY2/btsQPe0a3CI/uyK9j7EYOjiCxKZ9Aigp0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUHbY2%2FbtsQPe0a3CI%2FuyK9j7EYOjiCxKZ9Aigp0k%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;926&quot; height=&quot;576&quot; data-origin-width=&quot;926&quot; data-origin-height=&quot;576&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;4. MariaDB 드라이버가 없는 경우, &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Download&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;704&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AY00S/btsQMH3Q5aC/c29qNZK3uPDdgyEKpUaTlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AY00S/btsQMH3Q5aC/c29qNZK3uPDdgyEKpUaTlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AY00S/btsQMH3Q5aC/c29qNZK3uPDdgyEKpUaTlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAY00S%2FbtsQMH3Q5aC%2Fc29qNZK3uPDdgyEKpUaTlk%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;704&quot; height=&quot;472&quot; data-origin-width=&quot;704&quot; data-origin-height=&quot;472&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;5. DB 접속 확인 후, &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;확인&lt;/span&gt;&quot; 버튼 클릭 &amp;rArr; &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;완료(F)&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;927&quot; data-origin-height=&quot;577&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bs7240/btsQNbpUSTe/7e7gCdAmUVMsgMJt5ZCDv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bs7240/btsQNbpUSTe/7e7gCdAmUVMsgMJt5ZCDv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bs7240/btsQNbpUSTe/7e7gCdAmUVMsgMJt5ZCDv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbs7240%2FbtsQNbpUSTe%2F7e7gCdAmUVMsgMJt5ZCDv1%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;927&quot; height=&quot;577&quot; data-origin-width=&quot;927&quot; data-origin-height=&quot;577&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;6. MariaDB 연동 확인&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;263&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cuXxEL/btsQMjWwyxN/neb8Cs1WiGXRabdSakA4s1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cuXxEL/btsQMjWwyxN/neb8Cs1WiGXRabdSakA4s1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cuXxEL/btsQMjWwyxN/neb8Cs1WiGXRabdSakA4s1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuXxEL%2FbtsQMjWwyxN%2Fneb8Cs1WiGXRabdSakA4s1%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;1920&quot; height=&quot;263&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;263&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>데이터베이스/MariaDB</category>
      <category>DBeaver 연동</category>
      <category>Enable access from remote machines for 'root' user</category>
      <category>MariaDB</category>
      <category>mariadb server</category>
      <category>mysql client</category>
      <category>ROOT</category>
      <category>디비버 연동</category>
      <category>로컬디비 설치</category>
      <category>마리아DB</category>
      <category>마리아디비 설치 가이드 (Windows 환경에서 로컬 개발환경 만들기)</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/232</guid>
      <comments>https://save-idea.tistory.com/232#entry232comment</comments>
      <pubDate>Wed, 24 Sep 2025 22:48:03 +0900</pubDate>
    </item>
    <item>
      <title>[Spring] Java와 jQuery로 만드는 이미지 크롭(자르기) 기능 구현 + 예제</title>
      <link>https://save-idea.tistory.com/216</link>
      <description>&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #222;&quot;&gt;Spring Boot에서 Java와 jQuery로 만드는 이미지 크롭(자르기) 기능 구현하기&lt;/span&gt;&lt;/blockquote&gt;
&lt;p 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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 동작 및 흐름 요약&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;0&quot; data-end=&quot;24&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이 기능은 다음과 같은 흐름으로 동작한다.&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot; data-start=&quot;26&quot; data-end=&quot;244&quot; data-is-last-node=&quot;&quot; data-is-only-node=&quot;&quot;&gt;
&lt;li data-start=&quot;26&quot; data-end=&quot;47&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&quot;업로드&quot; 버튼을 누른뒤 사용자가 자를 이미지를 업로드한다.&lt;/span&gt;&lt;/li&gt;
&lt;li data-start=&quot;48&quot; data-end=&quot;109&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;업로드된 이미지를 클라이언트(브라우저)에서 미리 보고, 크롭 박스(빨간 네모)를 이용해 원하는 영역을 선택한다.&lt;/span&gt;&lt;/li&gt;
&lt;li data-start=&quot;110&quot; data-end=&quot;127&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&quot;확정&quot; 버튼을 누르면&lt;/span&gt;&lt;/li&gt;
&lt;li data-start=&quot;128&quot; data-end=&quot;190&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;클라이언트는 선택한 영역의 좌상단 좌표와 크기(가로/세로) 정보를 원본 이미지와 함께 서버&lt;span style=&quot;background-color: #ffffff; text-align: start;&quot;&gt;(Spring Boot/Java)&lt;/span&gt;로 전송한다.&lt;/span&gt;&lt;/li&gt;
&lt;li data-start=&quot;191&quot; data-end=&quot;244&quot; data-is-last-node=&quot;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;서버는 해당 좌표와 크기를 기준으로 이미지를 잘라내어 새로운 이미지로 저장한 뒤 저장경로를 반환한다.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;1039&quot; data-end=&quot;1048&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;요약하면 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; letter-spacing: 0px;&quot;&gt;박스와 이미지의 실제 표시 위치를 계산해 좌표를 원본 이미지의 픽셀 좌표로 변환하고, 서버는 받은 좌표/크기만큼만&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; letter-spacing: 0px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light'; letter-spacing: 0px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;getSubimage()로 자른다&lt;/span&gt;&lt;/b&gt;고 이해하면 된다. &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;(클라이언트 단에서는 자르고 싶은 위치/크기만 전달하고, 실제 이미지 자르기는 서버단에서 처리)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;1039&quot; data-end=&quot;1048&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;1039&quot; data-end=&quot;1048&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 구현 시 주안점&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;업로드 한 이미지는 원본 비율로 미리보기 영역에 꽉 채워서 보일 것&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 크롭 박스(빨간 네모)는 정사각형의 고정된 형태가 아니라 원하는 가로/세로 비율로 조절이 가능할 것 &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 크롭 박스(빨간 네모)는 업로드한 이미지의 영역 안에서만 이동 및 크기조절이 가능할 것 (이미지 밖으로 못 넘어감) &lt;/span&gt;&lt;/li&gt;
&lt;/ol&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 결과물&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;미리보기 영역에 이미지를 업로드하고, 드래그로 이미지의 &lt;span style=&quot;text-align: start;&quot;&gt;자를 &lt;/span&gt;영역을 지정한 뒤 &quot;확정&quot; 버튼을 누르면&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;※ 가로 이미지&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;crop_가로.gif&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;802&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgfl6R/btsQK9y8YUq/X3quq3et12mrMAmJEU99ek/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgfl6R/btsQK9y8YUq/X3quq3et12mrMAmJEU99ek/img.gif&quot; data-alt=&quot;가로이미지 Crop&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgfl6R/btsQK9y8YUq/X3quq3et12mrMAmJEU99ek/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bgfl6R/btsQK9y8YUq/X3quq3et12mrMAmJEU99ek/img.gif&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;1910&quot; height=&quot;802&quot; data-filename=&quot;crop_가로.gif&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;802&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;가로이미지 Crop&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8DzBH/btsQMi9Ydpz/j0JlGDRYLOhmhg37m06Puk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8DzBH/btsQMi9Ydpz/j0JlGDRYLOhmhg37m06Puk/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;300&quot; data-origin-height=&quot;200&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;45.36&quot; style=&quot;width: 44.8278%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8DzBH/btsQMi9Ydpz/j0JlGDRYLOhmhg37m06Puk/img.png&quot; alt=&quot;crop 전&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8DzBH%2FbtsQMi9Ydpz%2Fj0JlGDRYLOhmhg37m06Puk%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;300&quot; height=&quot;200&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NT9gj/btsQMDTAGAk/RK6ANrEbzNQbRIFnYkN0A1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NT9gj/btsQMDTAGAk/RK6ANrEbzNQbRIFnYkN0A1/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;300&quot; data-origin-height=&quot;166&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;54.64&quot; style=&quot;width: 54.0094%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NT9gj/btsQMDTAGAk/RK6ANrEbzNQbRIFnYkN0A1/img.png&quot; alt=&quot;crop 후&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNT9gj%2FbtsQMDTAGAk%2FRK6ANrEbzNQbRIFnYkN0A1%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;300&quot; height=&quot;166&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;Crop 전 &amp;rarr; 후&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;※ 세로 이미지&lt;/span&gt;&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;crop_세로.gif&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;802&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coauJW/btsQLM4zNX6/iZXQJRcK8A9g200a2WBKqK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coauJW/btsQLM4zNX6/iZXQJRcK8A9g200a2WBKqK/img.gif&quot; data-alt=&quot;세로이미지 Crop&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coauJW/btsQLM4zNX6/iZXQJRcK8A9g200a2WBKqK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/coauJW/btsQLM4zNX6/iZXQJRcK8A9g200a2WBKqK/img.gif&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;1910&quot; height=&quot;802&quot; data-filename=&quot;crop_세로.gif&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;802&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;세로이미지 Crop&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SbEDd/btsQMdnmhfU/oZu9L71ipoLd6O6eEEnYSk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SbEDd/btsQMdnmhfU/oZu9L71ipoLd6O6eEEnYSk/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;427&quot; data-origin-height=&quot;640&quot; data-filename=&quot;flower-9799036_640.jpg&quot; style=&quot;width: 36.7254%; margin-right: 10px;&quot; data-widthpercent=&quot;37.16&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SbEDd/btsQMdnmhfU/oZu9L71ipoLd6O6eEEnYSk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSbEDd%2FbtsQMdnmhfU%2FoZu9L71ipoLd6O6eEEnYSk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;427&quot; height=&quot;640&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chA3vD/btsQLiWVye5/EEU1ZP3pkX9RUhfwXRcq1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chA3vD/btsQLiWVye5/EEU1ZP3pkX9RUhfwXRcq1K/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;334&quot; data-origin-height=&quot;296&quot; data-filename=&quot;cropped_5532880182228084583.png&quot; style=&quot;width: 62.1118%;&quot; data-widthpercent=&quot;62.84&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chA3vD/btsQLiWVye5/EEU1ZP3pkX9RUhfwXRcq1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchA3vD%2FbtsQLiWVye5%2FEEU1ZP3pkX9RUhfwXRcq1K%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;334&quot; height=&quot;296&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
  &lt;figcaption&gt;Crop 전 &amp;rarr; 후&lt;/figcaption&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 예제 코드&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;※ 프론트엔드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;- CSS -&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1758690108764&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;style&amp;gt;
    #preview-box {
        position: relative;
        width: 400px; 
        height: 400px;
        border: 2px solid #000;
        margin-bottom: 10px;
        overflow: hidden;
    }
    #preview-img {
        width: 100%; 
        height: 100%;
        object-fit: contain;  /* 비율 유지하며 중앙 정렬 */
    }
    #crop-rect {
        position: absolute;
        border: 3px solid red;
        width: 180px;
        height: 180px;
        top: 100px; left: 100px;
        cursor: move;
        box-sizing: border-box;
    }
    /* 네 모서리 크기조절 핸들 */
    .resize-handle {
        width: 16px; 
        height: 16px;
        background: #fff;
        border: 2px solid #ff0000;
        position: absolute;
        z-index: 10;
        border-radius: 100%;
        box-sizing: border-box;
    }
    .resize-handle.br { 
    	right: -10px; 
        bottom: -10px; 
        cursor: nwse-resize; 
    }
    .resize-handle.tr { 
    	right: -10px; 
        top: -10px; 
        cursor: nesw-resize; 
    }
    .resize-handle.bl { 
    	left: -10px; 
        bottom: -10px; 
        cursor: nesw-resize; 
    }
    .resize-handle.tl { 
    	left: -10px; 
    	top: -10px; 
    	cursor: nwse-resize; 
    }
    #buttons { 
    	margin-top: 10px; 
    }
&amp;lt;/style&amp;gt;&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;- HTML -&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1758690218617&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;form id=&quot;upload-form&quot; enctype=&quot;multipart/form-data&quot;&amp;gt;
    &amp;lt;input type=&quot;file&quot; id=&quot;file-input&quot; name=&quot;image&quot; accept=&quot;image/*&quot; style=&quot;display:none;&quot;&amp;gt;
    &amp;lt;div id=&quot;preview-box&quot;&amp;gt;
        &amp;lt;img id=&quot;preview-img&quot; src=&quot;&quot; style=&quot;display:none;&quot;&amp;gt;
        &amp;lt;div id=&quot;crop-rect&quot; style=&quot;display:none;&quot;&amp;gt;
            &amp;lt;div class=&quot;resize-handle br&quot;&amp;gt;&amp;lt;/div&amp;gt;
            &amp;lt;div class=&quot;resize-handle tr&quot;&amp;gt;&amp;lt;/div&amp;gt;
            &amp;lt;div class=&quot;resize-handle bl&quot;&amp;gt;&amp;lt;/div&amp;gt;
            &amp;lt;div class=&quot;resize-handle tl&quot;&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div id=&quot;buttons&quot;&amp;gt;
        &amp;lt;button type=&quot;button&quot; id=&quot;btn-upload&quot;&amp;gt;업로드&amp;lt;/button&amp;gt;
        &amp;lt;button type=&quot;button&quot; id=&quot;btn-crop&quot; disabled&amp;gt;확정&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;input type=&quot;hidden&quot; id=&quot;crop-x&quot; name=&quot;cropX&quot;&amp;gt;
    &amp;lt;input type=&quot;hidden&quot; id=&quot;crop-y&quot; name=&quot;cropY&quot;&amp;gt;
    &amp;lt;input type=&quot;hidden&quot; id=&quot;crop-size&quot; name=&quot;cropSize&quot;&amp;gt;
&amp;lt;/form&amp;gt;&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;- JS, jQuery -&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1758690426744&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    // 크롭 박스의 현재 위치(left, top) 및 크기(width, height)
    let rectX = 100;       // 크롭 박스의 왼쪽 위치(px, preview-box 기준)
    let rectY = 100;       // 크롭 박스의 위쪽 위치(px, preview-box 기준)
    let rectW = 180;       // 크롭 박스의 가로 길이(px)
    let rectH = 180;       // 크롭 박스의 세로 길이(px)

    // 드래그/리사이즈 시작 시 마우스 좌표 및 박스 상태 저장용
    let startX;            // 마우스 클릭 시 X좌표(preview-box 기준)
    let startY;            // 마우스 클릭 시 Y좌표(preview-box 기준)
    let startRectX;        // 드래그/리사이즈 시작 시 rectX 값 백업
    let startRectY;        // 드래그/리사이즈 시작 시 rectY 값 백업
    let startRectW;        // 리사이즈 시작 시 rectW 값 백업
    let startRectH;        // 리사이즈 시작 시 rectH 값 백업

    // 현재 드래그(이동) 중인지, 리사이즈(크기조절) 중인지 상태
    let dragging = false;  // 박스 이동 중일 때 true
    let resizing = false;  // 박스 리사이즈(변경) 중일 때 true
    let resizeDir = &quot;&quot;;    // 어떤 리사이즈 핸들에서 시작했는지(br, tr, bl, tl 중 하나)

    // 이미지 및 프리뷰 박스의 크기 정보
    let imgNaturalWidth = 0;   // 업로드된 원본 이미지의 실제 가로 픽셀
    let imgNaturalHeight = 0;  // 업로드된 원본 이미지의 실제 세로 픽셀
    let boxWidth = 400;        // 프리뷰 박스(고정) 가로 픽셀
    let boxHeight = 400;       // 프리뷰 박스(고정) 세로 픽셀

    // 크롭 박스의 최소/최대 크기(px)
    const minRectSize = 30;    // 크롭 박스 최소 변 길이(가로/세로 중 더 짧은 쪽)
    const maxRectSize = 400;   // 크롭 박스 최대 변 길이(프리뷰 박스와 동일)

    // 업로드 버튼
    $(&quot;#btn-upload&quot;).click(function(){ 
    	$(&quot;#file-input&quot;).click(); 
    });

    // 파일 선택 시 이미지 미리보기, 크롭박스 초기화
    $(&quot;#file-input&quot;).change(function(e){
        const file = e.target.files[0];
        if (!file) {
			return;
        }
        const reader = new FileReader();
        reader.onload = function(evt) {
            $(&quot;#preview-img&quot;).attr(&quot;src&quot;, evt.target.result).show();
            $(&quot;#crop-rect&quot;).show();
            $(&quot;#btn-crop&quot;).prop(&quot;disabled&quot;, false);
        };
        reader.readAsDataURL(file);

        const img = new Image();
        img.onload = function(){
            imgNaturalWidth = img.width;
            imgNaturalHeight = img.height;
        };
        img.src = URL.createObjectURL(file);

        // 크롭박스 위치/크기 초기화
        rectX = 100; rectY = 100; rectW = 180; rectH = 180;
        $(&quot;#crop-rect&quot;).css({left: rectX+&quot;px&quot;, top: rectY+&quot;px&quot;, width: rectW+&quot;px&quot;, height: rectH+&quot;px&quot;});
    });

    // 이미지 실제 표시 영역 계산 (object-fit: contain 대응)
    function getDisplayedImageRect() {
        const imgW = imgNaturalWidth, imgH = imgNaturalHeight;
        const boxW = boxWidth, boxH = boxHeight;
        let displayW, displayH, offsetX, offsetY;
        const imgRatio = imgW / imgH, boxRatio = boxW / boxH;
        if (imgRatio &amp;gt; boxRatio) {
            displayW = boxW;
            displayH = boxW / imgRatio;
            offsetX = 0;
            offsetY = (boxH - displayH) / 2;
        } else {
            displayH = boxH;
            displayW = boxH * imgRatio;
            offsetX = (boxW - displayW) / 2;
            offsetY = 0;
        }
        return {displayW, displayH, offsetX, offsetY};
    }

    // 이동: 이미지를 벗어날 수 없음
    $(&quot;#crop-rect&quot;).on(&quot;mousedown&quot;, function(e){
        if ($(e.target).hasClass('resize-handle')) return;
        dragging = true;
        const boxOffset = $(&quot;#preview-box&quot;).offset();
        startX = e.pageX - boxOffset.left;
        startY = e.pageY - boxOffset.top;
        startRectX = rectX;
        startRectY = rectY;
        e.preventDefault();
    });

    // 리사이즈(모서리)
    $(&quot;#crop-rect .resize-handle&quot;).on(&quot;mousedown&quot;, function(e){
        resizing = true;
        resizeDir = $(this).attr(&quot;class&quot;).split(&quot; &quot;)[1]; // br, tl, tr, bl
        const boxOffset = $(&quot;#preview-box&quot;).offset();
        startX = e.pageX - boxOffset.left;
        startY = e.pageY - boxOffset.top;
        startRectX = rectX;
        startRectY = rectY;
        startRectW = rectW;
        startRectH = rectH;
        e.stopPropagation();
        e.preventDefault();
    });

    // 이동/리사이즈 동작
    $(document).on(&quot;mousemove&quot;, function(e){
        const boxOffset = $(&quot;#preview-box&quot;).offset();
        const mouseX = e.pageX - boxOffset.left;
        const mouseY = e.pageY - boxOffset.top;
        const {displayW, displayH, offsetX, offsetY} = getDisplayedImageRect();

        if (dragging &amp;amp;&amp;amp; !resizing) {
            // 크롭박스 이동: 항상 이미지 표시 영역 내에만 있게 제한
            let newX = startRectX + (mouseX - startX);
            let newY = startRectY + (mouseY - startY);
            newX = Math.max(offsetX, Math.min(offsetX + displayW - rectW, newX));
            newY = Math.max(offsetY, Math.min(offsetY + displayH - rectH, newY));
            rectX = newX; rectY = newY;
            $(&quot;#crop-rect&quot;).css({left: rectX+&quot;px&quot;, top: rectY+&quot;px&quot;});
        }
        if (resizing) {
            // 각 모서리 핸들별로 동작 (자유 비율, 이미지 표시 영역 내에서만 조절)
            let newX = startRectX, newY = startRectY;
            let newW = startRectW, newH = startRectH;
            if (resizeDir === &quot;br&quot;) { // 오른쪽 아래
                newW = Math.max(minRectSize, Math.min(mouseX - startRectX, offsetX + displayW - startRectX));
                newH = Math.max(minRectSize, Math.min(mouseY - startRectY, offsetY + displayH - startRectY));
            } else if (resizeDir === &quot;tl&quot;) { // 왼쪽 위
                newX = Math.max(offsetX, Math.min(mouseX, startRectX + startRectW - minRectSize));
                newY = Math.max(offsetY, Math.min(mouseY, startRectY + startRectH - minRectSize));
                newW = startRectX + startRectW - newX;
                newH = startRectY + startRectH - newY;
            } else if (resizeDir === &quot;tr&quot;) { // 오른쪽 위
                newY = Math.max(offsetY, Math.min(mouseY, startRectY + startRectH - minRectSize));
                newH = startRectY + startRectH - newY;
                newW = Math.max(minRectSize, Math.min(mouseX - startRectX, offsetX + displayW - startRectX));
            } else if (resizeDir === &quot;bl&quot;) { // 왼쪽 아래
                newX = Math.max(offsetX, Math.min(mouseX, startRectX + startRectW - minRectSize));
                newW = startRectX + startRectW - newX;
                newH = Math.max(minRectSize, Math.min(mouseY - startRectY, offsetY + displayH - startRectY));
            }
            // 크롭 박스가 이미지 영역을 벗어나지 않게 한 번 더 보정
            if (newX &amp;lt; offsetX) { newW -= (offsetX - newX); newX = offsetX; }
            if (newY &amp;lt; offsetY) { newH -= (offsetY - newY); newY = offsetY; }
            if (newX + newW &amp;gt; offsetX + displayW) newW = offsetX + displayW - newX;
            if (newY + newH &amp;gt; offsetY + displayH) newH = offsetY + displayH - newY;
            if (newW &amp;lt; minRectSize) newW = minRectSize;
            if (newH &amp;lt; minRectSize) newH = minRectSize;

            rectX = newX; rectY = newY; rectW = newW; rectH = newH;
            $(&quot;#crop-rect&quot;).css({left: rectX+&quot;px&quot;, top: rectY+&quot;px&quot;, width: rectW+&quot;px&quot;, height: rectH+&quot;px&quot;});
        }
    }).on(&quot;mouseup&quot;, function(){
        dragging = false;
        resizing = false;
    });

    // 실제 원본 이미지 crop 좌표 변환 (자유 비율)
    $(&quot;#btn-crop&quot;).click(function(){
        const {displayW, displayH, offsetX, offsetY} = getDisplayedImageRect();
        // 크롭박스가 이미지 표시 영역 내에서의 상대좌표
        let cropLeft = rectX - offsetX;
        let cropTop = rectY - offsetY;
        let cropW = rectW, cropH = rectH;

        // 실제 이미지 바깥부분은 자동으로 잘리니 걱정 X
        cropLeft = Math.max(0, cropLeft);
        cropTop = Math.max(0, cropTop);
        cropW = Math.min(rectW, displayW - cropLeft);
        cropH = Math.min(rectH, displayH - cropTop);

        // 원본 이미지 비율 변환
        const xRatio = imgNaturalWidth / displayW;
        const yRatio = imgNaturalHeight / displayH;
        const cropX = Math.round(cropLeft * xRatio);
        const cropY = Math.round(cropTop * yRatio);
        const cropWidth = Math.round(cropW * xRatio);
        const cropHeight = Math.round(cropH * yRatio);

        $(&quot;#crop-x&quot;).val(cropX);
        $(&quot;#crop-y&quot;).val(cropY);
        if ($(&quot;#crop-width&quot;).length == 0) {
        	$(&quot;#upload-form&quot;).append('&amp;lt;input type=&quot;hidden&quot; id=&quot;crop-width&quot; name=&quot;cropWidth&quot;&amp;gt;');
        }
        if ($(&quot;#crop-height&quot;).length == 0) {
        	$(&quot;#upload-form&quot;).append('&amp;lt;input type=&quot;hidden&quot; id=&quot;crop-height&quot; name=&quot;cropHeight&quot;&amp;gt;');
        }
        $(&quot;#crop-width&quot;).val(cropWidth);
        $(&quot;#crop-height&quot;).val(cropHeight);

        const formData = new FormData($(&quot;#upload-form&quot;)[0]);
        $.ajax({
            url: &quot;/crop-image&quot;,
            method: &quot;POST&quot;,
            data: formData,
            processData: false,
            contentType: false,
            success: function(blobUrl){
                alert(&quot;크롭 성공! 새 파일: &quot; + blobUrl); // crop 이미지 저장경로
            }
        });
    });
&amp;lt;/script&amp;gt;&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;※ 백엔드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;- Spring Boot, Java -&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1758692112620&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@PostMapping(&quot;/crop-image&quot;)
@ResponseBody
public String cropImage(
        @RequestParam(&quot;image&quot;) MultipartFile image,
        @RequestParam(&quot;cropX&quot;) int cropX,
        @RequestParam(&quot;cropY&quot;) int cropY,
        @RequestParam(&quot;cropWidth&quot;) int cropWidth,
        @RequestParam(&quot;cropHeight&quot;) int cropHeight
) throws IOException {
    // 원본 이미지 읽기
    BufferedImage original = ImageIO.read(image.getInputStream());

    // 자를 영역이 원본 범위 초과하지 않도록
    int width = Math.min(cropWidth, original.getWidth() - cropX);
    int height = Math.min(cropHeight, original.getHeight() - cropY);
    BufferedImage cropped = original.getSubimage(cropX, cropY, width, height);

    // 새 파일로 저장 (여기서는 간단히 임시 파일로 저장: 필요시 경로 지정해서 사용할 것)
    File croppedFile = File.createTempFile(&quot;cropped_&quot;, &quot;.png&quot;);
    ImageIO.write(cropped, &quot;png&quot;, croppedFile);

    // 클라이언트단에 alert으로 출력 할 크롭된 파일의 경로나 접근 URL 반환
    // 여기선 파일 경로, 실제 서비스라면 URL
    return croppedFile.getAbsolutePath();
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>프레임워크/Spring (스프링)</category>
      <category>crop</category>
      <category>image crop</category>
      <category>Java와 jQuery로 만드는 이미지 크롭(자르기) 기능 구현 + 예제</category>
      <category>MultipartFile</category>
      <category>SpringBoot</category>
      <category>스프링부트</category>
      <category>이미지 자르기</category>
      <category>임시 파일</category>
      <category>자바</category>
      <category>파일 저장</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/216</guid>
      <comments>https://save-idea.tistory.com/216#entry216comment</comments>
      <pubDate>Wed, 24 Sep 2025 19:30:02 +0900</pubDate>
    </item>
    <item>
      <title>인텔리J(IntelliJ)_콘솔내용 검색하는 방법(Find 설정)</title>
      <link>https://save-idea.tistory.com/227</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;인텔리제이 콘솔에서 내용을 찾고싶을때 Find 기능을 적용하면 쉽게 검색할 수 있다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 콘솔 Find 적용 (단축키 추가)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. 인텔리J 실행 후「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;파일(File)&lt;/b&gt;&lt;/span&gt;」&amp;rArr;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;설정(Settings)&lt;/b&gt;&lt;/span&gt;」클릭 (Mac의 경우는 Preferences클릭)&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 44px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Windows 기준&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Settings 단축키&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Ctrl&lt;/b&gt;&lt;/span&gt;」 + 「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Alt&lt;/b&gt;&lt;/span&gt;」 + 「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;S&lt;/b&gt;&lt;/span&gt;」&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 22px;&quot;&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Mac 기준&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Preferences 단축키&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 22px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Command&lt;/b&gt;&lt;/span&gt;」 + 「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;, &lt;/b&gt;&lt;/span&gt;(콤마)」&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;con2.jpg&quot; data-origin-width=&quot;283&quot; data-origin-height=&quot;561&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNoYL5/btsQJduBcPr/K603sjvNgVRSxkBQIwjYOk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNoYL5/btsQJduBcPr/K603sjvNgVRSxkBQIwjYOk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNoYL5/btsQJduBcPr/K603sjvNgVRSxkBQIwjYOk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNoYL5%2FbtsQJduBcPr%2FK603sjvNgVRSxkBQIwjYOk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;283&quot; height=&quot;561&quot; data-filename=&quot;con2.jpg&quot; data-origin-width=&quot;283&quot; data-origin-height=&quot;561&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;2.「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;키맵(Keymap)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;메인 메뉴(Main Menu)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;편집(Edit)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;찾기(Find)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;찾기...(Find...)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt; 마우스 우클릭 또는 더블클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;con3.jpg&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;732&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/diOAGv/btsQK3q0z92/0XenvX6mY1A5gCKTF6JiG1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/diOAGv/btsQK3q0z92/0XenvX6mY1A5gCKTF6JiG1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/diOAGv/btsQK3q0z92/0XenvX6mY1A5gCKTF6JiG1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdiOAGv%2FbtsQK3q0z92%2F0XenvX6mY1A5gCKTF6JiG1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;985&quot; height=&quot;732&quot; data-filename=&quot;con3.jpg&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;732&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;3.「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;키보드 단축키 추가(Add Keyboard Shortcut)&lt;/b&gt;&lt;/span&gt;」클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;concon.jpg&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ef2nI0/btsQKUueZCL/fgKWsjLltUU1klfR7Rt0U0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ef2nI0/btsQKUueZCL/fgKWsjLltUU1klfR7Rt0U0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ef2nI0/btsQKUueZCL/fgKWsjLltUU1klfR7Rt0U0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fef2nI0%2FbtsQKUueZCL%2FfgKWsjLltUU1klfR7Rt0U0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;985&quot; height=&quot;733&quot; data-filename=&quot;concon.jpg&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;733&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;4. &lt;span style=&quot;color: #006dd7;&quot;&gt;키보드 단축키(Add Keyboard Shortcut) 입력&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;확인(OK)&lt;/b&gt;&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;con4.jpg&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ecsuEh/btsQJAQPvel/uHWNllm9pRHiGT9sWKCaGk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ecsuEh/btsQJAQPvel/uHWNllm9pRHiGT9sWKCaGk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ecsuEh/btsQJAQPvel/uHWNllm9pRHiGT9sWKCaGk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FecsuEh%2FbtsQJAQPvel%2FuHWNllm9pRHiGT9sWKCaGk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;986&quot; height=&quot;733&quot; data-filename=&quot;con4.jpg&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;733&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;5. 지정한 단축키 확인 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;확인(OK)&lt;/b&gt;&lt;/span&gt;」 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;con5.jpg&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;732&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YQUCQ/btsQJx7zyeR/xk6cGx78sOhHyngmVyV29K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YQUCQ/btsQJx7zyeR/xk6cGx78sOhHyngmVyV29K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YQUCQ/btsQJx7zyeR/xk6cGx78sOhHyngmVyV29K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYQUCQ%2FbtsQJx7zyeR%2Fxk6cGx78sOhHyngmVyV29K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;984&quot; height=&quot;732&quot; data-filename=&quot;con5.jpg&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;732&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;콘솔에서 Find 실행&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;설정에서 지정한 찾기 단축키(위 예제는 Alt + F) 를 누르면 콘솔에서 Find 기능이 실행된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;con1.jpg&quot; data-origin-width=&quot;1919&quot; data-origin-height=&quot;373&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yDfW4/btsQIV8KKr0/wsxWzArCtznCbXuzd1uvN0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yDfW4/btsQIV8KKr0/wsxWzArCtznCbXuzd1uvN0/img.jpg&quot; data-alt=&quot;Find 실행 전&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yDfW4/btsQIV8KKr0/wsxWzArCtznCbXuzd1uvN0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyDfW4%2FbtsQIV8KKr0%2FwsxWzArCtznCbXuzd1uvN0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1919&quot; height=&quot;373&quot; data-filename=&quot;con1.jpg&quot; data-origin-width=&quot;1919&quot; data-origin-height=&quot;373&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Find 실행 전&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;con6.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;371&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWSulQ/btsQKHopF1s/VxVl5vsokPvDESPcdEnyX1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWSulQ/btsQKHopF1s/VxVl5vsokPvDESPcdEnyX1/img.jpg&quot; data-alt=&quot;Find 실행 후&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWSulQ/btsQKHopF1s/VxVl5vsokPvDESPcdEnyX1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWSulQ%2FbtsQKHopF1s%2FVxVl5vsokPvDESPcdEnyX1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;371&quot; data-filename=&quot;con6.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;371&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Find 실행 후&lt;/figcaption&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 지정한 &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;콘솔 Find 단축키 제거&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;1.「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;키맵(Keymap)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;메인 메뉴(Main Menu)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;편집(Edit)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;찾기(Find)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;&lt;/span&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;찾기...(Find...)&lt;/b&gt;&lt;/span&gt;」&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;rArr;　&lt;/span&gt;마우스 우클릭 또는 더블클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;2.「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;{지정한 단축키} 제거(Remove {지정한 단축키})&lt;/b&gt;&lt;/span&gt;」클릭 또는「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;단축키 재설정(Reset Shortcuts)&lt;/b&gt;&lt;/span&gt;」클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;con7.jpg&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;733&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJGvz4/btsQJw1V8Z4/CcGfreUrTRkkokXKiuJWw1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJGvz4/btsQJw1V8Z4/CcGfreUrTRkkokXKiuJWw1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJGvz4/btsQJw1V8Z4/CcGfreUrTRkkokXKiuJWw1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJGvz4%2FbtsQJw1V8Z4%2FCcGfreUrTRkkokXKiuJWw1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;986&quot; height=&quot;733&quot; data-filename=&quot;con7.jpg&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;733&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>통합개발환경 (IDE)/IntelliJ IDEA (인텔리J)</category>
      <category>console</category>
      <category>Ctrl F</category>
      <category>find</category>
      <category>IntelliJ</category>
      <category>Log</category>
      <category>search</category>
      <category>검색</category>
      <category>인텔리J</category>
      <category>찾기</category>
      <category>콘솔</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/227</guid>
      <comments>https://save-idea.tistory.com/227#entry227comment</comments>
      <pubDate>Mon, 22 Sep 2025 20:56:15 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 인기 순위 (2025-09)</title>
      <link>https://save-idea.tistory.com/226</link>
      <description>&lt;div style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2025년 09월 헤드라인 -&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Perl이&amp;nbsp;다시&amp;nbsp;상위&amp;nbsp;10위권에&amp;nbsp;진입&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ~ 20위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;1364&quot; data-origin-height=&quot;1103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H6vku/btsQCj3boHT/gxdpnbyEQZKbF8fnG6Kjf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H6vku/btsQCj3boHT/gxdpnbyEQZKbF8fnG6Kjf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H6vku/btsQCj3boHT/gxdpnbyEQZKbF8fnG6Kjf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH6vku%2FbtsQCj3boHT%2FgxdpnbyEQZKbF8fnG6Kjf0%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;1364&quot; height=&quot;1103&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;1364&quot; data-origin-height=&quot;1103&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;21 ~ 50위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;21.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VhMpA/btsQEJsyFDi/RuromIjygmmKOlSmlewWhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VhMpA/btsQEJsyFDi/RuromIjygmmKOlSmlewWhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VhMpA/btsQEJsyFDi/RuromIjygmmKOlSmlewWhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVhMpA%2FbtsQEJsyFDi%2FRuromIjygmmKOlSmlewWhK%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;1368&quot; height=&quot;1124&quot; data-filename=&quot;21.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1124&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;blockquote style=&quot;color: #555555;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;TIOBE Index for September 2025&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;TIOBE Index for September 2025&quot; href=&quot;https://www.tiobe.com/tiobe-index/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.tiobe.com/tiobe-index/&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;</description>
      <category>IT 기타/프로그래밍 언어 순위</category>
      <category>Ai</category>
      <category>C</category>
      <category>c++</category>
      <category>java</category>
      <category>JavaScript</category>
      <category>PERL</category>
      <category>Python</category>
      <category>TIOBE</category>
      <category>visual basic</category>
      <category>프로그래밍 언어 순위</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/226</guid>
      <comments>https://save-idea.tistory.com/226#entry226comment</comments>
      <pubDate>Wed, 17 Sep 2025 23:35:44 +0900</pubDate>
    </item>
    <item>
      <title>유튜브 영상 삽입 시 &amp;quot;www.youtube.com에서 연결을 거부했습니다.&amp;quot; 해결방법</title>
      <link>https://save-idea.tistory.com/222</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;웹페이지에 유튜브 영상을 넣으려고 했는데,&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;www.youtube.com에서 연결을&amp;nbsp;거부했습니다.&lt;/span&gt;&lt;/b&gt;&amp;nbsp;라는&amp;nbsp;에러가&amp;nbsp;발생했다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;유튜브 연결거부.jpg&quot; data-origin-width=&quot;402&quot; data-origin-height=&quot;189&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dl7pZV/btsPVffSaIT/j9z1DoIhKQvbQyWrDG1bM0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dl7pZV/btsPVffSaIT/j9z1DoIhKQvbQyWrDG1bM0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dl7pZV/btsPVffSaIT/j9z1DoIhKQvbQyWrDG1bM0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdl7pZV%2FbtsPVffSaIT%2Fj9z1DoIhKQvbQyWrDG1bM0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;470&quot; height=&quot;189&quot; data-filename=&quot;유튜브 연결거부.jpg&quot; data-origin-width=&quot;402&quot; data-origin-height=&quot;189&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 에러 원인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이 에러는 보통 유튜브에서 허용하지 않는 방식으로 영상을 불러올 때 발생하는데,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;특히 유튜브 주소를 iframe에 붙여 넣으면 연결 거부 에러가 발생할 수 있다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;영상 주소는 /watch?v=... 형태가 아니라 /embed/영상ID 형태여야 한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;반드시 유튜브에서 제공하는 &quot;퍼가기(embed)&quot; 코드를 사용해야 안전하게 삽입할 수 있다.&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1.&amp;nbsp;유튜브 영상 하단의 &quot;공유&quot; 버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;95&quot; data-origin-height=&quot;57&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XP0X1/btsQmGiAbZn/2kT1ZJwtucsQRCogQgqhCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XP0X1/btsQmGiAbZn/2kT1ZJwtucsQRCogQgqhCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XP0X1/btsQmGiAbZn/2kT1ZJwtucsQRCogQgqhCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXP0X1%2FbtsQmGiAbZn%2F2kT1ZJwtucsQRCogQgqhCK%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;95&quot; height=&quot;57&quot; data-origin-width=&quot;95&quot; data-origin-height=&quot;57&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. &quot;퍼가기&quot; 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;474&quot; data-origin-height=&quot;250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QHisO/btsQlaSwaYE/izFPJvjULHtZv8QeZFJ2lK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QHisO/btsQlaSwaYE/izFPJvjULHtZv8QeZFJ2lK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QHisO/btsQlaSwaYE/izFPJvjULHtZv8QeZFJ2lK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQHisO%2FbtsQlaSwaYE%2FizFPJvjULHtZv8QeZFJ2lK%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;470&quot; height=&quot;250&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;474&quot; data-origin-height=&quot;250&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. &amp;lt;iframe&amp;gt; 태그안의 영상 주소를 사용해 영상 삽입&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;481&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lhVU6/btsQl1HwiYK/G05N2zT4scnKKFXC0wH401/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lhVU6/btsQl1HwiYK/G05N2zT4scnKKFXC0wH401/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lhVU6/btsQl1HwiYK/G05N2zT4scnKKFXC0wH401/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlhVU6%2FbtsQl1HwiYK%2FG05N2zT4scnKKFXC0wH401%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;470&quot; height=&quot;481&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;481&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/IT 일반</category>
      <category>/watch?</category>
      <category>embed</category>
      <category>www.youtube.com에서 연결을 거부했습니다.</category>
      <category>YouTube</category>
      <category>웹페이지에 유튜브 영상 삽입</category>
      <category>유튜브</category>
      <category>유튜브 영상 공유</category>
      <category>유튜브 영상 퍼가기</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/222</guid>
      <comments>https://save-idea.tistory.com/222#entry222comment</comments>
      <pubDate>Thu, 4 Sep 2025 23:03:06 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 인기 순위 (2025-08)</title>
      <link>https://save-idea.tistory.com/225</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2025년 08월 헤드라인 -&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;AI 코드 어시스턴트가 Python을 더욱 발전시킨다.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ~ 20위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;1367&quot; data-origin-height=&quot;1102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uo7zT/btsP4XFlZG9/z7VIBFF8EKCCzb7810bRQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uo7zT/btsP4XFlZG9/z7VIBFF8EKCCzb7810bRQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uo7zT/btsP4XFlZG9/z7VIBFF8EKCCzb7810bRQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fuo7zT%2FbtsP4XFlZG9%2Fz7VIBFF8EKCCzb7810bRQk%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;1367&quot; height=&quot;1102&quot; data-filename=&quot;1.png&quot; data-origin-width=&quot;1367&quot; data-origin-height=&quot;1102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;21 ~ 50위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;21.png&quot; data-origin-width=&quot;1365&quot; data-origin-height=&quot;1122&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXciZj/btsP4V1T8wB/LI2rot5ttq3yJ1sKxyeyrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXciZj/btsP4V1T8wB/LI2rot5ttq3yJ1sKxyeyrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXciZj/btsP4V1T8wB/LI2rot5ttq3yJ1sKxyeyrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXciZj%2FbtsP4V1T8wB%2FLI2rot5ttq3yJ1sKxyeyrk%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;1365&quot; height=&quot;1122&quot; data-filename=&quot;21.png&quot; data-origin-width=&quot;1365&quot; data-origin-height=&quot;1122&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;TIOBE Index for August 2025&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;TIOBE Index for August 2025&quot; href=&quot;https://www.tiobe.com/tiobe-index/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.tiobe.com/tiobe-index/&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/프로그래밍 언어 순위</category>
      <category>Ai</category>
      <category>C</category>
      <category>C#</category>
      <category>c++</category>
      <category>java</category>
      <category>JavaScript</category>
      <category>Python</category>
      <category>TIOBE</category>
      <category>visual basic</category>
      <category>프로그래밍 언어 순위</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/225</guid>
      <comments>https://save-idea.tistory.com/225#entry225comment</comments>
      <pubDate>Sun, 24 Aug 2025 20:53:40 +0900</pubDate>
    </item>
    <item>
      <title>윈도우10 (Windows10) 설치 방법</title>
      <link>https://save-idea.tistory.com/221</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;1. &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#nav1&quot;&gt;사전 작업&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;2. &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#nav2&quot;&gt;Windows 설치&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt; &lt;span style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;3.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Nanum Gothic';&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#nav3&quot;&gt;Windows 설정&lt;/a&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;nav1&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 사전 작업&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;먼저 윈도우10 설치 USB가 없다면 아래 링크를 따라 설치 USB부터 만들도록 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[운영체제/Windows] - 윈도우10 (Windows10) 설치 USB 부팅디스크 만들기&quot; href=&quot;https://save-idea.tistory.com/25&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[운영체제/Windows] - 윈도우10 (Windows10) 설치 USB 부팅디스크 만들기&lt;/a&gt;&lt;/u&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;font-family: 'Noto Sans Light';&quot;&gt;윈도우10 설치 USB가 있다면 컴퓨터에 USB를 꽂은 상태로 전원을 킨다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;만약 컴퓨터가 USB를 인식하지 않으면 메인보드의 BIOS로 들어가서 부팅 시 USB가 인식되도록 설정한 뒤 진행한다.&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 id=&quot;nav2&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ Windows 설치&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;▶ [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;지금 설치(I)&lt;/b&gt;&lt;/span&gt;] 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;Windows 정품 인증을 위해 윈도우10 제품 키를 입력한 뒤&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음(N)&lt;/b&gt;&lt;/span&gt;] 버튼 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3e8T4/btsPUEF6BpS/l3jAe6cpB93rbKIck8e7Zk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3e8T4/btsPUEF6BpS/l3jAe6cpB93rbKIck8e7Zk/img.jpg&quot; data-origin-width=&quot;3382&quot; data-origin-height=&quot;2480&quot; data-filename=&quot;20250726_001807.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.9727%; margin-right: 10px;&quot; data-widthpercent=&quot;50.56&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3e8T4/btsPUEF6BpS/l3jAe6cpB93rbKIck8e7Zk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3e8T4%2FbtsPUEF6BpS%2Fl3jAe6cpB93rbKIck8e7Zk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3382&quot; height=&quot;2480&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MnwPv/btsPTPH03tX/xqDZun8kNpWK8PFHCfdUl0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MnwPv/btsPTPH03tX/xqDZun8kNpWK8PFHCfdUl0/img.jpg&quot; data-origin-width=&quot;3299&quot; data-origin-height=&quot;2474&quot; data-filename=&quot;20250726_001826.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.8645%;&quot; data-widthpercent=&quot;49.44&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MnwPv/btsPTPH03tX/xqDZun8kNpWK8PFHCfdUl0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMnwPv%2FbtsPTPH03tX%2FxqDZun8kNpWK8PFHCfdUl0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3299&quot; height=&quot;2474&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt;&amp;nbsp;[&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;동의함(A)&lt;/b&gt;&lt;/span&gt;] 체크 후 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음(N)&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 본인에게 맞는 설치 유형 선택 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/deEqJF/btsPUgZBt0M/u23aUKJf0B9DzkMSnOvrw0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/deEqJF/btsPUgZBt0M/u23aUKJf0B9DzkMSnOvrw0/img.jpg&quot; data-origin-width=&quot;3494&quot; data-origin-height=&quot;2599&quot; data-filename=&quot;20250726_001949.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4354%; margin-right: 10px;&quot; data-widthpercent=&quot;50.02&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/deEqJF/btsPUgZBt0M/u23aUKJf0B9DzkMSnOvrw0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeEqJF%2FbtsPUgZBt0M%2Fu23aUKJf0B9DzkMSnOvrw0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3494&quot; height=&quot;2599&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kD5It/btsPUQsMuNF/zoygfQquauISCCc1vdhGcK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kD5It/btsPUQsMuNF/zoygfQquauISCCc1vdhGcK/img.jpg&quot; data-origin-width=&quot;3364&quot; data-origin-height=&quot;2504&quot; data-filename=&quot;20250726_002000.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4018%;&quot; data-widthpercent=&quot;49.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kD5It/btsPUQsMuNF/zoygfQquauISCCc1vdhGcK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkD5It%2FbtsPUQsMuNF%2FzoygfQquauISCCc1vdhGcK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3364&quot; height=&quot;2504&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;※ Windows를 설치할 위치를 지정해야 하는데 본 예제에서는 파티션을 C:, D:드라이브로 나누고 C:드라이브에 Windows를 설치할 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;span&gt; &lt;/span&gt;&lt;/span&gt;[&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;드라이브 0 할당되지 않은 공간&lt;/b&gt;&lt;/span&gt;] 선택&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;새로 만들기(E)&lt;/b&gt;&lt;/span&gt;] 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bb5Y91/btsPSt0eEdr/HLIG7j9meJWdRtMGUKUkY0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bb5Y91/btsPSt0eEdr/HLIG7j9meJWdRtMGUKUkY0/img.jpg&quot; data-origin-width=&quot;3519&quot; data-origin-height=&quot;2603&quot; data-filename=&quot;20250726_002027.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.7169%; margin-right: 10px;&quot; data-widthpercent=&quot;50.3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bb5Y91/btsPSt0eEdr/HLIG7j9meJWdRtMGUKUkY0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbb5Y91%2FbtsPSt0eEdr%2FHLIG7j9meJWdRtMGUKUkY0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3519&quot; height=&quot;2603&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sVXg8/btsPVEyz4SE/PBzMNgm6jHQp237nsWFebK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sVXg8/btsPVEyz4SE/PBzMNgm6jHQp237nsWFebK/img.jpg&quot; data-origin-width=&quot;3414&quot; data-origin-height=&quot;2556&quot; data-filename=&quot;20250726_002039.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.1203%;&quot; data-widthpercent=&quot;49.7&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sVXg8/btsPVEyz4SE/PBzMNgm6jHQp237nsWFebK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsVXg8%2FbtsPVEyz4SE%2FPBzMNgm6jHQp237nsWFebK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3414&quot; height=&quot;2556&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 새로 만들 드라이브의 크기(용량) 을 입력하고 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;적용(P)&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;확인]&lt;/b&gt;&lt;/span&gt; 버튼 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mmnPK/btsPUdaJ7ly/FHwEiEaTPbKGyszhFyygSK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mmnPK/btsPUdaJ7ly/FHwEiEaTPbKGyszhFyygSK/img.jpg&quot; data-origin-width=&quot;3611&quot; data-origin-height=&quot;2708&quot; data-filename=&quot;20250726_002141.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.5696%; margin-right: 10px;&quot; data-widthpercent=&quot;50.15&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mmnPK/btsPUdaJ7ly/FHwEiEaTPbKGyszhFyygSK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmmnPK%2FbtsPUdaJ7ly%2FFHwEiEaTPbKGyszhFyygSK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3611&quot; height=&quot;2708&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H7OJe/btsPSm7T446/twt6rkpuqeYbdxigY0sVrk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H7OJe/btsPSm7T446/twt6rkpuqeYbdxigY0sVrk/img.jpg&quot; data-origin-width=&quot;3369&quot; data-origin-height=&quot;2542&quot; data-filename=&quot;20250726_002150.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.2676%;&quot; data-widthpercent=&quot;49.85&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H7OJe/btsPSm7T446/twt6rkpuqeYbdxigY0sVrk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH7OJe%2FbtsPSm7T446%2Ftwt6rkpuqeYbdxigY0sVrk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3369&quot; height=&quot;2542&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; C:드라이브로 사용할 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;드라이브 0&amp;nbsp; 파티션 3&lt;/b&gt;&lt;/span&gt;] 이 생성됐다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 첫 드라이브 생성시 시스템, MSR(예약) 드라이브는 자동으로 같이 생성된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; D드라이브로 파티션을 나눠 쓰기 위해 한번 더 드라이브를 생성하는 과정을 거친다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;드라이브 0 할당되지 않은 공간&lt;/b&gt;&lt;/span&gt;] 선택 후 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;새로 만들기(E)&lt;/b&gt;&lt;/span&gt;] 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d52670/btsPTC9033A/zQK8itjdMY5xKFukJQdKYk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d52670/btsPTC9033A/zQK8itjdMY5xKFukJQdKYk/img.jpg&quot; data-origin-width=&quot;3640&quot; data-origin-height=&quot;2730&quot; data-filename=&quot;20250726_002205.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.1401%; margin-right: 10px;&quot; data-widthpercent=&quot;49.72&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d52670/btsPTC9033A/zQK8itjdMY5xKFukJQdKYk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd52670%2FbtsPTC9033A%2FzQK8itjdMY5xKFukJQdKYk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3640&quot; height=&quot;2730&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHvwWM/btsPVC1QEbh/BQ3caZqKasTXF22hxU7ot1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHvwWM/btsPVC1QEbh/BQ3caZqKasTXF22hxU7ot1/img.jpg&quot; data-origin-width=&quot;3777&quot; data-origin-height=&quot;2801&quot; data-filename=&quot;20250726_002217.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6971%;&quot; data-widthpercent=&quot;50.28&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHvwWM/btsPVC1QEbh/BQ3caZqKasTXF22hxU7ot1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHvwWM%2FbtsPVC1QEbh%2FBQ3caZqKasTXF22hxU7ot1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3777&quot; height=&quot;2801&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 새로 만들 드라이브의 크기(용량) 을 입력하고 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;적용(P)&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; D:드라이브로 사용할 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;드라이브 0&amp;nbsp; 파티션 4&lt;/b&gt;&lt;/span&gt;] 가 생성됐다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXoExd/btsPVHviPRB/T7M7a3bDUzY4wsnA1ybPVK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXoExd/btsPVHviPRB/T7M7a3bDUzY4wsnA1ybPVK/img.jpg&quot; data-origin-width=&quot;3572&quot; data-origin-height=&quot;2645&quot; data-filename=&quot;20250726_002233.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6662%; margin-right: 10px;&quot; data-widthpercent=&quot;50.25&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXoExd/btsPVHviPRB/T7M7a3bDUzY4wsnA1ybPVK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXoExd%2FbtsPVHviPRB%2FT7M7a3bDUzY4wsnA1ybPVK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3572&quot; height=&quot;2645&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nhGYF/btsPTFMkFkZ/eOT0Zadzj2SKxP6pZygUFK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nhGYF/btsPTFMkFkZ/eOT0Zadzj2SKxP6pZygUFK/img.jpg&quot; data-origin-width=&quot;3519&quot; data-origin-height=&quot;2632&quot; data-filename=&quot;20250726_002250.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.171%;&quot; data-widthpercent=&quot;49.75&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nhGYF/btsPTFMkFkZ/eOT0Zadzj2SKxP6pZygUFK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnhGYF%2FbtsPTFMkFkZ%2FeOT0Zadzj2SKxP6pZygUFK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3519&quot; height=&quot;2632&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;※ 생성한 C:, D:드라이브를 포멧한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;드라이브 0&amp;nbsp; 파티션 3&lt;/b&gt;&lt;/span&gt;] 선택 후 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;포멧(F)&lt;/b&gt;&lt;/span&gt;] 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;[&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;확인&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqi8Io/btsPSTRROze/9J5jukyMTcKxF2kJfYYetK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqi8Io/btsPSTRROze/9J5jukyMTcKxF2kJfYYetK/img.jpg&quot; data-origin-width=&quot;3503&quot; data-origin-height=&quot;2623&quot; data-filename=&quot;20250726_002303.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.1202%; margin-right: 10px;&quot; data-widthpercent=&quot;49.7&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqi8Io/btsPSTRROze/9J5jukyMTcKxF2kJfYYetK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbqi8Io%2FbtsPSTRROze%2F9J5jukyMTcKxF2kJfYYetK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3503&quot; height=&quot;2623&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnpdBo/btsPTBpFolx/VdOpakoJYkRKaSCmaBmP1k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnpdBo/btsPTBpFolx/VdOpakoJYkRKaSCmaBmP1k/img.jpg&quot; data-origin-width=&quot;3455&quot; data-origin-height=&quot;2556&quot; data-filename=&quot;20250726_002312.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.717%;&quot; data-widthpercent=&quot;50.3&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnpdBo/btsPTBpFolx/VdOpakoJYkRKaSCmaBmP1k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdnpdBo%2FbtsPTBpFolx%2FVdOpakoJYkRKaSCmaBmP1k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3455&quot; height=&quot;2556&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;드라이브 0&amp;nbsp; 파티션 4&lt;/b&gt;&lt;/span&gt;] 선택 후 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;포멧(F)&lt;/b&gt;&lt;/span&gt;] 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;[&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;확인&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fhbyv/btsPUa6agrJ/EN6u0GhPZS9DLe7HGs7YQk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fhbyv/btsPUa6agrJ/EN6u0GhPZS9DLe7HGs7YQk/img.jpg&quot; data-origin-width=&quot;3516&quot; data-origin-height=&quot;2628&quot; data-filename=&quot;20250726_002323.jpg&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;49.94&quot; style=&quot;width: 49.3601%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fhbyv/btsPUa6agrJ/EN6u0GhPZS9DLe7HGs7YQk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFhbyv%2FbtsPUa6agrJ%2FEN6u0GhPZS9DLe7HGs7YQk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3516&quot; height=&quot;2628&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bC35RH/btsPUiC81Cx/oTTGhacJptJumrc3uaTs0K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bC35RH/btsPUiC81Cx/oTTGhacJptJumrc3uaTs0K/img.jpg&quot; data-origin-width=&quot;3409&quot; data-origin-height=&quot;2542&quot; data-filename=&quot;20250726_002331.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4771%;&quot; data-widthpercent=&quot;50.06&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bC35RH/btsPUiC81Cx/oTTGhacJptJumrc3uaTs0K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbC35RH%2FbtsPUiC81Cx%2FoTTGhacJptJumrc3uaTs0K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3409&quot; height=&quot;2542&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;포멧이 완료 됐으면, C:드라이브로 사용할 파티션을 선택한 뒤&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음(N)&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶ Windows 설치가 완료되면 자동으로 재부팅 된 뒤 Windows 설정화면으로 넘어간다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCrTT5/btsPVZQf8Mt/kjq7guNKG2uk2A5cskJK41/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCrTT5/btsPVZQf8Mt/kjq7guNKG2uk2A5cskJK41/img.jpg&quot; data-origin-width=&quot;3240&quot; data-origin-height=&quot;2439&quot; data-filename=&quot;20250726_002345.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.1553%; margin-right: 10px;&quot; data-widthpercent=&quot;49.73&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCrTT5/btsPVZQf8Mt/kjq7guNKG2uk2A5cskJK41/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCrTT5%2FbtsPVZQf8Mt%2Fkjq7guNKG2uk2A5cskJK41%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3240&quot; height=&quot;2439&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brGG7s/btsPTOW4h6G/bxzh0kQngiU8Pcl6u6Jm6k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brGG7s/btsPTOW4h6G/bxzh0kQngiU8Pcl6u6Jm6k/img.jpg&quot; data-origin-width=&quot;3460&quot; data-origin-height=&quot;2577&quot; data-filename=&quot;20250726_002355.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6819%;&quot; data-widthpercent=&quot;50.27&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brGG7s/btsPTOW4h6G/bxzh0kQngiU8Pcl6u6Jm6k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrGG7s%2FbtsPTOW4h6G%2Fbxzh0kQngiU8Pcl6u6Jm6k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3460&quot; height=&quot;2577&quot;/&gt;&lt;/span&gt;&lt;/div&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;p id=&quot;nav3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ Windows 설정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;지역 선택 후 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;예&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sbT8g/btsPVcCkpEQ/68BybuuCFWpd4KknomuOAK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sbT8g/btsPVcCkpEQ/68BybuuCFWpd4KknomuOAK/img.jpg&quot; data-origin-width=&quot;2313&quot; data-origin-height=&quot;1834&quot; data-filename=&quot;20250726_002657.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.2133%; margin-right: 10px;&quot; data-widthpercent=&quot;47.77&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sbT8g/btsPVcCkpEQ/68BybuuCFWpd4KknomuOAK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsbT8g%2FbtsPVcCkpEQ%2F68BybuuCFWpd4KknomuOAK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2313&quot; height=&quot;1834&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bX0t82/btsPUOBIKxq/KXg8BYuKAQT040NuXD3VFk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bX0t82/btsPUOBIKxq/KXg8BYuKAQT040NuXD3VFk/img.jpg&quot; data-origin-width=&quot;3453&quot; data-origin-height=&quot;2504&quot; data-filename=&quot;20250726_002708.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.6239%;&quot; data-widthpercent=&quot;52.23&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bX0t82/btsPUOBIKxq/KXg8BYuKAQT040NuXD3VFk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbX0t82%2FbtsPUOBIKxq%2FKXg8BYuKAQT040NuXD3VFk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3453&quot; height=&quot;2504&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;자판 배열 선택 후 [&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;예&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 두 번째 키보드 레이아웃을 추가 할 경우는 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;레이아웃 추가&lt;/b&gt;&lt;/span&gt;] 버튼 클릭 추가하지 않는 경우는 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;건너뛰기&lt;/b&gt;&lt;/span&gt;] 버튼 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbQ8hS/btsPUXZJVuk/cXk9sDOo56d6cS45hFgCPk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbQ8hS/btsPUXZJVuk/cXk9sDOo56d6cS45hFgCPk/img.jpg&quot; data-origin-width=&quot;3505&quot; data-origin-height=&quot;2569&quot; data-filename=&quot;20250726_002720.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.3686%; margin-right: 10px;&quot; data-widthpercent=&quot;49.95&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbQ8hS/btsPUXZJVuk/cXk9sDOo56d6cS45hFgCPk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbQ8hS%2FbtsPUXZJVuk%2FcXk9sDOo56d6cS45hFgCPk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3505&quot; height=&quot;2569&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beUe6B/btsPTPVwkSF/3AjJd3QBIaXPVtzVOZguAK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beUe6B/btsPTPVwkSF/3AjJd3QBIaXPVtzVOZguAK/img.jpg&quot; data-origin-width=&quot;3616&quot; data-origin-height=&quot;2645&quot; data-filename=&quot;20250726_002732.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4686%;&quot; data-widthpercent=&quot;50.05&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beUe6B/btsPTPVwkSF/3AjJd3QBIaXPVtzVOZguAK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeUe6B%2FbtsPTPVwkSF%2F3AjJd3QBIaXPVtzVOZguAK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3616&quot; height=&quot;2645&quot;/&gt;&lt;/span&gt;&lt;/div&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;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mjTrv/btsPTbrfsO6/V5xdnFQw6umhModlrn0Aj0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mjTrv/btsPTbrfsO6/V5xdnFQw6umhModlrn0Aj0/img.jpg&quot; data-origin-width=&quot;3426&quot; data-origin-height=&quot;2503&quot; data-filename=&quot;20250726_002739.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6398%; margin-right: 10px;&quot; data-widthpercent=&quot;50.22&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mjTrv/btsPTbrfsO6/V5xdnFQw6umhModlrn0Aj0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmjTrv%2FbtsPTbrfsO6%2FV5xdnFQw6umhModlrn0Aj0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3426&quot; height=&quot;2503&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dEgR6h/btsPUElNehS/1T5ffLqJwykjouOrkKxqK0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dEgR6h/btsPUElNehS/1T5ffLqJwykjouOrkKxqK0/img.jpg&quot; data-origin-width=&quot;3485&quot; data-origin-height=&quot;2569&quot; data-filename=&quot;20250726_002811.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.1974%;&quot; data-widthpercent=&quot;49.78&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dEgR6h/btsPUElNehS/1T5ffLqJwykjouOrkKxqK0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdEgR6h%2FbtsPUElNehS%2F1T5ffLqJwykjouOrkKxqK0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3485&quot; height=&quot;2569&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; M&lt;span style=&quot;color: #333333;&quot;&gt;icrosoft 계정(온라인 계정)으로 로그인 할 경우는 계정 입력 후&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #333333;&quot;&gt;메일 주소는 .com 형식으로 끝나야 한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;Microsoft에 로그인 하지 않고(오프라인 계정) 사용 할 경우는 왼쪽 하단의&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;대신 도메인 가입&lt;/b&gt;&lt;/span&gt;] 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yBvRb/btsPVcCkqBp/8lMUR1HakycEj7Pix2yckK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yBvRb/btsPVcCkqBp/8lMUR1HakycEj7Pix2yckK/img.jpg&quot; data-origin-width=&quot;3496&quot; data-origin-height=&quot;2581&quot; data-filename=&quot;20250726_002833.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.2094%; margin-right: 10px;&quot; data-widthpercent=&quot;49.79&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yBvRb/btsPVcCkqBp/8lMUR1HakycEj7Pix2yckK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyBvRb%2FbtsPVcCkqBp%2F8lMUR1HakycEj7Pix2yckK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3496&quot; height=&quot;2581&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CUSOz/btsPSmNwGMJ/5hvkfermRXf6Kq39YRDOw0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CUSOz/btsPSmNwGMJ/5hvkfermRXf6Kq39YRDOw0/img.jpg&quot; data-origin-width=&quot;3523&quot; data-origin-height=&quot;2579&quot; data-filename=&quot;20250726_003917.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.6279%;&quot; data-widthpercent=&quot;50.21&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CUSOz/btsPSmNwGMJ/5hvkfermRXf6Kq39YRDOw0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCUSOz%2FbtsPSmNwGMJ%2F5hvkfermRXf6Kq39YRDOw0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3523&quot; height=&quot;2579&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;PC 사용자 이름 지정 후&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 비밀번호 입력 후 [&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;다음&lt;/span&gt;&lt;/b&gt;] 버튼 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/neQVo/btsPUhK0wnm/jsB9zFUo1JVpc41ukCkElK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/neQVo/btsPUhK0wnm/jsB9zFUo1JVpc41ukCkElK/img.jpg&quot; data-origin-width=&quot;3333&quot; data-origin-height=&quot;2426&quot; data-filename=&quot;20250726_003926.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4102%; margin-right: 10px;&quot; data-widthpercent=&quot;49.99&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/neQVo/btsPUhK0wnm/jsB9zFUo1JVpc41ukCkElK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FneQVo%2FbtsPUhK0wnm%2FjsB9zFUo1JVpc41ukCkElK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3333&quot; height=&quot;2426&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VHyNn/btsPVkG7aGA/XAg3xftfLc7CxlLnHM5yL1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VHyNn/btsPVkG7aGA/XAg3xftfLc7CxlLnHM5yL1/img.jpg&quot; data-origin-width=&quot;3620&quot; data-origin-height=&quot;2634&quot; data-filename=&quot;20250726_003947.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.427%;&quot; data-widthpercent=&quot;50.01&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VHyNn/btsPVkG7aGA/XAg3xftfLc7CxlLnHM5yL1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVHyNn%2FbtsPVkG7aGA%2FXAg3xftfLc7CxlLnHM5yL1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3620&quot; height=&quot;2634&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;확인 차 비밀번호 재입력 후&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 비밀번호를 잊어버릴 경우를 대비해 3가지 보안 질문을 선택해야 한다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7sQ2g/btsPTXfd0aw/DS5waizlowlhD59NA5qjIk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7sQ2g/btsPTXfd0aw/DS5waizlowlhD59NA5qjIk/img.jpg&quot; data-origin-width=&quot;3718&quot; data-origin-height=&quot;2720&quot; data-filename=&quot;20250726_004003.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.9773%; margin-right: 10px;&quot; data-widthpercent=&quot;49.55&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7sQ2g/btsPTXfd0aw/DS5waizlowlhD59NA5qjIk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7sQ2g%2FbtsPTXfd0aw%2FDS5waizlowlhD59NA5qjIk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3718&quot; height=&quot;2720&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VmEpD/btsPSZ5OL2d/tsuNkkqGk7NVbckXk5767K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VmEpD/btsPSZ5OL2d/tsuNkkqGk7NVbckXk5767K/img.jpg&quot; data-origin-width=&quot;3753&quot; data-origin-height=&quot;2697&quot; data-filename=&quot;20250726_004020.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.8599%;&quot; data-widthpercent=&quot;50.45&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VmEpD/btsPSZ5OL2d/tsuNkkqGk7NVbckXk5767K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVmEpD%2FbtsPSZ5OL2d%2FtsuNkkqGk7NVbckXk5767K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3753&quot; height=&quot;2697&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;첫번째 보안 질문 선택 후 [&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 첫번째 보안 질문 선택에 대한 답변 입력 후 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] 버튼 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clOjBT/btsPUb43FMy/uyFnY8i202sgKPaeWaszH0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clOjBT/btsPUb43FMy/uyFnY8i202sgKPaeWaszH0/img.jpg&quot; data-origin-width=&quot;3521&quot; data-origin-height=&quot;2589&quot; data-filename=&quot;20250726_004050.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.9038%; margin-right: 10px;&quot; data-widthpercent=&quot;49.48&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clOjBT/btsPUb43FMy/uyFnY8i202sgKPaeWaszH0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclOjBT%2FbtsPUb43FMy%2FuyFnY8i202sgKPaeWaszH0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3521&quot; height=&quot;2589&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/73nVz/btsPVHIRAPW/mjvca0NpiDJWhQpckuy41k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/73nVz/btsPVHIRAPW/mjvca0NpiDJWhQpckuy41k/img.jpg&quot; data-origin-width=&quot;3709&quot; data-origin-height=&quot;2671&quot; data-filename=&quot;20250726_004111.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.9334%;&quot; data-widthpercent=&quot;50.52&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/73nVz/btsPVHIRAPW/mjvca0NpiDJWhQpckuy41k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F73nVz%2FbtsPVHIRAPW%2Fmjvca0NpiDJWhQpckuy41k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3709&quot; height=&quot;2671&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;두번째 보안 질문 선택 후&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GhBtb/btsPVhjkd9B/9ShlDamAfGsyn1nhR7khmK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GhBtb/btsPVhjkd9B/9ShlDamAfGsyn1nhR7khmK/img.jpg&quot; data-origin-width=&quot;3648&quot; data-origin-height=&quot;2675&quot; data-filename=&quot;20250726_004126.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.0322%; margin-right: 10px;&quot; data-widthpercent=&quot;49.61&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GhBtb/btsPVhjkd9B/9ShlDamAfGsyn1nhR7khmK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGhBtb%2FbtsPVhjkd9B%2F9ShlDamAfGsyn1nhR7khmK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3648&quot; height=&quot;2675&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zU0Ml/btsPUDtGHC8/qgeyQEBpeVmVatQRHJ0kwk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zU0Ml/btsPUDtGHC8/qgeyQEBpeVmVatQRHJ0kwk/img.jpg&quot; data-origin-width=&quot;3639&quot; data-origin-height=&quot;2627&quot; data-filename=&quot;20250726_004135.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.805%;&quot; data-widthpercent=&quot;50.39&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zU0Ml/btsPUDtGHC8/qgeyQEBpeVmVatQRHJ0kwk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzU0Ml%2FbtsPUDtGHC8%2FqgeyQEBpeVmVatQRHJ0kwk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3639&quot; height=&quot;2627&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;두번째 보안 질문 선택에 대한 답변 입력 후&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 세번째 보안 질문 선택 후 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] 버튼 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HBRFk/btsPTLzggvE/oHdqY01bhL9LwCE9cfyD9k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HBRFk/btsPTLzggvE/oHdqY01bhL9LwCE9cfyD9k/img.jpg&quot; data-origin-width=&quot;3783&quot; data-origin-height=&quot;2726&quot; data-filename=&quot;20250726_004155.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.8365%; margin-right: 10px;&quot; data-widthpercent=&quot;50.42&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HBRFk/btsPTLzggvE/oHdqY01bhL9LwCE9cfyD9k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHBRFk%2FbtsPTLzggvE%2FoHdqY01bhL9LwCE9cfyD9k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3783&quot; height=&quot;2726&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RNxVL/btsPUQTP4wR/HRw75bOsJRNTiXuIEw16Hk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RNxVL/btsPUQTP4wR/HRw75bOsJRNTiXuIEw16Hk/img.jpg&quot; data-origin-width=&quot;3549&quot; data-origin-height=&quot;2601&quot; data-filename=&quot;20250726_004208.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.0007%;&quot; data-widthpercent=&quot;49.58&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RNxVL/btsPUQTP4wR/HRw75bOsJRNTiXuIEw16Hk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRNxVL%2FbtsPUQTP4wR%2FHRw75bOsJRNTiXuIEw16Hk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3549&quot; height=&quot;2601&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;세번째 보안 질문 선택에 대한 답변 입력 후&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;다음&lt;/b&gt;&lt;/span&gt;] &lt;span style=&quot;color: #333333;&quot;&gt;버튼 클릭&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; 사용자 위치 사용 허용 여부 선택 후 [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;수락&lt;/b&gt;&lt;/span&gt;] 버튼 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LosnF/btsPSmz0Z8X/xCTbhkNjkSQpGseovKRnFk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LosnF/btsPSmz0Z8X/xCTbhkNjkSQpGseovKRnFk/img.jpg&quot; data-origin-width=&quot;3607&quot; data-origin-height=&quot;2613&quot; data-filename=&quot;20250726_004223.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.3978%; margin-right: 10px;&quot; data-widthpercent=&quot;49.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LosnF/btsPSmz0Z8X/xCTbhkNjkSQpGseovKRnFk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLosnF%2FbtsPSmz0Z8X%2FxCTbhkNjkSQpGseovKRnFk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3607&quot; height=&quot;2613&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnCCit/btsPUi4aoAl/iCsEaelxodHk1pYtYRMsC1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnCCit/btsPUi4aoAl/iCsEaelxodHk1pYtYRMsC1/img.jpg&quot; data-origin-width=&quot;3418&quot; data-origin-height=&quot;2474&quot; data-filename=&quot;20250726_004255.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.4394%;&quot; data-widthpercent=&quot;50.02&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnCCit/btsPUi4aoAl/iCsEaelxodHk1pYtYRMsC1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdnCCit%2FbtsPUi4aoAl%2FiCsEaelxodHk1pYtYRMsC1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3418&quot; height=&quot;2474&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;내 장치 찾기 여부 선택 후&lt;/span&gt; [&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;수락&lt;/b&gt;&lt;/span&gt;] &lt;span style=&quot;color: #333333;&quot;&gt;버튼 클릭&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Microsoft에 진단 데이터 보내기 여부 선택 후&amp;nbsp;[&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;수락&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXsiF7/btsPVWFZ4fh/efvLA23PrGmmZ9zI8pKfmK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXsiF7/btsPVWFZ4fh/efvLA23PrGmmZ9zI8pKfmK/img.jpg&quot; data-origin-width=&quot;3341&quot; data-origin-height=&quot;2477&quot; data-filename=&quot;20250726_004316.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.8094%; margin-right: 10px;&quot; data-widthpercent=&quot;49.38&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXsiF7/btsPVWFZ4fh/efvLA23PrGmmZ9zI8pKfmK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXsiF7%2FbtsPVWFZ4fh%2FefvLA23PrGmmZ9zI8pKfmK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3341&quot; height=&quot;2477&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kDatk/btsPVAJI7az/HXXa8HL7xwakGHRlIFmAhk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kDatk/btsPVAJI7az/HXXa8HL7xwakGHRlIFmAhk/img.jpg&quot; data-origin-width=&quot;3535&quot; data-origin-height=&quot;2557&quot; data-filename=&quot;20250726_004335.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 50.0278%;&quot; data-widthpercent=&quot;50.62&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kDatk/btsPVAJI7az/HXXa8HL7xwakGHRlIFmAhk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkDatk%2FbtsPVAJI7az%2FHXXa8HL7xwakGHRlIFmAhk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3535&quot; height=&quot;2557&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;수동 입력 및 타이핑 개선 여부 선택 후&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;[&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;수락&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;진단 데이터를 사용한 맞춤형 환경 사용 여부 선택 후&amp;nbsp;[&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;수락&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Vg0hF/btsPUKe2D2r/yMMQE6NId56187zmNkxx00/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Vg0hF/btsPUKe2D2r/yMMQE6NId56187zmNkxx00/img.jpg&quot; data-origin-width=&quot;3613&quot; data-origin-height=&quot;2632&quot; data-filename=&quot;20250726_004414.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.7424%; margin-right: 10px;&quot; data-widthpercent=&quot;50.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Vg0hF/btsPUKe2D2r/yMMQE6NId56187zmNkxx00/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVg0hF%2FbtsPUKe2D2r%2FyMMQE6NId56187zmNkxx00%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3613&quot; height=&quot;2632&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dIhNle/btsPUph7Cfh/gkSoKIaRJ5RyBTvNsoqKB0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dIhNle/btsPUph7Cfh/gkSoKIaRJ5RyBTvNsoqKB0/img.jpg&quot; data-origin-width=&quot;3715&quot; data-origin-height=&quot;2742&quot; data-filename=&quot;20250726_004455.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.0948%;&quot; data-widthpercent=&quot;49.67&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dIhNle/btsPUph7Cfh/gkSoKIaRJ5RyBTvNsoqKB0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdIhNle%2FbtsPUph7Cfh%2FgkSoKIaRJ5RyBTvNsoqKB0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3715&quot; height=&quot;2742&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;광고 ID 사용 허용 여부 선택 후&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;[&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;수락&lt;/b&gt;&lt;/span&gt;] 버튼 클릭&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;▶ 선택한 설정이 적용된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGQsAY/btsPUf0JhSN/jGgyeZZJBKDzCCUWcRQEhK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGQsAY/btsPUf0JhSN/jGgyeZZJBKDzCCUWcRQEhK/img.jpg&quot; data-origin-width=&quot;3579&quot; data-origin-height=&quot;2654&quot; data-filename=&quot;20250726_004507.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 48.9816%; margin-right: 10px;&quot; data-widthpercent=&quot;49.56&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGQsAY/btsPUf0JhSN/jGgyeZZJBKDzCCUWcRQEhK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGQsAY%2FbtsPUf0JhSN%2FjGgyeZZJBKDzCCUWcRQEhK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3579&quot; height=&quot;2654&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXOvNv/btsPSSenfts/pWiatXdFjOMTKsks3toaok/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXOvNv/btsPSSenfts/pWiatXdFjOMTKsks3toaok/img.jpg&quot; data-origin-width=&quot;4067&quot; data-origin-height=&quot;2963&quot; data-filename=&quot;20250726_004541.jpg&quot; data-is-animation=&quot;false&quot; style=&quot;width: 49.8556%;&quot; data-widthpercent=&quot;50.44&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXOvNv/btsPSSenfts/pWiatXdFjOMTKsks3toaok/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXOvNv%2FbtsPSSenfts%2FpWiatXdFjOMTKsks3toaok%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4067&quot; height=&quot;2963&quot;/&gt;&lt;/span&gt;&lt;/div&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Windows가 정상적으로 실행 되면 완료.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;바탕화면.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cA5wZx/btsPSmmw1Fg/gAaCb3WZnkiGsdab7ZFDnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cA5wZx/btsPSmmw1Fg/gAaCb3WZnkiGsdab7ZFDnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cA5wZx/btsPSmmw1Fg/gAaCb3WZnkiGsdab7ZFDnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA5wZx%2FbtsPSmmw1Fg%2FgAaCb3WZnkiGsdab7ZFDnk%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;1920&quot; height=&quot;1080&quot; data-filename=&quot;바탕화면.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;파티션(C:, D:드라이브)도 잘 생성 됐다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;파티션.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjryoX/btsPVHPBYGb/F5yD3xOdkUFDzWMki2rziK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjryoX/btsPVHPBYGb/F5yD3xOdkUFDzWMki2rziK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjryoX/btsPVHPBYGb/F5yD3xOdkUFDzWMki2rziK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjryoX%2FbtsPVHPBYGb%2FF5yD3xOdkUFDzWMki2rziK%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;1920&quot; height=&quot;1080&quot; data-filename=&quot;파티션.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>운영체제/Windows</category>
      <category>Microsoft 계정(온라인 계정)으로 로그인</category>
      <category>Microsoft에 로그인 하지 않고(오프라인 계정) 사용</category>
      <category>Windows10 설정</category>
      <category>Windows10 설치</category>
      <category>대신 도메인 가입</category>
      <category>윈도우10 (Windows10) 설치 USB 부팅디스크 만들기</category>
      <category>윈도우10 설치</category>
      <category>파티션 나누기</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/221</guid>
      <comments>https://save-idea.tistory.com/221#entry221comment</comments>
      <pubDate>Fri, 15 Aug 2025 10:57:33 +0900</pubDate>
    </item>
    <item>
      <title>[PostgreSQL] 시퀀스 last value(현재 값) 변경 방법 - setval()</title>
      <link>https://save-idea.tistory.com/220</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Error synchronizing data with database &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;이유: SQL Error [42809]: 오류: &quot;시퀀스명&quot; 시퀀스를 바꿀 수 없음&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;366&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brDNBN/btsPOmNhlEX/cv0CMk6xJmkZcSvTxEcXfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brDNBN/btsPOmNhlEX/cv0CMk6xJmkZcSvTxEcXfK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brDNBN/btsPOmNhlEX/cv0CMk6xJmkZcSvTxEcXfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrDNBN%2FbtsPOmNhlEX%2Fcv0CMk6xJmkZcSvTxEcXfK%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;547&quot; height=&quot;289&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;693&quot; data-origin-height=&quot;366&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 시퀀스의 last_value(현재&amp;nbsp;값)&amp;nbsp;값을 직접 변경하려 했는데 위와 같은 에러가 발생했다. &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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 에러 원인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이 에러는 ALTER TABLE 같은 명령으로 시퀀스를 변경하려고 했을 때 발생하는 전형적인 메시지인데&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;시퀀스는 테이블이 아니라 독립 객체이기 때문에 ALTER TABLE로 수정할 수 없었다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ last&amp;nbsp;value(현재&amp;nbsp;값)&amp;nbsp;변경&amp;nbsp;방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;PostgreSQL에서는 시퀀스 값을 바꾸려면 setval() 함수를 사용해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;SELECT setval('&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;시퀀스명&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;',&lt;/span&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;지정하려는 last value 값&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;is_called 설정&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;setval()은 PostgreSQL에서 last value(현재 값)을 변경할 때 사용하는 함수인데&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start; font-family: 'Noto Sans Light';&quot;&gt;변경 시 is_called 옵션으로 last value(현재 값)이 실제로 nextval()을 통해 호출되었는지 여부도 함께 설정해야 한다.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start; font-family: 'Noto Sans Light';&quot;&gt;즉, 다음 &lt;span style=&quot;text-align: start;&quot;&gt;nextval() &lt;/span&gt;호출 시 현재값을 쓸지, +1된 값을 쓸지에 관한 제어를 해 주어야 한다는 이야기이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;물론 is_called 설정에 대한&lt;span style=&quot;text-align: start;&quot;&gt; 생략이 가능은 하지만, &lt;/span&gt;생략하게 되면 자동으로 &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;is_called&lt;span&gt; 값이&amp;nbsp;&lt;/span&gt;&lt;/span&gt;true로 설정된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;시퀀스변경3.PNG&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZAnFc/btsPNPPLEGq/02UQUy2IxGxyq06HNPxzk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZAnFc/btsPNPPLEGq/02UQUy2IxGxyq06HNPxzk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZAnFc/btsPNPPLEGq/02UQUy2IxGxyq06HNPxzk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZAnFc%2FbtsPNPPLEGq%2F02UQUy2IxGxyq06HNPxzk0%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;632&quot; height=&quot;68&quot; data-filename=&quot;시퀀스변경3.PNG&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;68&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;예를 들어 시퀀스를 1000으로 변경한 뒤, 다음 nextval() 호출 시에 1000이 아닌 1001이 나오게 하고 싶으면 is_called를 false 설정해야 하며.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1755012517072&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT setval('시퀀스명', 1000, false);&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;다음 nextval() 호출 시 1000부터 나오게 하려면 is_called를 true 또는 생략해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1755012536974&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT setval(' 시퀀스명 ', 1000, true);
SELECT setval(' 시퀀스명 ', 1000);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>데이터베이스/PostgreSQL</category>
      <category>Error synchronizing data with database</category>
      <category>is_called</category>
      <category>last value</category>
      <category>nextval()</category>
      <category>PostgreSQL</category>
      <category>SELECT setval()</category>
      <category>Sequence</category>
      <category>시퀀스 last value(현재 값) 변경 방법</category>
      <category>시퀀스를 바꿀 수 없음</category>
      <category>이유: SQL Error [42809]: 오류:</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/220</guid>
      <comments>https://save-idea.tistory.com/220#entry220comment</comments>
      <pubDate>Wed, 13 Aug 2025 00:41:28 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;d3dx9_42.dll이(가) 없어 코드 실행을 진행할 수 없습니다.&amp;quot; 오류 해결 방법</title>
      <link>https://save-idea.tistory.com/219</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;d3dx9_42.dll이(가) 없어 코드 실행을 진행할 수 없습니다. 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;시스템 오류 해결 방법&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CBzla/btsPM0pe4fO/YT3gVSAgNYFnB2tdiLHenK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CBzla/btsPM0pe4fO/YT3gVSAgNYFnB2tdiLHenK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CBzla/btsPM0pe4fO/YT3gVSAgNYFnB2tdiLHenK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCBzla%2FbtsPM0pe4fO%2FYT3gVSAgNYFnB2tdiLHenK%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;413&quot; height=&quot;152&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;152&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;해당 오류는 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;DirectX 9의 오래된 D3DX 구성요소인 &lt;span style=&quot;text-align: start;&quot;&gt;d3dx9_42.dll &lt;/span&gt;이 존재하지 않아 발생&lt;/b&gt;&lt;/span&gt;한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;간혹 임의의 사이트에서 첨부되어 있는 dll 파일만 다운로드하여 내 PC에 붙여 넣기 하는 경우가 있는데 이 방법은 보안 및 버전 충돌 위험이 있기 때문에 반드시 DirectX 설치를 통해 dll 파일을 추가하는 방법을 권장한다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. Microsoft 다운로드 센터 접속&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;Microsoft 다운로드 센터&quot; href=&quot;https://www.microsoft.com/ko-kr/download/details.aspx?id=35&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.microsoft.com/ko-kr/download/details.aspx?id=35&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 언어 선택 후「&lt;span style=&quot;color: #006dd7;&quot;&gt;다운로드&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1605&quot; data-origin-height=&quot;1199&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ARXsL/btsPNlUPfhs/QZQC8KSbVDoKdteWjmDD0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ARXsL/btsPNlUPfhs/QZQC8KSbVDoKdteWjmDD0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ARXsL/btsPNlUPfhs/QZQC8KSbVDoKdteWjmDD0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FARXsL%2FbtsPNlUPfhs%2FQZQC8KSbVDoKdteWjmDD0k%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;1605&quot; height=&quot;1199&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1605&quot; data-origin-height=&quot;1199&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1601&quot; data-origin-height=&quot;1462&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kea9S/btsPQHITk4K/ASDKWGeNJVOXkt6jt5HSVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kea9S/btsPQHITk4K/ASDKWGeNJVOXkt6jt5HSVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kea9S/btsPQHITk4K/ASDKWGeNJVOXkt6jt5HSVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKea9S%2FbtsPQHITk4K%2FASDKWGeNJVOXkt6jt5HSVk%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;1601&quot; height=&quot;1462&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1601&quot; data-origin-height=&quot;1462&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 다운로드된 DirectX 설치파일(&lt;span style=&quot;color: #006dd7;&quot;&gt;dxwebsetup.exe&lt;/span&gt;) 실행&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;83&quot; data-origin-height=&quot;85&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvkjP8/btsPN6PXwZS/rgGYbkp0mmEgKkc2fStzOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvkjP8/btsPN6PXwZS/rgGYbkp0mmEgKkc2fStzOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvkjP8/btsPN6PXwZS/rgGYbkp0mmEgKkc2fStzOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvkjP8%2FbtsPN6PXwZS%2FrgGYbkp0mmEgKkc2fStzOK%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;83&quot; height=&quot;85&quot; data-origin-width=&quot;83&quot; data-origin-height=&quot;85&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;설치1.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brE7qv/btsPMmzw6EK/k3kHH8Se8BSCG0yZoEd56k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brE7qv/btsPMmzw6EK/k3kHH8Se8BSCG0yZoEd56k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brE7qv/btsPMmzw6EK/k3kHH8Se8BSCG0yZoEd56k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrE7qv%2FbtsPMmzw6EK%2Fk3kHH8Se8BSCG0yZoEd56k%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;584&quot; height=&quot;375&quot; data-filename=&quot;설치1.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;설치2.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AhXql/btsPNDmVQpJ/t0rmRh6NQIKfeHnpfIuLtk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AhXql/btsPNDmVQpJ/t0rmRh6NQIKfeHnpfIuLtk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AhXql/btsPNDmVQpJ/t0rmRh6NQIKfeHnpfIuLtk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAhXql%2FbtsPNDmVQpJ%2Ft0rmRh6NQIKfeHnpfIuLtk%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;584&quot; height=&quot;375&quot; data-filename=&quot;설치2.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;설치3.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDJqaL/btsPLKtQmwr/i6Vjkkh6iExlt0OdrQgU21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDJqaL/btsPLKtQmwr/i6Vjkkh6iExlt0OdrQgU21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDJqaL/btsPLKtQmwr/i6Vjkkh6iExlt0OdrQgU21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDJqaL%2FbtsPLKtQmwr%2Fi6Vjkkh6iExlt0OdrQgU21%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;584&quot; height=&quot;375&quot; data-filename=&quot;설치3.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;설치4.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBhee3/btsPLPIIcDw/VE2ImYzMg0WLMXG0ujRqhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBhee3/btsPLPIIcDw/VE2ImYzMg0WLMXG0ujRqhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBhee3/btsPLPIIcDw/VE2ImYzMg0WLMXG0ujRqhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBhee3%2FbtsPLPIIcDw%2FVE2ImYzMg0WLMXG0ujRqhK%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;584&quot; height=&quot;375&quot; data-filename=&quot;설치4.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;설치5.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byf2KR/btsPMLeKyQB/Ge6JHabOUYWr4Ubz1sbwX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byf2KR/btsPMLeKyQB/Ge6JHabOUYWr4Ubz1sbwX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byf2KR/btsPMLeKyQB/Ge6JHabOUYWr4Ubz1sbwX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyf2KR%2FbtsPMLeKyQB%2FGe6JHabOUYWr4Ubz1sbwX0%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;584&quot; height=&quot;375&quot; data-filename=&quot;설치5.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;설치6.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqHl1b/btsPOnDWnkE/2B9AZmBW05NR6rwynF51zK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqHl1b/btsPOnDWnkE/2B9AZmBW05NR6rwynF51zK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqHl1b/btsPOnDWnkE/2B9AZmBW05NR6rwynF51zK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqHl1b%2FbtsPOnDWnkE%2F2B9AZmBW05NR6rwynF51zK%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;584&quot; height=&quot;375&quot; data-filename=&quot;설치6.png&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. DirectX 설치가 완료되면 프로그램 실행 시 해당 오류가 발생하지 않고 정상적으로 작동하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;Microsoft 다운로드&amp;nbsp;센터&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; text-align: left;&quot;&gt; &lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://www.microsoft.com/ko-kr/download/details.aspx?id=35&quot;&gt;https://www.microsoft.com/ko-kr/download/details.aspx?id=35&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>운영체제/Windows</category>
      <category>d3dx9_42.dll</category>
      <category>d3dx9_42.dll이(가) 없어 코드 실행을 진행할 수 없습니다. 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다.</category>
      <category>dxwebsetup.exe</category>
      <category>Microsoft DirectX</category>
      <category>windows</category>
      <category>다이렉트x</category>
      <category>윈도우즈</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/219</guid>
      <comments>https://save-idea.tistory.com/219#entry219comment</comments>
      <pubDate>Mon, 11 Aug 2025 02:36:53 +0900</pubDate>
    </item>
    <item>
      <title>&amp;quot;호환되는 그래픽 카드를 찾을 수 없습니다.&amp;quot; 에러 해결 방법</title>
      <link>https://save-idea.tistory.com/217</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&quot;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;호환되는 그래픽 카드를 찾을 수 없습니다.&lt;/span&gt;&lt;/b&gt;&quot;라는 메시지는 일반적으로 다음과 같은 상황에서 발생한다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 그래픽 카드 드라이버가 설치되지 않았거나, 잘못된 버전의 드라이버가 설치된 경우&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 데스크톱 메인보드에 꽂은 그래픽 카드가 완전히 장착되지 않은 경우&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3.&amp;nbsp;파워 서플라이의 용량이 부족한 경우 (그래픽 카드의 권장 전력보다 미만)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;4.&amp;nbsp;메인보드에서 기본 출력 장치가 내장 그래픽으로 설정돼 있는 경우&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;373&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GibZt/btsPNOu0a53/qnQiRLBS9MisDIMDinIeh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GibZt/btsPNOu0a53/qnQiRLBS9MisDIMDinIeh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GibZt/btsPNOu0a53/qnQiRLBS9MisDIMDinIeh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGibZt%2FbtsPNOu0a53%2FqnQiRLBS9MisDIMDinIeh0%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;373&quot; height=&quot;152&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;373&quot; data-origin-height=&quot;152&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;나의 경우는 컴퓨터를 구입한 후 그래픽 카드(NVIDIA GeForce RTX 5060) 드라이버가 설치되지 않아 발생한 문제였고, 제조사 공식 웹사이트에서 드라이버를 다운로드해 설치함으로써 해결했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 제조사 웹사이트 접속&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://www.nvidia.com/ko-kr/drivers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.nvidia.com/ko-kr/drivers/&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9yVju/btsPJjiiE8b/dka4jKY6K9swowNlcc8nfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9yVju/btsPJjiiE8b/dka4jKY6K9swowNlcc8nfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9yVju/btsPJjiiE8b/dka4jKY6K9swowNlcc8nfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9yVju%2FbtsPJjiiE8b%2Fdka4jKY6K9swowNlcc8nfk%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;1920&quot; height=&quot;1161&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1161&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 수동 드라이버 검색에서 조건 선택 후,「&lt;span style=&quot;color: #006dd7;&quot;&gt;찾기&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1307&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pEw8T/btsPKHCpPjt/oukVmJYmV2VjtQkD2T0sq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pEw8T/btsPKHCpPjt/oukVmJYmV2VjtQkD2T0sq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pEw8T/btsPKHCpPjt/oukVmJYmV2VjtQkD2T0sq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpEw8T%2FbtsPKHCpPjt%2FoukVmJYmV2VjtQkD2T0sq1%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;1920&quot; height=&quot;1307&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1307&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;57&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. 원하는 드라이버의「&lt;span style=&quot;color: #006dd7;&quot;&gt;보기&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chLU1c/btsPJjP7XqA/SBU9nZ6Mc6RPnNuZdarkkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chLU1c/btsPJjP7XqA/SBU9nZ6Mc6RPnNuZdarkkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chLU1c/btsPJjP7XqA/SBU9nZ6Mc6RPnNuZdarkkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchLU1c%2FbtsPJjP7XqA%2FSBU9nZ6Mc6RPnNuZdarkkK%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;1920&quot; height=&quot;1114&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1114&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 「&lt;span style=&quot;color: #006dd7;&quot;&gt;다운로드&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1553&quot; data-origin-height=&quot;602&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnoXrH/btsPJbqZJi5/H5xE6Ctumk7dC2KORKOyQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnoXrH/btsPJbqZJi5/H5xE6Ctumk7dC2KORKOyQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnoXrH/btsPJbqZJi5/H5xE6Ctumk7dC2KORKOyQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnoXrH%2FbtsPJbqZJi5%2FH5xE6Ctumk7dC2KORKOyQ1%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;1553&quot; height=&quot;602&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1553&quot; data-origin-height=&quot;602&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 다운로드 한 드라이버 설치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;NVIDIA2.PNG&quot; data-origin-width=&quot;436&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8ULH4/btsPATRECSg/2J6o9ue0VyLfaMQlU5hrBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8ULH4/btsPATRECSg/2J6o9ue0VyLfaMQlU5hrBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8ULH4/btsPATRECSg/2J6o9ue0VyLfaMQlU5hrBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8ULH4%2FbtsPATRECSg%2F2J6o9ue0VyLfaMQlU5hrBK%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;436&quot; height=&quot;158&quot; data-filename=&quot;NVIDIA2.PNG&quot; data-origin-width=&quot;436&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;NVIDIA3.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUQwSX/btsPCTvSjXV/eAmtaMgmHY5j54DIM0HkDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUQwSX/btsPCTvSjXV/eAmtaMgmHY5j54DIM0HkDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUQwSX/btsPCTvSjXV/eAmtaMgmHY5j54DIM0HkDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUQwSX%2FbtsPCTvSjXV%2FeAmtaMgmHY5j54DIM0HkDk%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;594&quot; height=&quot;444&quot; data-filename=&quot;NVIDIA3.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;NVIDIA4.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BJP1H/btsPAv4LemJ/F0JOZg8ai3jF6tTcKKtBw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BJP1H/btsPAv4LemJ/F0JOZg8ai3jF6tTcKKtBw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BJP1H/btsPAv4LemJ/F0JOZg8ai3jF6tTcKKtBw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBJP1H%2FbtsPAv4LemJ%2FF0JOZg8ai3jF6tTcKKtBw1%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;594&quot; height=&quot;444&quot; data-filename=&quot;NVIDIA4.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;NVIDIA5.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4V7N2/btsPB8G4G6W/3YPdiZPVq4pfNF63OKchW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4V7N2/btsPB8G4G6W/3YPdiZPVq4pfNF63OKchW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4V7N2/btsPB8G4G6W/3YPdiZPVq4pfNF63OKchW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4V7N2%2FbtsPB8G4G6W%2F3YPdiZPVq4pfNF63OKchW0%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;594&quot; height=&quot;444&quot; data-filename=&quot;NVIDIA5.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;NVIDIA6.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ml3XZ/btsPAUpqY5X/a2yzRkKfL1vGhX4HbmjJGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ml3XZ/btsPAUpqY5X/a2yzRkKfL1vGhX4HbmjJGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ml3XZ/btsPAUpqY5X/a2yzRkKfL1vGhX4HbmjJGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMl3XZ%2FbtsPAUpqY5X%2Fa2yzRkKfL1vGhX4HbmjJGK%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;594&quot; height=&quot;444&quot; data-filename=&quot;NVIDIA6.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;NVIDIA7.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brzX61/btsPCn42gEF/uNkc6gcRe1uYDvj5wZcYG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brzX61/btsPCn42gEF/uNkc6gcRe1uYDvj5wZcYG1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brzX61/btsPCn42gEF/uNkc6gcRe1uYDvj5wZcYG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrzX61%2FbtsPCn42gEF%2FuNkc6gcRe1uYDvj5wZcYG1%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;594&quot; height=&quot;444&quot; data-filename=&quot;NVIDIA7.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;NVIDIA8.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZEYzw/btsPCmSByKK/rEHSxZaU19zACTJACFj2U0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZEYzw/btsPCmSByKK/rEHSxZaU19zACTJACFj2U0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZEYzw/btsPCmSByKK/rEHSxZaU19zACTJACFj2U0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZEYzw%2FbtsPCmSByKK%2FrEHSxZaU19zACTJACFj2U0%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;594&quot; height=&quot;444&quot; data-filename=&quot;NVIDIA8.PNG&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;444&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>운영체제/Windows</category>
      <category>0xE0070100</category>
      <category>NVIDIA GeForce RTX 5060</category>
      <category>windows</category>
      <category>그래픽 카드 설치</category>
      <category>오버워치</category>
      <category>윈도우</category>
      <category>호환되는 그래픽 카드를 찾을 수 없습니다.</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/217</guid>
      <comments>https://save-idea.tistory.com/217#entry217comment</comments>
      <pubDate>Mon, 28 Jul 2025 01:17:59 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 인기 순위 (2025-07)</title>
      <link>https://save-idea.tistory.com/215</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2025년 07월 헤드라인 -&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;상위&amp;nbsp;10위&amp;nbsp;자리를&amp;nbsp;두고&amp;nbsp;경쟁&amp;nbsp;중인&amp;nbsp;주요&amp;nbsp;프로그래밍&amp;nbsp;언어들&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ~ 20위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MMX3x/btsPfJ9wwnw/XKsCAbBKsSpt7tra625K8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MMX3x/btsPfJ9wwnw/XKsCAbBKsSpt7tra625K8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MMX3x/btsPfJ9wwnw/XKsCAbBKsSpt7tra625K8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMMX3x%2FbtsPfJ9wwnw%2FXKsCAbBKsSpt7tra625K8k%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;1368&quot; height=&quot;1104&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;21 ~ 50위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1366&quot; data-origin-height=&quot;1122&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lbK8W/btsPg7BjMbd/UmT6MxKER2JWN0PVYA3Y7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lbK8W/btsPg7BjMbd/UmT6MxKER2JWN0PVYA3Y7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lbK8W/btsPg7BjMbd/UmT6MxKER2JWN0PVYA3Y7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlbK8W%2FbtsPg7BjMbd%2FUmT6MxKER2JWN0PVYA3Y7k%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;1366&quot; height=&quot;1122&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1366&quot; data-origin-height=&quot;1122&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #ffffff; color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;TIOBE Index for July 2025&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;TIOBE Index for July 2025&quot; href=&quot;https://www.tiobe.com/tiobe-index/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.tiobe.com/tiobe-index/&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/프로그래밍 언어 순위</category>
      <category>C</category>
      <category>C#</category>
      <category>c++</category>
      <category>go</category>
      <category>java</category>
      <category>JavaScript</category>
      <category>Python</category>
      <category>TIOBE</category>
      <category>visual basic</category>
      <category>프로그래밍 언어 순위</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/215</guid>
      <comments>https://save-idea.tistory.com/215#entry215comment</comments>
      <pubDate>Sat, 12 Jul 2025 12:34:50 +0900</pubDate>
    </item>
    <item>
      <title>[MariaDB] 대소문자 구분 없이 문자열 치환하기</title>
      <link>https://save-idea.tistory.com/213</link>
      <description>&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #222;&quot;&gt;정규식을 사용하여 컬럼에서 특정단어를 가지고 있는 데이터를 찾아 해당단어만 다른 단어로 변경하는 UPDATE 문 &lt;br /&gt;&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;테이블( &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;city&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt; )의 컬럼( &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;city_name&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;)에서 대문자 'S'가 들어가 있는 단어를 찾아 대문자 'A'로 변경하는 경우&lt;/span&gt;&lt;/b&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;pre id=&quot;code_1751732974223&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;UPDATE city
SET city_name = REPLACE(city_name, 'S', 'A')
WHERE city_name REGEXP 'S';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;REGEXP 'S'&lt;span style=&quot;color: #333333;&quot;&gt;는&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; 정규식 패턴으로 문자열 안에 대문자 'S'가 포함되어 있으면 매칭된다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 123px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 17px; text-align: center;&quot; colspan=&quot;2&quot; bgcolor=&quot;#9D9D9D&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ffffff;&quot;&gt;city_name&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 21px;&quot; bgcolor=&quot;#DDDDDD&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(변경전)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 21px;&quot; bgcolor=&quot;#DDDDDD&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(변경후) &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;S&lt;/b&gt;&lt;/span&gt;EOUL&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;EOUL&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;S&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;seoul&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;seoul&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Busan&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Busan&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;jeju&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;jeju&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;테이블(&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;city&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;의 컬럼(&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;city_name&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;대소문자 구분 없이&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;'S'가 들어가 있는 단어를 찾아 대문자 'A'로 변경하는 경우&lt;/span&gt;&lt;/b&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;pre id=&quot;code_1751734103827&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;UPDATE city
SET city_name = REPLACE(REPLACE(city_name, 'S', 'A'), 's', 'A')
WHERE city_name REGEXP 'S|s';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;REGEXP 'S|s'&lt;/span&gt;&lt;/b&gt; &lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;또는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;REGEXP '[S|s]'&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;는&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; 정규식 패턴으로 문자열 안에 대문자 'S' 또는 소문자 's'가 포함되어 있으면 매칭된다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;REPLACE(REPLACE(city_name, 'S', 'A'), 's', 'A')는 하나의 데이터를 두 번 가공하는 구조라고 이해하면 된다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1차 가공 : REPLACE(city_name, 'S', 'A') &amp;rarr;&amp;nbsp;원본&amp;nbsp;문자열에서&amp;nbsp;대문자&amp;nbsp;'S'를&amp;nbsp;'A'로&amp;nbsp;변경&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2차 가공 : REPLACE(1차 가공된 결과, 's', 'A') &amp;rarr; 1차 가공된 결과에서 소문자 's'를 'A'로 변경&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 123px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 17px; text-align: center;&quot; colspan=&quot;2&quot; bgcolor=&quot;#9D9D9D&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ffffff;&quot;&gt;city_name&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 21px;&quot; bgcolor=&quot;#DDDDDD&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(변경전)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 21px;&quot; bgcolor=&quot;#DDDDDD&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(변경후) &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;S&lt;/b&gt;&lt;/span&gt;EOUL&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;EOUL&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;S&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;s&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Bu&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;s&lt;/b&gt;&lt;/span&gt;an&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Bu&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;an&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;jeju&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;jeju&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ REPLACE() 결과가 기대치와 다르게 대소문자가 제대로 적용되지 않은 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;간혹 UPDATE시에 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;COLLATION&lt;/span&gt;&lt;/b&gt;로 인해 일부 데이터가 바뀌지 않는 경우가 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;COLLATION란&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;대소문자 구분 여부&lt;/span&gt;&lt;/b&gt;(Case-sensitive vs Case-insensitive)와&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;악센트(발음 기호) 구분 여부&lt;/b&gt;&lt;/span&gt; (Accent-sensitive vs Accent-insensitive) 이 두 가지 요소를 기준으로 정의된 문자열을 비교하거나 정렬할 때 사용하는 규칙인데,&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 해당 컬럼의 비교 방식이 무엇인지 확인하기 위해 city 테이블의 Collation 항목값을 보았더니 역시나 &quot;utf8mb3_general_ci&quot;로 Case-insensitive(바꿀 필요 없음) 방식이었다.&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;즉,&amp;nbsp; REPLACE()는 대소문자를 구분해서 동작하지만 ('S'만 'A'로, 's'만 'A'로) city_name 컬럼의 COLLATION이 Case-insensitive이기 때문에, 'Seoul'과 'SEOUL'은 같은 문자열로 보고 MariaDB는 값이 변하지 않았다고 판단하고 UPDATE를 생략하는 것이다. &lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1751738886911&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SHOW FULL COLUMNS FROM 테이블명;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;975&quot; data-origin-height=&quot;154&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dl4qdV/btsO6Xe4gQn/VYEI8CaKXISZXlsly7Fkh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dl4qdV/btsO6Xe4gQn/VYEI8CaKXISZXlsly7Fkh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dl4qdV/btsO6Xe4gQn/VYEI8CaKXISZXlsly7Fkh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdl4qdV%2FbtsO6Xe4gQn%2FVYEI8CaKXISZXlsly7Fkh0%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;975&quot; height=&quot;154&quot; data-origin-width=&quot;975&quot; data-origin-height=&quot;154&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;해결방법 1&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt;UPDATE시에만 임시적으로 COLLATE 방식 변경(대소문자 구분)&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;SET절에서는 COLLATE utf8mb3_bin을 사용하여 REPLACE()가 대소문자를 구분하도록 처리한다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;WHERE절에는 BINARY를 추가하여 MariaDB가 값이 실제로 바뀌었는지 정확히 판단할 수 있도록 한다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1751740795898&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;UPDATE city
SET city_name = REPLACE(REPLACE(city_name COLLATE utf8mb3_bin, 'S', 'A') COLLATE utf8mb3_bin, 's', 'A')
WHERE BINARY city_name REGEXP 'S|s';&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;해결방법 2&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;컬럼의 COLLATION을 아에 영구적으로 변경한 뒤 UPDATE 실행&lt;/span&gt; (실제 운영 데이터에서는 신중히 써야 한다.)&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1751742046020&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- city_name 컬럼을 대소문자 구분되도록 바꾸기
ALTER TABLE city
MODIFY city_name VARCHAR(100)
CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;

-- 그리고 UPDATE
UPDATE city
SET city_name = REPLACE(REPLACE(city_name, 'S', 'A'), 's', 'A')
WHERE city_name REGEXP 'S|s';&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>데이터베이스/MariaDB</category>
      <category>Collation</category>
      <category>MariaDB</category>
      <category>regexp</category>
      <category>replace 함수</category>
      <category>show full columns</category>
      <category>SQL</category>
      <category>sql 문자열 치환</category>
      <category>utf8_general_ci</category>
      <category>대소문자 구분</category>
      <category>정규표현식</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/213</guid>
      <comments>https://save-idea.tistory.com/213#entry213comment</comments>
      <pubDate>Sun, 6 Jul 2025 02:12:34 +0900</pubDate>
    </item>
    <item>
      <title>[PostgreSQL] 대소문자 구분 없이 문자열 치환 (REGEXP_REPLACE)</title>
      <link>https://save-idea.tistory.com/212</link>
      <description>&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #222;&quot;&gt;&amp;nbsp;정규식을 사용하여 컬럼에서 특정단어를 가지고 있는 데이터를 찾아 해당단어만 다른 단어로 변경하는 UPDATE 문&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 테이블( &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;city &lt;/span&gt;&lt;/b&gt;)의 컬럼( &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;city_name &lt;/span&gt;&lt;/b&gt;)에서 대문자 'S'가 들어가 있는 단어를 찾아 대문자 'A'로 변경하는 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;pre id=&quot;code_1751561470333&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;UPDATE city
SET city_name = REGEXP_REPLACE(city_name, 'S', 'A', 'g')
WHERE city_name ~ 'S';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; REGEXP_REPLACE의&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;'g'&lt;/span&gt;&lt;/b&gt;&amp;nbsp;플래그는&amp;nbsp;Global&amp;nbsp;옵션으로,&amp;nbsp;일치하는&amp;nbsp;모든&amp;nbsp;항목을&amp;nbsp;치환한다. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; WHERE 절에서 사용하는 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;~&lt;/span&gt;&lt;/b&gt; 연산자는 대소문자를 구분해 문자열을 찾는다. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 123px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 17px; text-align: center;&quot; colspan=&quot;2&quot; bgcolor=&quot;#9D9D9D&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ffffff;&quot;&gt;city_name&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 21px;&quot; bgcolor=&quot;#DDDDDD&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(변경전)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 21px;&quot; bgcolor=&quot;#DDDDDD&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(변경후) &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;S&lt;/b&gt;&lt;/span&gt;EOUL&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;EOUL&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;S&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;seoul&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;seoul&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Busan&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Busan&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;jeju&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;jeju&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 테이블( &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;city&lt;span&gt; )&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;의 컬럼( &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;city_name&lt;span&gt; )&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;에서 &lt;span style=&quot;color: #006dd7;&quot;&gt;대소문자 구분없이&lt;/span&gt; 'S'가 들어가 있는 단어를 찾아 대문자 'A'로 변경하는 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;pre id=&quot;code_1751561959048&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;UPDATE city
SET city_name = REGEXP_REPLACE(city_name, 'S', 'A', 'gi')
WHERE city_name ~* 'S';&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;REGEXP_REPLACE에서&amp;nbsp;사용하는&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;'i'&lt;/b&gt;&lt;/span&gt;&amp;nbsp;플래그는&amp;nbsp;Ignore&amp;nbsp;case&amp;nbsp;옵션으로,&amp;nbsp;대소문자를&amp;nbsp;구분하지&amp;nbsp;않고&amp;nbsp;매칭할&amp;nbsp;때&amp;nbsp;사용된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이 플래그를 사용하지 않을 경우, 정규식 앞에 (?i)를 붙여 대소문자 구분 없이 매칭하는 방법도 있다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;예시) &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;REGEXP_REPLACE(city_name, '(?i)S', 'A', 'g')&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;WHERE&amp;nbsp;절에서&amp;nbsp;사용하는&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;~*&lt;/b&gt;&lt;/span&gt;&amp;nbsp;연산자는&amp;nbsp;대소문자를&amp;nbsp;구분하지&amp;nbsp;않고&amp;nbsp;문자열을&amp;nbsp;찾는다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%; text-align: center;&quot; colspan=&quot;2&quot; bgcolor=&quot;#9D9D9D&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ffffff;&quot;&gt;city_name&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot; bgcolor=&quot;#DDDDDD&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(변경전)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot; bgcolor=&quot;#DDDDDD&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(변경후)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;S&lt;/b&gt;&lt;/span&gt;EOUL&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;EOUL&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;S&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;s&lt;/b&gt;&lt;/span&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;A&lt;/b&gt;&lt;/span&gt;eoul&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Bu&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;s&lt;/b&gt;&lt;/span&gt;an&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Bu&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;an&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;jeju&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;jeju&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 정규식을 사용하지 않는 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&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;nbsp;일치해야&amp;nbsp;한다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;따라서&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;대소문자&amp;nbsp;구분&amp;nbsp;없이&amp;nbsp;변경하고&amp;nbsp;싶다면&amp;nbsp;정규식을&amp;nbsp;사용&lt;/span&gt;&lt;/b&gt;하는&amp;nbsp;것이&amp;nbsp;더&amp;nbsp;적절하다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1751563290475&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;UPDATE city
SET city_name = REPLACE(city_name, 'S', 'A')
WHERE city_name LIKE '%S%';&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>데이터베이스/PostgreSQL</category>
      <category>(?i)</category>
      <category>PostgreSQL</category>
      <category>REGEXP_REPLACE</category>
      <category>replace 함수</category>
      <category>SQL</category>
      <category>sql 문자열 치환</category>
      <category>~ 연산자</category>
      <category>~* 연산자</category>
      <category>대소문자 구분</category>
      <category>정규표현식</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/212</guid>
      <comments>https://save-idea.tistory.com/212#entry212comment</comments>
      <pubDate>Fri, 4 Jul 2025 02:30:08 +0900</pubDate>
    </item>
    <item>
      <title>[Git] 특정 브랜치만 가져오기(clone)</title>
      <link>https://save-idea.tistory.com/211</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;Git으로 저장소를 clone 할 때, 보통 전체 브랜치를 가져오는 경우가 많다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #000000;&quot;&gt;그러나 특정 브랜치만 필요한 경우에는 &lt;span style=&quot;color: #006dd7;&quot;&gt;--single-branch&lt;/span&gt; 옵션을 사용하여 원하는 브랜치만 선택적으로 clone 할 수 있다.&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 1.&amp;nbsp;작업&amp;nbsp;폴더로&amp;nbsp;이동 &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;먼저 작업을 진행할 폴더로 이동한다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1750440698352&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd [작업 폴더 경로]&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2.&amp;nbsp;특정&amp;nbsp;브랜치만&amp;nbsp;clone&amp;nbsp;하기 &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;아래 명령어를 입력하여 &lt;span style=&quot;color: #006dd7;&quot;&gt;원하는 브랜치만&lt;/span&gt; 복제(clone)한다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1750440727688&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone -b [브랜치명] --single-branch [저장소주소]&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;letter-spacing: 0px; font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;-b&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;: 브랜치를 지정하는 옵션&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;--single-branch&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;color: #333333;&quot;&gt;선택한&amp;nbsp;브랜치만&amp;nbsp;clone한다.&amp;nbsp;이&amp;nbsp;옵션을&amp;nbsp;사용하지&amp;nbsp;않으면&amp;nbsp;전체&amp;nbsp;브랜치를&amp;nbsp;clone 하게&amp;nbsp;된다.&lt;/span&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;특정 브랜치가 아닌 &lt;span style=&quot;font-family: 'Noto Sans Light'; text-align: start;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;전체&amp;nbsp;브랜치를&lt;/span&gt;&amp;nbsp;clone하려는&amp;nbsp;경우는&lt;/span&gt; 아래 명령어를 사용한다. &lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1750441714759&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone [저장소주소]&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 3.&amp;nbsp;Gitea&amp;nbsp;인증&amp;nbsp;정보&amp;nbsp;입력&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; text-align: start;&quot;&gt;HTTP/HTTPS 방식의 경우, &lt;/span&gt;clone 명령어를 입력하면 사용자명과 패스워드 입력이 요구된다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1750440977660&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Github
Username for 'https://github.com': [GitHub 사용자명 입력]
Password for 'https://[GitHub 사용자명]@github.com': [비밀번호 또는 토큰 입력]

# Gitea
Username for '[프로토콜]://[저장소주소]': [사용자명 입력]
Password for '[프로토콜]://[사용자명]@[저장소주소]': [비밀번호 입력]&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 4.&amp;nbsp;작업&amp;nbsp;확인 &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;정상적으로 clone이 완료되면 아래와 같이 결과가 출력된다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1750441122812&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;remote: Enumerating objects: 35242, done.
remote: Counting objects: 100% (35242/35242), done.
remote: Compressing objects: 100% (11135/11135), done.
remote: Total 35242 (delta 12826), reused 21891 (delta 11070), pack-reused 0
오브젝트를 받는 중: 100% (35242/35242), 20.09 MiB | 5.37 MiB/s, 완료.
델타를 알아내는 중: 100% (12345/12345), 완료.&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;만약 복제 중 명령어가 멈추었다면, 중단 후 다시 실행해야 할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1750442502364&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Ctrl + Z를 누르면 해당 프로세스가 백그라운드로 중지된다.
Ctrl + Z

# 기존 폴더를 삭제하고, 다시 clone 하면 정상적으로 복제된다.
rm -rf [저장소명]
git clone -b [브랜치명] --single-branch [저장소주소]

# 기존 폴더를 삭제하지 않고, 다시 clone 하면 이미 디렉터리가 존재한다는 에러가 발생한다.
fatal: destination path '[저장소명]' already exists and is not an empty directory.
fatal: 대상 경로가('[저장소명]') 이미 있고 빈 디렉터리가 아닙니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>형상 관리/Git</category>
      <category>fatal: destination path '' already exists and is not an empty directory.</category>
      <category>fatal: 대상 경로가('') 이미 있고 빈 디렉터리가 아닙니다.</category>
      <category>git</category>
      <category>git clone -b</category>
      <category>gitea</category>
      <category>github</category>
      <category>single-branch</category>
      <category>특정 브랜치만 가져오기(clone)</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/211</guid>
      <comments>https://save-idea.tistory.com/211#entry211comment</comments>
      <pubDate>Wed, 18 Jun 2025 14:50:47 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 인기 순위 (2025-06)</title>
      <link>https://save-idea.tistory.com/210</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2025년 06월 헤드라인 -&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;SQL은&amp;nbsp;어디로&amp;nbsp;가고&amp;nbsp;있을까?&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ~ 20위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1366&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ciUvGK/btsOz90U4nY/MfBfKpqTfkkd1xixzkjeI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ciUvGK/btsOz90U4nY/MfBfKpqTfkkd1xixzkjeI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ciUvGK/btsOz90U4nY/MfBfKpqTfkkd1xixzkjeI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FciUvGK%2FbtsOz90U4nY%2FMfBfKpqTfkkd1xixzkjeI0%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;1366&quot; height=&quot;1104&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1366&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;21 ~ 50위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bladaW/btsOzCJxAA3/ZJtDImQjmKKiGFtEWcKko0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bladaW/btsOzCJxAA3/ZJtDImQjmKKiGFtEWcKko0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bladaW/btsOzCJxAA3/ZJtDImQjmKKiGFtEWcKko0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbladaW%2FbtsOzCJxAA3%2FZJtDImQjmKKiGFtEWcKko0%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;1368&quot; height=&quot;1123&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1123&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #ffffff; color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;TIOBE Index for June 2025&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;TIOBE Index for June 2025&quot; href=&quot;https://www.tiobe.com/tiobe-index/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.tiobe.com/tiobe-index/&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/프로그래밍 언어 순위</category>
      <category>C</category>
      <category>C#</category>
      <category>c++</category>
      <category>go</category>
      <category>java</category>
      <category>JavaScript</category>
      <category>Python</category>
      <category>TIOBE</category>
      <category>visual basic</category>
      <category>프로그래밍 언어 순위</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/210</guid>
      <comments>https://save-idea.tistory.com/210#entry210comment</comments>
      <pubDate>Thu, 12 Jun 2025 22:26:42 +0900</pubDate>
    </item>
    <item>
      <title>JSFのweb.xmlにおけるサーブレットとフィルタのマッピングについて</title>
      <link>https://save-idea.tistory.com/207</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;すべてのJ2EEウェブアプリケーションは、web.xmlというデプロイメントディスクリプタで設定される必要があり、これはJSFも同様です。 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSFの場合、FacesServletがメインのサーブレットであるため、web.xmlにFacesServletを登録する必要があります。&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;基本的に、servletタグでサーブレットを指定し、servlet-mappingでパターンを設定する形でJSFのマッピングを行います。&lt;br /&gt;当然のことですが、指定したサーブレットに対するマッピングを行うため、&amp;lt;servlet&amp;gt;タグ内の&amp;lt;servlet-name&amp;gt;と&amp;lt;servlet-mapping&amp;gt;タグの&amp;lt;servlet-name&amp;gt;は同じでなければなりません。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&amp;lt;servlet&amp;gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;servlet-name&amp;gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Faces Servlet&lt;/span&gt;&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;servlet-class&amp;gt;javax.faces.webapp.FacesServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;&amp;lt;/servlet&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;servlet-name&amp;gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Faces Servlet&lt;/span&gt;&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;url-pattern&amp;gt;*.xhtml&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;&amp;lt;/servlet-mapping&amp;gt;&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;フィルタの場合、技術的にはサーブレットで実行できるすべての処理を実行できるため、&amp;lt;servlet-mapping&amp;gt;の代わりに&amp;lt;filter&amp;gt;タグでフィルタクラスを指定し、&amp;lt;filter-mapping&amp;gt;タグでマッピングすることもあります。&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&amp;lt;filter&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-name&amp;gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;MyFilter&lt;/span&gt;&amp;lt;/filter-name&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-class&amp;gt;com.example.MyFilter&amp;lt;/filter-class&amp;gt;&lt;br /&gt;&amp;lt;/filter&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;filter-mapping&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;filter-name&amp;gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;MyFilter&lt;/span&gt;&amp;lt;/filter-name&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;&amp;lt;/filter-mapping&amp;gt;&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;もちろん、&amp;lt;servlet-mapping&amp;gt;と&amp;lt;filter-mapping&amp;gt;のそれぞれにパターンを設定して両方を使用することも可能ですが、この場合はフィルタが先に実行され、サーブレットが最終的に処理を行います。&lt;/span&gt;&lt;/span&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;JSFのマッピング可否について&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 88px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 20px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;JSFのマッピング&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;lt;servlet-mapping&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;lt;filter-mapping&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 20px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;備考&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;OK&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;〇&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;✕&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;OK&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;✕&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;〇&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;OK&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;〇&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;〇&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;処理順序: &lt;br /&gt;フィルタ &amp;rArr; サーブレット&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;NG&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;✕&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;✕&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;原文はこちら&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/54&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;JSF web.xml 서블릿, 필터 맵핑&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div data-en-clipboard=&quot;true&quot; data-pm-slice=&quot;1 0 []&quot;&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;font-size: 9px;&quot;&gt;記事の内容に誤りがあったり、追加したい内容がありましたら、コメントでお知らせください。学習の助けになります。&lt;br /&gt;&lt;span style=&quot;font-size: 9px;&quot;&gt;&lt;span style=&quot;font-size: 9px;&quot;&gt;-- 記憶の有効期限は思ったより短い。 --&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>IT 기타/일본어 연습</category>
      <category>FacesServlet</category>
      <category>filter-mapping</category>
      <category>j2ee</category>
      <category>Java Server Faces</category>
      <category>JSF</category>
      <category>servlet-mapping</category>
      <category>web.xml</category>
      <category>サーブレット</category>
      <category>フィルタ</category>
      <category>マッピング</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/207</guid>
      <comments>https://save-idea.tistory.com/207#entry207comment</comments>
      <pubDate>Thu, 12 Jun 2025 15:00:48 +0900</pubDate>
    </item>
    <item>
      <title>JSFのEL表現式エラー(The entity name must immediately follow the '&amp;amp;' in the entity reference.)解決方法</title>
      <link>https://save-idea.tistory.com/206</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;JSFのEL(&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;Expression Language&lt;/span&gt;)表現でAND条件を使用する際の注意点について説明します。&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;1. &lt;/b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#nav1&quot;&gt;エラーの原因&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;&lt;b&gt;2. &lt;/b&gt;&lt;/b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#nav2&quot;&gt;解決方法&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#nav2&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;3. &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: 'Nanum Gothic'; color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#nav3&quot;&gt;JSFのEL表現とJSPのEL表現の違う点&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&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;letter-spacing: 0px; font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;以下のようなJSFのEL式を利用して開発を行っていた際、次のような条件を指定したところエラー(&lt;span style=&quot;color: #ee2323;&quot;&gt;The entity name must immediately follow the '&amp;amp;' in the entity reference.&lt;/span&gt;)が発生しました。&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-pm-slice=&quot;1 1 []&quot; data-en-clipboard=&quot;true&quot;&gt;
&lt;pre id=&quot;code_1668695016439&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#{(NewState() &amp;amp;&amp;amp; AA.size() == 0) ? false : true}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&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;font-family: 'Noto Sans Light';&quot;&gt;今では理由が分かっているのですぐに修正できますが、最初にエラーが発生した時は原因を見つけるのにかなり時間がかかったと記憶しています。&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;nav1&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ エラーの原因&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;JSF(Java Server Faces)は包括的なアプリケーション開発フレームワークであり、多くの要素を含んでいます。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;その中には、ビューやコンポーネントツリーの構築に使われるJSF用のビュー・ハンドラーであるFaceletsも含まれており、FaceletsはXMLベースのビュー技術です。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #232629;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #232629;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;問題は、FaceletsがEL式の使用をサポートする役割も担っているものの、XMLベースの技術であるため、XMLの文法の影響を受けてしまうという点です。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;私はJSPのEL式を思い出して何気なく「&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;」をAND条件として使いましたが、「&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;amp;&lt;/span&gt;」記号はXML文法でエンティティ指定子として使われる予約文字であったため、使用した際にエラーが発生したのです。&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;※参考までに、JSPを基本のビュー宣言言語として使用していたJSF&amp;nbsp;1.1およびJSF&amp;nbsp;1.2では、Faceletsは別のビュー宣言言語として使われていましたが、JSF&amp;nbsp;2.0以降はFaceletsが基本のビュー宣言言語に昇格し、JSPはもはや使用されなくなりました。&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 id=&quot;nav2&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 解決方法&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; font-family: 'Noto Sans Light';&quot;&gt;「&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;amp;&lt;/span&gt;」記号を表すHTMLの特殊コード「&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;amp;amp;&lt;/span&gt;&lt;/b&gt;」を使用するか、または別のEL式である「&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;and&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;pre id=&quot;code_1668697191718&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#{(NewState() &amp;amp;amp;&amp;amp;amp; AA.size() == 0) ? false : true}
#{(NewState() and AA.size() == 0) ? false : true}&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;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;OR条件を使用する場合は、従来のJSPのEL式と同様に「||」記号と「or」という文字の両方が使用可能です。&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 id=&quot;nav3&quot; data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ JSFのEL表現とJSPのEL表現の違う点&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSFのELはJSP&amp;nbsp;2.0に含まれているELを基盤としていますが、以下のような違いがあります。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSFのEL式は、開始時に「$」ではなく「#」で始まります。&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSFのEL式は双方向で使用できます。つまり、特定の値を取得することもできますし、更新することもできます。&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSFのEL式はメソッドを参照することにも使えます。&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSFのEL式は、一般的なJavaコードの評価にも使用できます。&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSFのEL式では、JSPのEL関数は公式にはサポートされていません。&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;参照リンク&lt;br /&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333; letter-spacing: 0px;&quot;&gt;How to use &amp;amp;&amp;amp; in EL boolean expressions in Facelets?&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;How to use &amp;amp;&amp;amp; in EL boolean expressions in Facelets?&quot; href=&quot;https://stackoverflow.com/questions/8552901/how-to-use-in-el-boolean-expressions-in-facelets&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://stackoverflow.com/questions/8552901/how-to-use-in-el-boolean-expressions-in-facelets&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;Facelets&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;Facelets&quot; href=&quot;https://en.wikipedia.org/wiki/Facelets&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://en.wikipedia.org/wiki/Facelets&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;原文はこちら&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7; text-align: start;&quot; href=&quot;https://save-idea.tistory.com/13&quot;&gt;JSF의 EL 표현식 에러 (The entity name must immediately follow the '&amp;amp;' in the entity reference.) 해결법&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;記事の内容に誤りがあったり、追加したい内容がありましたら、コメントでお知らせください。学習の助けになります。&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 記憶の有効期限は思ったより短い。--&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/일본어 연습</category>
      <category>&amp;amp;&amp;amp;</category>
      <category>and</category>
      <category>El</category>
      <category>Expression Language</category>
      <category>Facelets</category>
      <category>JavaServerFaces</category>
      <category>JSF EL</category>
      <category>jsp el</category>
      <category>The entity name must immediately follow the '&amp;amp;' in the entity reference.</category>
      <category>||</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/206</guid>
      <comments>https://save-idea.tistory.com/206#entry206comment</comments>
      <pubDate>Thu, 12 Jun 2025 14:13:53 +0900</pubDate>
    </item>
    <item>
      <title>[Redis] NOAUTH Authentication required. 에러 해결 방법</title>
      <link>https://save-idea.tistory.com/203</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb; text-align: center;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&amp;nbsp;&lt;b&gt;redis-cli에서 &quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;(error) NOAUTH Authentication required.&lt;/span&gt;&quot; 에러 메시지 출력 시&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이&amp;nbsp;메시지는&amp;nbsp;Redis&amp;nbsp;서버에&amp;nbsp;비밀번호(Password,&amp;nbsp;AUTH)가&amp;nbsp;설정되어&amp;nbsp;있기&amp;nbsp;때문에,&amp;nbsp;인증&amp;nbsp;없이&amp;nbsp;명령어를&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;없다는&amp;nbsp;뜻으로&amp;nbsp;Redis&amp;nbsp;서버에&amp;nbsp;인증이&amp;nbsp;필요한데&amp;nbsp;인증(AUTH)을&amp;nbsp;안&amp;nbsp;했을&amp;nbsp;때&amp;nbsp;출력되는&amp;nbsp;에러&amp;nbsp;메시지이다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;317&quot; data-origin-height=&quot;81&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ki7t7/btsQjT40Etz/ricH3HAJW5drQfCNU9zwB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ki7t7/btsQjT40Etz/ricH3HAJW5drQfCNU9zwB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ki7t7/btsQjT40Etz/ricH3HAJW5drQfCNU9zwB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKi7t7%2FbtsQjT40Etz%2FricH3HAJW5drQfCNU9zwB1%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;600&quot; height=&quot;153&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;317&quot; data-origin-height=&quot;81&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #fff5f8; text-align: center;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;해결 방법&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #fff5f8;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;redis-cli에서 &quot;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;AUTH 비밀번호&lt;/span&gt;&lt;/b&gt;&quot; 명령어로 비밀번호를 입력하여 인증한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;인증에&amp;nbsp;성공하면&amp;nbsp;다음부터&amp;nbsp;keys&amp;nbsp;*&amp;nbsp;등&amp;nbsp;명령어&amp;nbsp;사용이&amp;nbsp;가능하다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;만약 redis-cli 가 아닌 Spring Boot에서 상기 에러가 발생한다면 application.properties 에 Redis 비밀번호를 다음과 같은 형식으로 설정해 주면 된다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&quot;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;spring.redis.password=비밀번호&lt;/span&gt;&lt;/b&gt;&quot;&lt;/span&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1749655272622&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;127.0.0.1:6379&amp;gt; keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379&amp;gt; AUTH 비밀번호
OK
127.0.0.1:6379&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;319&quot; data-origin-height=&quot;84&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s8B7p/btsQlTbJOtN/k1zPWBf8KQuqo7704ouvEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s8B7p/btsQlTbJOtN/k1zPWBf8KQuqo7704ouvEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s8B7p/btsQlTbJOtN/k1zPWBf8KQuqo7704ouvEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs8B7p%2FbtsQlTbJOtN%2Fk1zPWBf8KQuqo7704ouvEK%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;600&quot; height=&quot;158&quot; data-filename=&quot;img.png&quot; data-origin-width=&quot;319&quot; data-origin-height=&quot;84&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f5feff; text-align: center;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;비밀번호를 모를 때 확인하는 방법&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f5feff;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;만약&amp;nbsp;비밀번호를&amp;nbsp;모르겠으면&amp;nbsp;Redis&amp;nbsp;서버의&amp;nbsp;redis.conf&amp;nbsp;파일(기본적으로&amp;nbsp;/etc/redis/redis.conf에&amp;nbsp;설정&amp;nbsp;파일이&amp;nbsp;위치)을&amp;nbsp;열어&amp;nbsp;&quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;requirepass&lt;/span&gt;&quot;&amp;nbsp;항목에서&amp;nbsp;비밀번호를&amp;nbsp;확인하면&amp;nbsp;된다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;326&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PbZKR/btsOxBYn9vU/CHu2PFglvF1H4zc4df50wK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PbZKR/btsOxBYn9vU/CHu2PFglvF1H4zc4df50wK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PbZKR/btsOxBYn9vU/CHu2PFglvF1H4zc4df50wK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPbZKR%2FbtsOxBYn9vU%2FCHu2PFglvF1H4zc4df50wK%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;600&quot; height=&quot;455&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;430&quot; data-origin-height=&quot;326&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&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>운영체제/Linux (리눅스)</category>
      <category>(error) noauth authentication required.</category>
      <category>/etc/redis/redis.conf</category>
      <category>auth</category>
      <category>nosql</category>
      <category>Redis</category>
      <category>redis-cli</category>
      <category>remote dictionary server</category>
      <category>requirepass</category>
      <category>레디스</category>
      <category>세션</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/203</guid>
      <comments>https://save-idea.tistory.com/203#entry203comment</comments>
      <pubDate>Thu, 12 Jun 2025 00:53:55 +0900</pubDate>
    </item>
    <item>
      <title>[Spring] 개발 생산성 높이는 유용한 JPA 설정</title>
      <link>https://save-idea.tistory.com/202</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ SQL문을 콘솔에 출력&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;애플리케이션이 실행될 때 Hibernate가 실행하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;SQL 문을 콘솔에 출력&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;해 준다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;디버깅이나&amp;nbsp;성능&amp;nbsp;튜닝&amp;nbsp;시,&amp;nbsp;실제로&amp;nbsp;어떤&amp;nbsp;쿼리가&amp;nbsp;오가는지&amp;nbsp;확인할&amp;nbsp;때&amp;nbsp;유용하다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;b&gt;[ 설정 : application.properties ]&lt;/b&gt;&lt;br /&gt;spring.jpa.properties.hibernate.show_sql=true&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;[ 설정 : application.yml ]&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;spring:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;jpa:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;properties:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hibernate:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;show_sql: true&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;[ 적용 ]&lt;/span&gt; &lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1801&quot; data-origin-height=&quot;23&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCmSum/btsOtoljW5A/w4h8s1kFkDc3B14lfK4I70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCmSum/btsOtoljW5A/w4h8s1kFkDc3B14lfK4I70/img.png&quot; data-alt=&quot;적용 후&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCmSum/btsOtoljW5A/w4h8s1kFkDc3B14lfK4I70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCmSum%2FbtsOtoljW5A%2Fw4h8s1kFkDc3B14lfK4I70%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;1801&quot; height=&quot;23&quot; data-origin-width=&quot;1801&quot; data-origin-height=&quot;23&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;적용 후&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-start=&quot;41&quot; data-end=&quot;182&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ SQL문을 줄 바꿈&amp;middot;들여 쓰기 해서 출력&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 출력된&amp;nbsp;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;SQL을&lt;/span&gt;&lt;/b&gt;&amp;nbsp;한 줄이 아닌 보기 좋게&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;줄 바꿈&amp;middot;들여 쓰기&lt;/b&gt;&lt;/span&gt;&amp;nbsp;해 준다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;복잡한 JOIN&amp;middot;서브쿼리도 구조를 한눈에 파악하기 쉬워진다. &lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;[ 설정 : application.properties ]&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;spring.jpa.properties.hibernate.format_sql=true&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;[ 설정 : application.yml ]&lt;/b&gt;&lt;br /&gt;spring:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;jpa:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;properties:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hibernate:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;format_sql: true&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[ 적용 ]&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1801&quot; data-origin-height=&quot;23&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCmSum/btsOtoljW5A/w4h8s1kFkDc3B14lfK4I70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCmSum/btsOtoljW5A/w4h8s1kFkDc3B14lfK4I70/img.png&quot; data-alt=&quot;적용 전&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCmSum/btsOtoljW5A/w4h8s1kFkDc3B14lfK4I70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCmSum%2FbtsOtoljW5A%2Fw4h8s1kFkDc3B14lfK4I70%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;1801&quot; height=&quot;23&quot; data-origin-width=&quot;1801&quot; data-origin-height=&quot;23&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;적용 전&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1799&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wqpVv/btsOusAaWgs/hDujXgTacrEAs0iBMehdCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wqpVv/btsOusAaWgs/hDujXgTacrEAs0iBMehdCK/img.png&quot; data-alt=&quot;적용 후&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wqpVv/btsOusAaWgs/hDujXgTacrEAs0iBMehdCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwqpVv%2FbtsOusAaWgs%2FhDujXgTacrEAs0iBMehdCK%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;1799&quot; height=&quot;261&quot; data-origin-width=&quot;1799&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;적용 후&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ SQL 파라미터 로그 확인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;logging.level.org.hibernate.type.descriptor.sql.BasicBinder 로거의 레벨을 TRACE 로 올리면,&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;SQL 실행 전 파라미터 바인딩 정보를 확인&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;할 수 있다.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;b&gt;[ 설정 : application.properties ]&lt;/b&gt;&lt;br /&gt;logging.level.org.hibernate.type.descriptor.sql.BasicBinder:&amp;nbsp;TRACE&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[ 설정 : application.yml ]&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;logging:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;level:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.hibernate.type.descriptor.sql.BasicBinder:&amp;nbsp;TRACE&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[ 적용 ]&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1799&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wqpVv/btsOusAaWgs/hDujXgTacrEAs0iBMehdCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wqpVv/btsOusAaWgs/hDujXgTacrEAs0iBMehdCK/img.png&quot; data-alt=&quot;적용 전&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wqpVv/btsOusAaWgs/hDujXgTacrEAs0iBMehdCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwqpVv%2FbtsOusAaWgs%2FhDujXgTacrEAs0iBMehdCK%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;1799&quot; height=&quot;261&quot; data-origin-width=&quot;1799&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;적용 전&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1797&quot; data-origin-height=&quot;343&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAvbxo/btsOs1KIeZ1/BDGH7kWgrExazdyJJwz8e1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAvbxo/btsOs1KIeZ1/BDGH7kWgrExazdyJJwz8e1/img.png&quot; data-alt=&quot;적용 후&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAvbxo/btsOs1KIeZ1/BDGH7kWgrExazdyJJwz8e1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAvbxo%2FbtsOs1KIeZ1%2FBDGH7kWgrExazdyJJwz8e1%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;1797&quot; height=&quot;343&quot; data-origin-width=&quot;1797&quot; data-origin-height=&quot;343&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;적용 후&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 데이터베이스 스키마(테이블&amp;middot;컬럼 등)를 자동 생성/변경 방지&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;애플리케이션 구동 시점에 Hibernate가&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;데이터베이스&amp;nbsp;스키마(테이블&amp;middot;컬럼&amp;nbsp;등)를&amp;nbsp;자동으로&amp;nbsp;생성&amp;middot;변경하지&amp;nbsp;않도록&amp;nbsp;설정&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;[ 설정 : &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;application.properties ]&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;spring.jpa.hibernate.ddl-auto=none&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;[ 설정 : application.yml ]&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;spring:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;jpa:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hibernate:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ddl-auto:&amp;nbsp;none&lt;/span&gt; &lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>프레임워크/Spring (스프링)</category>
      <category>Java Persistence API</category>
      <category>jpa</category>
      <category>logging.level.org.hibernate.type.descriptor.sql.basicbinder: trace</category>
      <category>spring</category>
      <category>spring.jpa.hibernate.ddl-auto</category>
      <category>spring.jpa.properties.hibernate.format_sql</category>
      <category>spring.jpa.properties.hibernate.show_sql</category>
      <category>sql 줄바꿈</category>
      <category>sql 출력</category>
      <category>스프링</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/202</guid>
      <comments>https://save-idea.tistory.com/202#entry202comment</comments>
      <pubDate>Mon, 9 Jun 2025 00:16:25 +0900</pubDate>
    </item>
    <item>
      <title>[네이버 지도] Application Services 상품의 Maps API 사용 방법</title>
      <link>https://save-idea.tistory.com/201</link>
      <description>&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #222;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #222;&quot;&gt;AI NAVER API 상품의 Maps API 서비스는 종료될 예정이기 때문에, &lt;br /&gt;2025년 3월 20일에 새롭게 출시된 Application Services 상품의 Maps API 사용 방법에 대해 알아본다.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/200&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] AI NAVER API - Maps(지도) 무료 이용량 제공 중단 관련&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. NAVER CLOUD PLATFORM (개인/일반 기업용) 웹사이트 접속 후 우측 상단의 「콘솔」버튼 클릭&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://www.ncloud.com/&quot;&gt;https://www.ncloud.com/&lt;/a&gt; &lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;781&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVphBK/btsOsQA8qUj/6XX3sWOmmwMQswr2BKxTKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVphBK/btsOsQA8qUj/6XX3sWOmmwMQswr2BKxTKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVphBK/btsOsQA8qUj/6XX3sWOmmwMQswr2BKxTKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVphBK%2FbtsOsQA8qUj%2F6XX3sWOmmwMQswr2BKxTKK%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;1920&quot; height=&quot;781&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;781&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;2. Services &amp;gt; All &amp;gt; Application Services &amp;gt; &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Maps&lt;/span&gt;&lt;/b&gt; 클릭&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;787&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKi8Wy/btsOrrJufT5/2VoJGQH75VDeEbZCYZlCk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKi8Wy/btsOrrJufT5/2VoJGQH75VDeEbZCYZlCk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKi8Wy/btsOrrJufT5/2VoJGQH75VDeEbZCYZlCk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKi8Wy%2FbtsOrrJufT5%2F2VoJGQH75VDeEbZCYZlCk0%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;1920&quot; height=&quot;787&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;787&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;3. &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;이용 신청&lt;/span&gt;&lt;/b&gt; 버튼 클릭&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tDWfr/btsOElAC8tL/ce1NLv8grkt6lhB2zBe6k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tDWfr/btsOElAC8tL/ce1NLv8grkt6lhB2zBe6k1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tDWfr/btsOElAC8tL/ce1NLv8grkt6lhB2zBe6k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtDWfr%2FbtsOElAC8tL%2Fce1NLv8grkt6lhB2zBe6k1%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;1280&quot; height=&quot;344&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;position: absolute;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;4. &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;약관 동의&lt;/span&gt;&lt;/b&gt; 체크 후, &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;확인&lt;/span&gt;&lt;/b&gt; 버튼 클릭&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;691&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W3nSp/btsOsm8rHi4/jGKY9WCiF3SP9FZ4I0IEIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W3nSp/btsOsm8rHi4/jGKY9WCiF3SP9FZ4I0IEIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W3nSp/btsOsm8rHi4/jGKY9WCiF3SP9FZ4I0IEIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW3nSp%2FbtsOsm8rHi4%2FjGKY9WCiF3SP9FZ4I0IEIK%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;1000&quot; height=&quot;691&quot; data-origin-width=&quot;1000&quot; data-origin-height=&quot;691&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;5. &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;Application 등록&lt;/span&gt;&lt;/b&gt; 버튼 클릭&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;515&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Bfxtv/btsOB0rmQn0/eeQ4gz616rbmKhCaxr0TQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Bfxtv/btsOB0rmQn0/eeQ4gz616rbmKhCaxr0TQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Bfxtv/btsOB0rmQn0/eeQ4gz616rbmKhCaxr0TQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBfxtv%2FbtsOB0rmQn0%2FeeQ4gz616rbmKhCaxr0TQK%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;1920&quot; height=&quot;515&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;515&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;6. Application 정보 및 서비스 환경 등록 입력 후, 등록 버튼 클릭&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Application 정보 &amp;gt; Application이름 : 임의지정&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Application 정보 &amp;gt; API 선택 : 사용할 지도 API 체크&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 서비스 환경 등록 &amp;gt; Web 서비스 URL(최대 10개) : 지도 API를 적용할 URL 입력&lt;/span&gt;&lt;br /&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;919&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/M6V0S/btsODi5YGbY/ypLqGIkcKweyG1WokTRARK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/M6V0S/btsODi5YGbY/ypLqGIkcKweyG1WokTRARK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/M6V0S/btsODi5YGbY/ypLqGIkcKweyG1WokTRARK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FM6V0S%2FbtsODi5YGbY%2FypLqGIkcKweyG1WokTRARK%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;1920&quot; height=&quot;919&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;919&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;7. API 관리 &amp;gt; &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;인증 정보&lt;/span&gt;&lt;/b&gt; 버튼 클릭&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;530&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMUU5L/btsOCMfbWbX/rYnbMEBAF8kADIc0V33A81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMUU5L/btsOCMfbWbX/rYnbMEBAF8kADIc0V33A81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMUU5L/btsOCMfbWbX/rYnbMEBAF8kADIc0V33A81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMUU5L%2FbtsOCMfbWbX%2FrYnbMEBAF8kADIc0V33A81%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;1920&quot; height=&quot;530&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;530&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;8. Application key &amp;gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;Client ID&lt;/b&gt;&lt;/span&gt; : 발급된 Client ID 복사 해 &lt;span style=&quot;background-color: #f8fceb; text-align: left;&quot;&gt;ncpKeyId 값으로 사용한다.&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;699&quot; data-origin-height=&quot;629&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pNZp5/btsODJIIYpB/at6wS5mQ4CD8gf9VylcEgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pNZp5/btsODJIIYpB/at6wS5mQ4CD8gf9VylcEgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pNZp5/btsODJIIYpB/at6wS5mQ4CD8gf9VylcEgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpNZp5%2FbtsODJIIYpB%2Fat6wS5mQ4CD8gf9VylcEgK%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;699&quot; height=&quot;629&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;699&quot; data-origin-height=&quot;629&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;9. API호출 관련해서는 Client ID를 설정하는 파라미터명(ncpKeyId)이 다른 거 이외에는 기존의 &lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #f8fceb; color: #222222; text-align: left;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;AI NAVER API 상품의 Maps API 사용법과 거의 동일하다.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; text-align: left;&quot;&gt;&lt;a style=&quot;color: #006dd7; text-align: left;&quot; href=&quot;https://save-idea.tistory.com/95&quot;&gt;[네이버 지도] 로컬환경(localhost)에서 NAVER 지도 API v3 사용 하기&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #f8fceb; color: #222222; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;824&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3E92E/btsOrEIBtHC/wsdGkEzEkSHRUNOL2KdYr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3E92E/btsOrEIBtHC/wsdGkEzEkSHRUNOL2KdYr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3E92E/btsOrEIBtHC/wsdGkEzEkSHRUNOL2KdYr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3E92E%2FbtsOrEIBtHC%2FwsdGkEzEkSHRUNOL2KdYr0%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;1920&quot; height=&quot;824&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;824&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;blockquote style=&quot;border-radius: 20px; background-color: #f8fceb;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;10. 새로 발급받은 Client ID로 생성한 맵이 잘 나오고, 정상적으로 나오고 사용량도 증가하는 거 까지 확인되면 완료.&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;817&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MB45L/btsOstGfiYq/qPcTv5Ufd2hg5zNpMPRZTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MB45L/btsOstGfiYq/qPcTv5Ufd2hg5zNpMPRZTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MB45L/btsOstGfiYq/qPcTv5Ufd2hg5zNpMPRZTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMB45L%2FbtsOstGfiYq%2FqPcTv5Ufd2hg5zNpMPRZTk%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;1920&quot; height=&quot;817&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;817&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;557&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOjYQw/btsODJvbnXC/sH721am3dut8oKBxDuISp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOjYQw/btsODJvbnXC/sH721am3dut8oKBxDuISp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOjYQw/btsODJvbnXC/sH721am3dut8oKBxDuISp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOjYQw%2FbtsODJvbnXC%2FsH721am3dut8oKBxDuISp1%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;1920&quot; height=&quot;557&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;557&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] 로컬환경(localhost)에서 NAVER 지도 API v3 사용 하기&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/96&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도 생성하기 + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/97&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도의 출력 언어 변경하기 + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/98&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도에 마커(Marker) 표시하기 (단일,다중마커) + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/99&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도 이미지를 마커(Marker)로 사용하기 + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/140&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도 초기화 하기 + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://save-idea.tistory.com/200&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] AI NAVER API - Maps(지도) 무료 이용량 제공 중단 관련&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;[네이버&amp;nbsp;지도]&amp;nbsp;Application&amp;nbsp;Services&amp;nbsp;상품의&amp;nbsp;Maps&amp;nbsp;API&amp;nbsp;사용&amp;nbsp;방법&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;Maps API 사용법&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://navermaps.github.io/maps.js.ncp/docs/tutorial-2-Getting-Started.html&quot;&gt;https://navermaps.github.io/maps.js.ncp/docs/tutorial-2-Getting-Started.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>언어/JavaScript</category>
      <category>ai naver api</category>
      <category>api v3</category>
      <category>application services</category>
      <category>client id</category>
      <category>finclientid</category>
      <category>govclientid</category>
      <category>maps</category>
      <category>naver maps</category>
      <category>ncpkeyid</category>
      <category>네이버지도</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/201</guid>
      <comments>https://save-idea.tistory.com/201#entry201comment</comments>
      <pubDate>Sun, 8 Jun 2025 20:36:49 +0900</pubDate>
    </item>
    <item>
      <title>[네이버 지도] AI NAVER API - Maps(지도) 무료 이용량 제공 중단 관련</title>
      <link>https://save-idea.tistory.com/200</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;2025년 5월 28일 네이버 클라우드(개인/일반 기업용, 공공 기관용, 금융 기관용) 공지사항에&lt;br /&gt;&quot;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;AI&amp;nbsp;NAVER&amp;nbsp;API의&amp;nbsp;Maps&amp;nbsp;API&amp;nbsp;무료&amp;nbsp;이용량&amp;nbsp;제공&amp;nbsp;중단&lt;/span&gt;&lt;/b&gt;&quot;에&amp;nbsp;관한&amp;nbsp;공지가&amp;nbsp;올라와&amp;nbsp;있어&amp;nbsp;관련내용을&amp;nbsp;정리해&amp;nbsp;본다.&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;결론을 요약하면 다음과 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;AI NAVER API 상품의&lt;/span&gt; Maps API&lt;/span&gt; &lt;/span&gt;서비스는 그동안 매달 일정량의 무료이용량이 제공됐으나, &lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;2025년 7월 1일을 기점으로 100% 유료로 전환&lt;/span&gt;된다. &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;(Mobile Dynamic Map, Web Dynamic Map, Static Map, Geocoding, Reverse Geocoding, Directions5, Directions15)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;2. &lt;span style=&quot;color: #006dd7;&quot;&gt;AI NAVER API 상품의 Maps API&lt;/span&gt; 서비스는 점진적으로 &lt;span style=&quot;color: #ee2323;&quot;&gt;종료될 예정&lt;/span&gt;이다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt; AI NAVER API 상품의 Maps는 앞으로 종료될 예정이며, 개인/일반 기업용, 공공 기관용, 금융 기관용 클라우드 모두 공통적으로 적용된다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;(정확한 종료 일정은 정해지지 않았으나, 종료일 확정시 수개월 전 별도 공지)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;이는 2025년 3월 20일에 새롭게 출시된 Application Services 상품의 Maps로 유입시키려는 전략이 아닐까 생각된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;(&lt;span style=&quot;text-align: left;&quot;&gt;Application Services 상품의 Maps는 매달 일정량의 무료이용량이 제공됨)&lt;/span&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;1920&quot; data-origin-height=&quot;917&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oKEiF/btsOqFA24IR/lIteT0IzC0nUvoDN8BsiO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oKEiF/btsOqFA24IR/lIteT0IzC0nUvoDN8BsiO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oKEiF/btsOqFA24IR/lIteT0IzC0nUvoDN8BsiO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoKEiF%2FbtsOqFA24IR%2FlIteT0IzC0nUvoDN8BsiO0%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;1920&quot; height=&quot;917&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;917&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;API 가이드도 보면 Application Services 상품의 Maps와 달리 기존 &lt;span style=&quot;text-align: left;&quot;&gt;AI NAVER API 상품의 Maps에는 벌써 &quot;사용하지 않음&quot;(&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;deprecated&lt;/span&gt;&lt;/b&gt;)으로 표기돼 있다.&lt;/span&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;1920&quot; data-origin-height=&quot;756&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQorhP/btsOrw4OAkF/BSq6KgKaOJQ8JsFFfzVCV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQorhP/btsOrw4OAkF/BSq6KgKaOJQ8JsFFfzVCV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQorhP/btsOrw4OAkF/BSq6KgKaOJQ8JsFFfzVCV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQorhP%2FbtsOrw4OAkF%2FBSq6KgKaOJQ8JsFFfzVCV1%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;1920&quot; height=&quot;756&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;756&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Maps API 가이드에도 변화가 있는데, 기존 서비스(&lt;span style=&quot;text-align: left;&quot;&gt;AI NAVER API 상품의 Maps&lt;/span&gt;)중단 관련 안내 내용이 추가되었고,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 클라우드 (&lt;span style=&quot;text-align: left;&quot;&gt;개인/일반 기업용, 공공 기관용, 금융 기관용&lt;/span&gt;)에 따라 달랐던 클라이언트 아이디 호출방식도 신규 서비스(Application Services 상품의 Maps)의 호출방식으로 유도하고 있다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 48px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style5&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 69%; height: 16px; text-align: center;&quot; colspan=&quot;3&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;AI&amp;nbsp;NAVER&amp;nbsp;API&amp;nbsp;상품의&amp;nbsp;Maps&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31%; height: 16px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Application&amp;nbsp;Services&amp;nbsp;상품의&amp;nbsp;Maps&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 23%; height: 16px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;개인/일반&amp;nbsp;기업용&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23%; height: 16px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;공공&amp;nbsp;기관용&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23%; height: 16px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;금융&amp;nbsp;기관용&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31%; height: 16px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 개인/일반&amp;nbsp;기업용 &lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 23%; height: 16px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; ncpClientId &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23%; height: 16px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; govClientId &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23%; height: 16px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; finClientId&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 31%; height: 16px; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; ncpKeyId &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;893&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCssgc/btsOrXHIKMw/CD3plSc174QjFtjDk29rlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCssgc/btsOrXHIKMw/CD3plSc174QjFtjDk29rlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCssgc/btsOrXHIKMw/CD3plSc174QjFtjDk29rlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCssgc%2FbtsOrXHIKMw%2FCD3plSc174QjFtjDk29rlK%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;1920&quot; height=&quot;893&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;893&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;애매한 점은 Application Services 상품의 Maps는 공공 기관용과 금융 기관용 클라우드에서는 제공되고 있지 않아서 &lt;span style=&quot;text-align: left;&quot;&gt;AI NAVER API 상품의 Maps 서비스 종료 시, 공공이나 금융 기관용 클라우드를 이용하다가 지도사용만을 위해 개인/일반 기업용 클라우드 계정을 별도로 생성해 병행해서 사용해야 하는 불편함이 생기는데 이 부분은 어떻게 될지 지켜봐야 할거 같다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;792&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lEF0d/btsOrnfVDvP/SUyaom9WWzckcIkJUnMucK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lEF0d/btsOrnfVDvP/SUyaom9WWzckcIkJUnMucK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lEF0d/btsOrnfVDvP/SUyaom9WWzckcIkJUnMucK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlEF0d%2FbtsOrnfVDvP%2FSUyaom9WWzckcIkJUnMucK%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;1920&quot; height=&quot;792&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;792&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[네이버 지도] 로컬환경(localhost)에서 NAVER 지도 API v3 사용 하기&quot; href=&quot;https://save-idea.tistory.com/95&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] 로컬환경(localhost)에서 NAVER 지도 API v3 사용 하기&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[네이버 지도] NAVER 지도 생성하기 + 예제&quot; href=&quot;https://save-idea.tistory.com/96&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도 생성하기 + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[네이버 지도] NAVER 지도의 출력 언어 변경하기 + 예제&quot; href=&quot;https://save-idea.tistory.com/97&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도의 출력 언어 변경하기 + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[네이버 지도] NAVER 지도에 마커(Marker) 표시하기 (단일,다중마커) + 예제&quot; href=&quot;https://save-idea.tistory.com/98&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도에 마커(Marker) 표시하기 (단일,다중마커) + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[네이버 지도] NAVER 지도 이미지를 마커(Marker)로 사용하기 + 예제&quot; href=&quot;https://save-idea.tistory.com/99&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도 이미지를 마커(Marker)로 사용하기 + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[네이버 지도] NAVER 지도 초기화 하기 + 예제&quot; href=&quot;https://save-idea.tistory.com/140&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] NAVER 지도 초기화 하기 + 예제&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;[네이버&amp;nbsp;지도]&amp;nbsp;AI&amp;nbsp;NAVER&amp;nbsp;API&amp;nbsp;-&amp;nbsp;Maps(지도)&amp;nbsp;무료&amp;nbsp;이용량&amp;nbsp;제공&amp;nbsp;중단&amp;nbsp;관련&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[네이버 지도] Application Services 상품의 Maps API 사용 방법&quot; href=&quot;https://save-idea.tistory.com/201&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[네이버 지도] Application Services 상품의 Maps API 사용 방법&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;AI NAVER API ▶ 지도 API 무료 이용량 제공 중단 예정 안내 (&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;개인/일반 기업용)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;AI NAVER API ▶ 지도 API 무료 이용량 제공 중단 예정 안내&quot; href=&quot;https://www.ncloud.com/support/notice/all/1965&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.ncloud.com/support/notice/all/1965&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;AI NAVER API ▶ 지도 API 무료 이용량 제공 중단 예정 안내 (&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;공공 기관용)&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;AI NAVER API ▶ 지도 API 무료 이용량 제공 중단 예정 안내&quot; href=&quot;https://www.gov-ncloud.com/support/notice/all/528&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.gov-ncloud.com/support/notice/all/528&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;AI NAVER API ▶ 지도 API 무료 이용량 제공 중단 예정 안내 (&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;금융 기관용)&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;AI NAVER API ▶ 지도 API 무료 이용량 제공 중단 예정 안내&quot; href=&quot;https://www.fin-ncloud.com/support/notice/all/1644&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.fin-ncloud.com/support/notice/all/1644&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/IT 일반</category>
      <category>ai naver api</category>
      <category>api v3</category>
      <category>application services</category>
      <category>finclientid</category>
      <category>govclientid</category>
      <category>maps</category>
      <category>naver maps</category>
      <category>ncpclientid</category>
      <category>ncpkeyid</category>
      <category>네이버지도</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/200</guid>
      <comments>https://save-idea.tistory.com/200#entry200comment</comments>
      <pubDate>Sat, 7 Jun 2025 00:56:30 +0900</pubDate>
    </item>
    <item>
      <title>[마이바티스] MyBatis Invalid bound statement (not found): ~ 에러</title>
      <link>https://save-idea.tistory.com/199</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):&lt;/span&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;메서드명&lt;/span&gt; ~ 에러원인&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;에러 원인은 이전에 포스팅했던 글에서의 원인과 동일하기 때문에 아래 링크에서 참조하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;[마이바티스] MyBatis Mapped Statements collection does not contain value for ~ 에러&quot; href=&quot;https://save-idea.tistory.com/121&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[마이바티스] MyBatis Mapped Statements collection does not contain value for ~ 에러&lt;/a&gt;&lt;/u&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이번글에서는 에러가 어느 시점에&lt;span style=&quot;text-align: start;&quot;&gt; &lt;/span&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;MyBatis가 동작할때 내부적으로는 다음과 같은 코드 흐름이 일어난다.&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;초기화 시점에는 MyBatis가 매퍼 XML을 로드하여 mappedStatements 컬렉션만 구성할 뿐, Mapper파일의 namespace, ID 등의 매핑이 안된다거나 존재하지 않는 메서드까지 미리 검증하지 않는다.&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;1837&quot; data-origin-height=&quot;203&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kxRnX/btsOsWt0KXD/k0K8LN2FiA2dgpBQCPkIkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kxRnX/btsOsWt0KXD/k0K8LN2FiA2dgpBQCPkIkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kxRnX/btsOsWt0KXD/k0K8LN2FiA2dgpBQCPkIkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkxRnX%2FbtsOsWt0KXD%2Fk0K8LN2FiA2dgpBQCPkIkk%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;1837&quot; height=&quot;203&quot; data-origin-width=&quot;1837&quot; data-origin-height=&quot;203&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1835&quot; data-origin-height=&quot;597&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8G6XV/btsOrAshWzw/tng0W6EawkxcwriS1GVVKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8G6XV/btsOrAshWzw/tng0W6EawkxcwriS1GVVKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8G6XV/btsOrAshWzw/tng0W6EawkxcwriS1GVVKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8G6XV%2FbtsOrAshWzw%2Ftng0W6EawkxcwriS1GVVKK%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;1835&quot; height=&quot;597&quot; data-origin-width=&quot;1835&quot; data-origin-height=&quot;597&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;따라서 이 시점에서는 초기화 자체가 실패하거나 에러 메시지가 곧장 출력되지 않고, 컬렉션이 단순히 &amp;ldquo;비어 있거나 일부만 채워진 상태&amp;rdquo;로 넘어가고, DAO 메서드를 실제로 호출하는 시점에야 비로소 &amp;ldquo;해당 ID의 매퍼 SQL이 있는지&amp;rdquo;를 확인하고, 없으면 최종적으로 BindingException(&quot;Invalid&amp;nbsp;bound&amp;nbsp;statement&amp;nbsp;&amp;hellip;&quot;)를&amp;nbsp;던지게&amp;nbsp;된다.&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;1883&quot; data-origin-height=&quot;642&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmp3ym/btsOs5qKDMh/ON6gHsHDpn01ha4TxdgRY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmp3ym/btsOs5qKDMh/ON6gHsHDpn01ha4TxdgRY0/img.png&quot; data-alt=&quot;org.apache.ibatis.binding.MapperMethod.SqlCommand.Class&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmp3ym/btsOs5qKDMh/ON6gHsHDpn01ha4TxdgRY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcmp3ym%2FbtsOs5qKDMh%2FON6gHsHDpn01ha4TxdgRY0%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;1883&quot; height=&quot;642&quot; data-origin-width=&quot;1883&quot; data-origin-height=&quot;642&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;org.apache.ibatis.binding.MapperMethod.SqlCommand.Class&lt;/figcaption&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;요약해 보면, &lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;DAO 호출 시점에 처음으로 키 존재 여부를 검사하고 그때 예외를 던지기 때문에, 초기화 단계에서는 별다른 에러가 없이 넘어갈 수 있다&lt;/span&gt;라고 이해하면 되겠다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;그러면 발생 원인은 똑같은데 에러 메시지가 &quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;Mapped Statements collection ~&lt;/span&gt;&quot;인 경우와 &quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;Invalid bound statement ~&lt;/span&gt;&quot;인 경우의 차이는 무엇인가?&lt;/span&gt;&lt;/b&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;결론부터 말하면 MyBatis의 버전에 따른 차이이다.&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;MyBatis 3.3.x 이하의 버전에서는 Configuration.getMappedStatement(...) 자체가 &amp;ldquo;Mapped Statements collection does not contain value for &amp;hellip;&amp;rdquo; 예외를 던지도록 되어 있었다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;하지만 MyBatis 3.4.x 이상의 버전에서 내부 구현을 개선하면서, resolveMappedStatement(...) 메서드가 getMappedStatement(...) 호출 시 발생한 BuilderException을 직접 잡아서 null(mappedStatements.get(id)에 값이 없으면 null)을 리턴하도록 바뀌었고&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;1839&quot; data-origin-height=&quot;484&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXtLbx/btsOtgZ5Mkv/Qxz8THQ2YlbYLgtmiiL7C1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXtLbx/btsOtgZ5Mkv/Qxz8THQ2YlbYLgtmiiL7C1/img.png&quot; data-alt=&quot;org.apache.ibatis.session.Configuration.Class&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXtLbx/btsOtgZ5Mkv/Qxz8THQ2YlbYLgtmiiL7C1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXtLbx%2FbtsOtgZ5Mkv%2FQxz8THQ2YlbYLgtmiiL7C1%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;1839&quot; height=&quot;484&quot; data-origin-width=&quot;1839&quot; data-origin-height=&quot;484&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;org.apache.ibatis.session.Configuration.Class&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;그 결과 Configuration 단계에서 &amp;ldquo;Mapped Statements&amp;hellip;&amp;rdquo; 메시지를 내지 않고, 곧바로 MapperMethod 단계까지 넘어와서 BindingException(&quot;Invalid bound statement&amp;hellip;&quot;)만 던지도록 수정되었다.&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;1423&quot; data-origin-height=&quot;457&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biIopT/btsOroTeEzz/F9BAUFjBNA1v20yLOyzps1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biIopT/btsOroTeEzz/F9BAUFjBNA1v20yLOyzps1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biIopT/btsOroTeEzz/F9BAUFjBNA1v20yLOyzps1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiIopT%2FbtsOroTeEzz%2FF9BAUFjBNA1v20yLOyzps1%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;1423&quot; height=&quot;457&quot; data-origin-width=&quot;1423&quot; data-origin-height=&quot;457&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1417&quot; data-origin-height=&quot;414&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tP8oj/btsOtiji7O6/saFm25vgtGJOs07lSrqDa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tP8oj/btsOtiji7O6/saFm25vgtGJOs07lSrqDa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tP8oj/btsOtiji7O6/saFm25vgtGJOs07lSrqDa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtP8oj%2FbtsOtiji7O6%2FsaFm25vgtGJOs07lSrqDa0%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;1417&quot; height=&quot;414&quot; data-origin-width=&quot;1417&quot; data-origin-height=&quot;414&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;요약하면 &lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;에러메시지에 &amp;ldquo;Invalid bound statement (not found): ~&amp;rdquo;만 보이는 이유는, 이미 내부에서 getMapped Statement(...) 예외를 잡아서 null 처리 후 오로지 BindingException 메시지만 남기도록 바뀐 버전의 MyBatis를 사용하고 있기 때문&lt;/span&gt;이라고 이해하면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>데이터베이스/MyBatis (마이바티스)</category>
      <category>getmappedstatement</category>
      <category>invalid bound statement (not found):</category>
      <category>mapped statements collection does not contain value for</category>
      <category>mapper파일</category>
      <category>myBatis</category>
      <category>org.apache.ibatis.binding.bindingexception</category>
      <category>org.apache.ibatis.binding.mappermethod.sqlcommand.class</category>
      <category>org.apache.ibatis.session.configuration.class</category>
      <category>resolvemappedstatement</category>
      <category>마이바티스</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/199</guid>
      <comments>https://save-idea.tistory.com/199#entry199comment</comments>
      <pubDate>Thu, 5 Jun 2025 10:18:28 +0900</pubDate>
    </item>
    <item>
      <title>[Apache POI] 같은 엑셀 파일 내 시트 하이퍼링크 생성 시 참조 오류</title>
      <link>https://save-idea.tistory.com/198</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 하이퍼링크 참조 오류 및 해결 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Java에서 Apache POI의 XSSF API를 이용해 동일 워크북 내 특정 시트로 이동하는 하이퍼링크를 &lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;걸었으나, 생성된 엑셀에서 해당 하이퍼링크를 클릭해도 참조가 되지 않는 문제가 발생함.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left; font-family: 'Noto Sans Light';&quot;&gt;하이퍼링크 참조가 안 돼서 엑셀파일에서 직접 하이퍼링크를 걸고 해당 셀에 마우스를 가져가보니 POI에서 생성한 링크와 달리 이동할 시트명 + 셀번호 형식으로 지정이 돼있있음.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;POI에서 시트명 뒤에 참조할 셀번호(! A1)까지 추가한 뒤 다시 엑셀파일을 생성해 봤지만, 여전히 링크 참조가 안됨.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;자세히 보니 엑셀에서 직접 생성한 하이퍼링크는 시트명이 작은따옴표(')로 감싸져 있었음.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;POI에서 setLocation를 사 &lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;작은따옴표를 포함한 올바른 정확한 형식 &lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;('시트명'! A1)으로 설정하니 하이퍼링크가 잘 작동함.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&amp;lt;하이퍼링크 형식&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;setLocation(&quot;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;'&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;참조시트명&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;'!&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;참조셀번호&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1749042620092&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CreationHelper createHelper = workbook.getCreationHelper();
XSSFHyperlink sheetLink = (XSSFHyperlink) createHelper.createHyperlink(XSSFHyperlink.LINK_DOCUMENT);
sheetLink.setLocation(&quot;'&quot; + JRVo.getStartTime() + &quot;'&quot; + &quot;!A1&quot;);
sheet.getRow(sheet.getLastRowNum()).getCell(0).setHyperlink(sheetLink);&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-end=&quot;258&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 참고사항&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;POI로 생성된 링크는 구별하기 어려우므로 필요시 글자에 밑줄과 파란색을 적용하여 링크인지 쉽게 알도록 처리하는 게 좋다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; &lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;setAddress()&lt;/span&gt;는 외부 URL이나 이메일등에 사용하고, 같은 파일 내 다른 시트로 링크를&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;걸 때는&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;setLocation()&lt;/span&gt;를 사용해야 한다.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>라이브러리/Apache POI</category>
      <category>apache poi</category>
      <category>creationhelper</category>
      <category>Excel</category>
      <category>setaddress()</category>
      <category>setlocation()</category>
      <category>xssf</category>
      <category>xssfhyperlink</category>
      <category>엑셀</category>
      <category>포이</category>
      <category>하이퍼링크 형식</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/198</guid>
      <comments>https://save-idea.tistory.com/198#entry198comment</comments>
      <pubDate>Wed, 4 Jun 2025 22:33:46 +0900</pubDate>
    </item>
    <item>
      <title>구글 지도 API 없이 공유하기 기능으로 지도 표시하기</title>
      <link>https://save-idea.tistory.com/157</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;구글지도의 API 를 사용하지 않고, 공유하기 기능을 이용하여 구글 지도를 표시하는 방법&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. 구글지도에 접속 후, 원하는 지역을 검색 &amp;rArr;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;공유&lt;/b&gt;&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;921&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSfktc/btsOoa02H3C/X6gSjofsw77BFY7F04pKxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSfktc/btsOoa02H3C/X6gSjofsw77BFY7F04pKxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSfktc/btsOoa02H3C/X6gSjofsw77BFY7F04pKxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSfktc%2FbtsOoa02H3C%2FX6gSjofsw77BFY7F04pKxK%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;1920&quot; height=&quot;921&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;921&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2.「&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;지도 퍼가기&lt;/span&gt;&lt;/b&gt;」탭 클릭 &amp;rArr;「&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;HTML 복사&lt;/b&gt;&lt;/span&gt;」링크 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;921&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/THjSp/btsOo6Q4yN5/4XiTv5tpwz9RhSKzKVSxK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/THjSp/btsOo6Q4yN5/4XiTv5tpwz9RhSKzKVSxK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/THjSp/btsOo6Q4yN5/4XiTv5tpwz9RhSKzKVSxK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTHjSp%2FbtsOo6Q4yN5%2F4XiTv5tpwz9RhSKzKVSxK0%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;1920&quot; height=&quot;921&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;921&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. 복사한 HTML 코드를 원하는 위치에 삽입&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;1920&quot; data-origin-height=&quot;196&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYVwfE/btsOmtUZCPI/TAOTZB32LwZhYjRfKm8Ouk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYVwfE/btsOmtUZCPI/TAOTZB32LwZhYjRfKm8Ouk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYVwfE/btsOmtUZCPI/TAOTZB32LwZhYjRfKm8Ouk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYVwfE%2FbtsOmtUZCPI%2FTAOTZB32LwZhYjRfKm8Ouk%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;1920&quot; height=&quot;196&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;196&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;810&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WboIz/btsOoVaZhnC/WExQhT4mzBxEssOfTpYrw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WboIz/btsOoVaZhnC/WExQhT4mzBxEssOfTpYrw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WboIz/btsOoVaZhnC/WExQhT4mzBxEssOfTpYrw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWboIz%2FbtsOoVaZhnC%2FWExQhT4mzBxEssOfTpYrw1%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;1920&quot; height=&quot;810&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;810&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;4. 지도의 사이즈가 작을 경우 복사한 HTML 뒷부분의 width(가로), height(세로) 값을 지정하여 지도의 사이즈를 변경해 준다.&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;1920&quot; data-origin-height=&quot;115&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2Dipg/btsOoN5ezcD/zj7lpimxCYbKQyCDqrV6s0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2Dipg/btsOoN5ezcD/zj7lpimxCYbKQyCDqrV6s0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2Dipg/btsOoN5ezcD/zj7lpimxCYbKQyCDqrV6s0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2Dipg%2FbtsOoN5ezcD%2Fzj7lpimxCYbKQyCDqrV6s0%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;1920&quot; height=&quot;115&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;115&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;95&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Jtrjx/btsOmWWUR1H/0oH0EAkycI7MkYQMOy5N7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Jtrjx/btsOmWWUR1H/0oH0EAkycI7MkYQMOy5N7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Jtrjx/btsOmWWUR1H/0oH0EAkycI7MkYQMOy5N7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJtrjx%2FbtsOmWWUR1H%2F0oH0EAkycI7MkYQMOy5N7K%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;1920&quot; height=&quot;95&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;95&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;812&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnXdcW/btsOmGGp4my/73ZCAKEQuL9NK1LcLQqyxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnXdcW/btsOmGGp4my/73ZCAKEQuL9NK1LcLQqyxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnXdcW/btsOmGGp4my/73ZCAKEQuL9NK1LcLQqyxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnXdcW%2FbtsOmGGp4my%2F73ZCAKEQuL9NK1LcLQqyxK%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;1920&quot; height=&quot;812&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;812&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;참고로 검색을 통해 공유하는 방법 외에도, 지도에서 원하는 위치를 좌클릭해 마커를 찍은 다음, 우클릭하여「&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;이 위치 공유&lt;/span&gt;&lt;/b&gt;」를 선택하면 지도를 퍼가는 것이 가능하다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;921&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WeFGM/btsOn0K4k1O/iyXOHMcktCxkOtNHjYTp2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WeFGM/btsOn0K4k1O/iyXOHMcktCxkOtNHjYTp2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WeFGM/btsOn0K4k1O/iyXOHMcktCxkOtNHjYTp2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWeFGM%2FbtsOn0K4k1O%2FiyXOHMcktCxkOtNHjYTp2k%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;1920&quot; height=&quot;921&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;921&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;922&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXfDkg/btsOpbxSqSe/wDvYKx89KaC6J5dSVPnDr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXfDkg/btsOpbxSqSe/wDvYKx89KaC6J5dSVPnDr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXfDkg/btsOpbxSqSe/wDvYKx89KaC6J5dSVPnDr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXfDkg%2FbtsOpbxSqSe%2FwDvYKx89KaC6J5dSVPnDr1%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;1920&quot; height=&quot;922&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;922&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>언어/HTML (HyperText Markup Language)</category>
      <category>google maps</category>
      <category>html 복사</category>
      <category>구글 지도 api 없이 공유하기 기능으로 지도 표시하기</category>
      <category>구글맵</category>
      <category>구글지도</category>
      <category>구글지도 api없이 공유하기로 지도 표시하기</category>
      <category>구글지도 삽입</category>
      <category>이 위치 공유</category>
      <category>지도 퍼가기</category>
      <category>지도공유</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/157</guid>
      <comments>https://save-idea.tistory.com/157#entry157comment</comments>
      <pubDate>Wed, 4 Jun 2025 00:08:18 +0900</pubDate>
    </item>
    <item>
      <title>가상머신(VirtualBox, VMware)에서 64비트 OS가 설치되지 않거나 부팅이 안 되는 문제 해결 방법</title>
      <link>https://save-idea.tistory.com/197</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;가상머신(VirtualBox, VMware)에서 64비트 OS가 설치되지 않거나 부팅이 안 되는 문제 해결 방법&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 문제 현상&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Oracle VirtualBox나 VMware와 같은 가상화 프로그램에서 CentOS와 같은 리눅스 64비트 운영체제를 설치하려고 했지만, 아래와 같은 현상이 발생했다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;VirtualBox에서는 32비트 운영체제만 선택 가능하고, 64비트 항목이 보이지 않아서 32비트로 설치했지만, CentOS 설치 후 첫 화면에서 &amp;ldquo;진행 중&amp;rdquo;만 표시되고 더 이상 진행되지 않는 현상이 발생함.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; VMware로 사용도 해봤지만 VMware에서는 아예 에러 메시지가 뜨고, 설치나 부팅자체가 진행되지 않음.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 발생 원인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;원인은 대부분 BIOS(펌웨어) 설정에서 가상화 기능(Intel Virtualization Technology, VTx, SVM Mode 등)이 비활성화(Disabled) 되어 있기 때문인데, 가상화 기능이 꺼져 있으면 가상머신에서&amp;nbsp;64비트&amp;nbsp;OS가&amp;nbsp;동작에&amp;nbsp;필요한&amp;nbsp;CPU&amp;nbsp;명령과&amp;nbsp;모드를&amp;nbsp;제공받을&amp;nbsp;수&amp;nbsp;없어,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 64비트 OS를 선택할 수 없거나, 설치/부팅이 제대로 되지 않는 현상이 발생한다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt; BIOS에서 가상화 기능을 활성화한 뒤, PC를 재부팅한다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. BIOS 설정에 진입 (BIOS&amp;nbsp;진입&amp;nbsp;방법은 F2, Del, ESC, F10 등 제조사마다 다르다.)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2. BIOS 메뉴에서 Intel Virtualization Technology, Virtualization Technology , VTx, 또는 SVM Mode 등의 항목을 찾는다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. 해당 항목을 Enabled(활성화)로 변경한 뒤, 설정을&amp;nbsp;저장(Save&amp;nbsp;&amp;amp;&amp;nbsp;Exit)하고&amp;nbsp;재부팅한다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;4. 재부팅&amp;nbsp;후&amp;nbsp;VirtualBox나&amp;nbsp;VMware에서&amp;nbsp;새로운&amp;nbsp;가상머신을&amp;nbsp;생성하면,&amp;nbsp;64비트&amp;nbsp;운영체제&amp;nbsp;선택&amp;nbsp;메뉴가&amp;nbsp;정상적으로&amp;nbsp;나타난다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;VT.PNG&quot; data-origin-width=&quot;776&quot; data-origin-height=&quot;475&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ehbui/btsOnokGM04/txud741rIx3hHPh8yK7MP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ehbui/btsOnokGM04/txud741rIx3hHPh8yK7MP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ehbui/btsOnokGM04/txud741rIx3hHPh8yK7MP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEhbui%2FbtsOnokGM04%2Ftxud741rIx3hHPh8yK7MP0%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;776&quot; height=&quot;475&quot; data-filename=&quot;VT.PNG&quot; data-origin-width=&quot;776&quot; data-origin-height=&quot;475&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;Hardware Virtualization&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;Hardware Virtualization&quot; href=&quot;https://www.virtualbox.org/manual/ch10.html#hwvirt&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.virtualbox.org/manual/ch10.html#hwvirt&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;System requirements to install a 64-bit guest operating system on a 32-bit host&lt;/span&gt;&lt;u&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;System requirements to install a 64-bit guest operating system on a 32-bit host&quot; href=&quot;https://knowledge.broadcom.com/external/article?legacyId=1003945&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://knowledge.broadcom.com/external/article?legacyId=1003945&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>운영체제/Windows</category>
      <category>64비트 OS</category>
      <category>bios</category>
      <category>CentOS</category>
      <category>intel virtualization technology</category>
      <category>SVM Mode</category>
      <category>VirtualBox</category>
      <category>Virtualization Technology</category>
      <category>VMware</category>
      <category>vtx</category>
      <category>가상머신</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/197</guid>
      <comments>https://save-idea.tistory.com/197#entry197comment</comments>
      <pubDate>Mon, 2 Jun 2025 23:07:39 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] Swing JLabel 에서 텍스트 줄바꿈 적용하기</title>
      <link>https://save-idea.tistory.com/196</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;Java Swing을 사용하다 보면 JLabel에 긴 텍스트를 넣을 때 줄 바꿈이 적용되지 않아 한 줄로만 출력되는 경우가 있다.&lt;br /&gt;나 또한 처음에는 \n 등을 이용해 보았으나, 한 줄로만 표시되어 고생했는데, 이번 글에서는 내가 겪은 문제와 이를 해결한 과정을 정리해 본다.&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 현상&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; JLabel에 두줄로 된 문자열을 넣어야 하는데 JLabel은 기본적으로 단순 문자열 렌더링만 처리하기 때문에, &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&quot;\n&quot;이나 System.lineSeparator() 등을 사용해도 줄 바꿈이 적용되지 않고 한 줄로만 출력됨.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1748796493760&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String text = &quot;첫 번째 줄\n두 번째 줄&quot;;
JLabel label = new JLabel(text);&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1748796506706&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String newline = System.lineSeparator();
String text = &quot;첫 번째 줄&quot; + newline + &quot;두 번째 줄&quot;;
JLabel label = new JLabel(text);&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결&amp;nbsp;방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JLabel은 기본적으로 HTML 렌더링을 지원한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;문자열을 &amp;lt;html&amp;gt;&amp;hellip;&amp;lt;/html&amp;gt; 태그로 감싸면 내부적으로 HTML 파서를 통해 텍스트를 처리하므로, &amp;lt;br&amp;gt; 태그를 사용해 줄 바꿈을 할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1748796720458&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String htmlText = &quot;&amp;lt;html&amp;gt;첫 번째 줄&amp;lt;br&amp;gt;두 번째 줄&amp;lt;/html&amp;gt;&quot;;
JLabel label = new JLabel(htmlText);&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;How to Use Labels&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;How to Use Labels&quot; href=&quot;https://docs.oracle.com/javase/tutorial/uiswing/components/label.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.oracle.com/javase/tutorial/uiswing/components/label.html&lt;/a&gt;&lt;/u&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>언어/JAVA</category>
      <category>&amp;lt;br&amp;gt;</category>
      <category>&amp;lt;html&amp;gt;&amp;lt;/html&amp;gt;</category>
      <category>html 렌더링</category>
      <category>java</category>
      <category>Java GUI</category>
      <category>JLabel</category>
      <category>Swing</category>
      <category>\n</category>
      <category>스윙</category>
      <category>자바</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/196</guid>
      <comments>https://save-idea.tistory.com/196#entry196comment</comments>
      <pubDate>Mon, 2 Jun 2025 02:00:03 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] Swing JTable 에서 남은 공간을 마지막 컬럼으로 할당하기 (JTable.AUTO_RESIZE_LAST_COLUMN)</title>
      <link>https://save-idea.tistory.com/195</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;JTable에서 AUTO_RESIZE_LAST_COLUMN를 사용하여 남은 공간을 마지막 컬럼으로 몰아주는 방법&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Swing의 JTable에서 특정 컬럼만 고정 너비로 유지하고, 나머지 여유 공간을 마지막 컬럼이 모두 채우게 하고 싶을 때가 있는데 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이럴 때 유용하게 사용할 수 있는 모드가 바로 &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;AUTO_RESIZE_LAST_COLUMN&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ AUTO_RESIZE_LAST_COLUMN&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;AUTO_RESIZE_LAST_COLUMN 모드는 테이블 전체 너비가 변하더라도 마지막 컬럼만 남은 여유 공간을 채우도록 동작한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&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;nbsp;원하는&amp;nbsp;레이아웃이&amp;nbsp;유지된다. &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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;예를 들어, 첫 번째&amp;middot;두 번째 컬럼에는 중요한 정보가 들어가서 항상 동일한 너비로 고정해야 할 때, 마지막(세 번째) 컬럼은 가변적으로 늘어났다 줄어들었다 하면서 나머지 영역을 모두 사용하도록 할 수 있다.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 사용 예제&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;다음 예제는 세 개의 컬럼을 가진 JTable을 생성한 뒤, &amp;ldquo;첫 번째&amp;rdquo;와 &amp;ldquo;두 번째&amp;rdquo; 컬럼 너비를 각각 40px, 45px로 고정하고 마지막(세&amp;nbsp;번째)&amp;nbsp;컬럼이&amp;nbsp;나머지&amp;nbsp;모든&amp;nbsp;공간을&amp;nbsp;차지하게끔&amp;nbsp;AUTO_RESIZE_LAST_COLUMN을&amp;nbsp;설정한&amp;nbsp;코드이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1748793838061&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Vector&amp;lt;String&amp;gt; userColumn = new Vector&amp;lt;String&amp;gt;();
userColumn.addElement(&quot;순서&quot;);
userColumn.addElement(&quot;결과&quot;);
userColumn.addElement(&quot;문제 / 작성한 답&quot;);

DefaultTableModel model = new DefaultTableModel(userColumn, 0);
JTable resultTable = new JTable(model);
resultTable.setCellSelectionEnabled(true);
resultTable.setColumnSelectionAllowed(true);

JScrollPane scrollPane = new JScrollPane(resultTable);
scrollPane.setBounds(14, 217, 384, 165);

JPanel contentPane = new JPanel();
contentPane.add(scrollPane);

resultTable.getColumn(&quot;순서&quot;).setMaxWidth(40);
resultTable.getColumn(&quot;결과&quot;).setMaxWidth(45);
resultTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
              
scrollPane.setViewportView(resultTable);
resultTable.setVisible(true);
contentPane.setVisible(true);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;첫번째 컬럼: 너비 40px로 항상 고정&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;두번째 컬럼: 너비 45px로 항상 고정&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;세번째 컬럼: 테이블 전체 너비(400px)에서 40 + 45 = 85px를 제외한 나머지 315px를 전부 할당&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;906d86fb-3d53-4b41-93fb-e14199c2d273.png&quot; data-origin-width=&quot;404&quot; data-origin-height=&quot;214&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p9spu/btsOlxh0G0k/lvU7bzExDbBpqxpI43ei4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p9spu/btsOlxh0G0k/lvU7bzExDbBpqxpI43ei4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p9spu/btsOlxh0G0k/lvU7bzExDbBpqxpI43ei4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp9spu%2FbtsOlxh0G0k%2FlvU7bzExDbBpqxpI43ei4k%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;404&quot; height=&quot;214&quot; data-filename=&quot;906d86fb-3d53-4b41-93fb-e14199c2d273.png&quot; data-origin-width=&quot;404&quot; data-origin-height=&quot;214&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>언어/JAVA</category>
      <category>java</category>
      <category>Java GUI</category>
      <category>JPanel</category>
      <category>JScrollPane</category>
      <category>JTable</category>
      <category>jtable.auto_resize_last_column</category>
      <category>setautoresizemode</category>
      <category>Swing</category>
      <category>스윙</category>
      <category>자바</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/195</guid>
      <comments>https://save-idea.tistory.com/195#entry195comment</comments>
      <pubDate>Mon, 2 Jun 2025 01:23:06 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] Swing JTable 컬럼이 보이지 않을 때 해결방법</title>
      <link>https://save-idea.tistory.com/194</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;Java Swing에서 JTable을 Vector 방식으로 생성하면서 컬럼명을 지정했음에도, 실행 시 JTable의 컬럼이 화면에 나타나지 않는 현상에 관한 정리.&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 문제 현상&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;아래와 같은 코드로 JTable의 컬럼을 추가하고 설정했으나, 실제 실행 시 컬럼이 보이지 않는 현상이 발생함.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1748789448082&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Vector&amp;lt;String&amp;gt; userColumn = new Vector&amp;lt;String&amp;gt;();
userColumn.addElement(&quot;순서&quot;);
userColumn.addElement(&quot;결과&quot;);
userColumn.addElement(&quot;문제 / 작성한 답&quot;);

DefaultTableModel model = new DefaultTableModel(userColumn, 0);
JTable resultTable = new JTable(model);
resultTable.setCellSelectionEnabled(true);
resultTable.setColumnSelectionAllowed(true);

// JScrollPane은 생성했지만 JTable을 넣지 않음
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(14, 217, 384, 165);

// JPanel에 JScrollPane 추가
JPanel contentPane = new JPanel();
contentPane.add(scrollPane);  // scrollPane에 테이블이 없으므로 화면에 보이지 않음&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 문제 원인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; JTable은 JScrollPane 내부에서 사용하는 것이 일반적인 방식인데, JTable을 생성한 후 JTable을 JScrollPane 안에 추가하지 않은 게 원인이 되어, 컬럼과 데이터가 화면에 제대로 표시되지 않는 문제가 발생했었다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결 방안&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&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;font-family: 'Noto Sans Light';&quot;&gt;JScrollPane 내부에 JTable을 추가하여 패널에 넣어줌.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JTable을 생성해도 그 테이블을 JScrollPane에 넣지 않거나, JScrollPane 자체를 JPanel에 추가하지 않으면 화면에 보이지 않기 때문에 Swing은 컴포넌트가 정확한 컨테이너에 포함되어야 제대로 렌더링 된다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1748791315249&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Vector&amp;lt;String&amp;gt; userColumn = new Vector&amp;lt;String&amp;gt;();
userColumn.addElement(&quot;순서&quot;);
userColumn.addElement(&quot;결과&quot;);
userColumn.addElement(&quot;문제 / 작성한 답&quot;);

DefaultTableModel model = new DefaultTableModel(userColumn, 0);
JTable resultTable = new JTable(model);
resultTable.setCellSelectionEnabled(true);
resultTable.setColumnSelectionAllowed(true);

// JTable을 JScrollPane에 포함시킴
JScrollPane scrollPane = new JScrollPane(resultTable);
scrollPane.setBounds(14, 217, 384, 165);

// JScrollPane을 패널에 포함시킴
JPanel contentPane = new JPanel();
contentPane.add(scrollPane);  // 이제 제대로 화면에 테이블이 출력됨&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;906d86fb-3d53-4b41-93fb-e14199c2d273.png&quot; data-origin-width=&quot;404&quot; data-origin-height=&quot;214&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FguOm/btsOmpjjJ9f/FU41Pf95dQlt8pjNZFuwm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FguOm/btsOmpjjJ9f/FU41Pf95dQlt8pjNZFuwm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FguOm/btsOmpjjJ9f/FU41Pf95dQlt8pjNZFuwm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFguOm%2FbtsOmpjjJ9f%2FFU41Pf95dQlt8pjNZFuwm1%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;404&quot; height=&quot;214&quot; data-filename=&quot;906d86fb-3d53-4b41-93fb-e14199c2d273.png&quot; data-origin-width=&quot;404&quot; data-origin-height=&quot;214&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 요약&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JScrollPane에 JTable을 넣지 않으면 보이지 않는다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JScrollPane을 화면에 올리려면 반드시 contentPane이나 JPanel에 추가해야 한다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;컴포넌트가 정상적으로 보이지 않을 때는 부모 컨테이너에 잘 추가되었는지 확인해야 한다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>언어/JAVA</category>
      <category>DefaultTableModel</category>
      <category>java</category>
      <category>Java GUI</category>
      <category>JPanel</category>
      <category>JScrollPane</category>
      <category>JTable</category>
      <category>Swing</category>
      <category>vector</category>
      <category>스윙</category>
      <category>자바</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/194</guid>
      <comments>https://save-idea.tistory.com/194#entry194comment</comments>
      <pubDate>Mon, 2 Jun 2025 00:30:10 +0900</pubDate>
    </item>
    <item>
      <title>[PostgreSQL] FILTER WHERE 절을 이용한 집계함수 활용법</title>
      <link>https://save-idea.tistory.com/193</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ FILTER 절이란?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;PostgreSQL의 FILTER 절은 집계함수(aggregate function)에 조건을 적용하여 특정 조건에 맞는 데이터만 집계할 수 있도록 하는 기능이다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ FILTER&amp;nbsp;절의&amp;nbsp;기본&amp;nbsp;사용법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; &lt;span style=&quot;text-align: start;&quot;&gt;FILTER절은 SQL 표준에 따라 PostgreSQL이 지원하는 문법으로, &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;집계함수 뒤에 FILTER 키워드를 사용하여 적용하며, 이 경우 반드시 WHERE 조건을 포함해야 한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; MySQL, Oracle 등 다른 DBMS에서는 지원되지 않기 때문에, CASE문을 활용해 동일 기능을 구현해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;문법: 집계함수(...) &lt;span style=&quot;color: #1b711d;&quot;&gt;FILTER&lt;/span&gt; (&lt;span style=&quot;color: #006dd7;&quot;&gt;WHERE&lt;/span&gt; 조건)&lt;/span&gt;&lt;/blockquote&gt;
&lt;pre id=&quot;code_1748699732909&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 총 주문수와 완료된 주문수 집계
SELECT
    COUNT(*) AS 총주문수
  , COUNT(*) FILTER (WHERE order_status = 'completed') AS 완료된주문수
FROM orders;&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 예제&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;PostgreSQL FILTER 절의 집계함수와 동일한 처리를 다른 DBMS(MySQL, Oracle)에서 어떻게 구현하는지 비교한 예제이니 참고하자.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1748700068494&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- PostgreSQL FILTER WHERE
SELECT
    category AS 카테고리
  , COUNT(*) AS 전체상품수
  , COUNT(*) FILTER (WHERE stock &amp;gt; 0) AS 재고있는상품수
  , SUM(price) FILTER (WHERE stock &amp;gt; 0) AS 재고있는상품의총가격
  , AVG(price) FILTER (WHERE stock &amp;gt; 0) AS 재고있는상품의평균가격
  , MAX(price) FILTER (WHERE stock &amp;gt; 0) AS 재고있는상품의최고가격
  , MIN(price) FILTER (WHERE stock &amp;gt; 0) AS 재고있는상품의최저가격
FROM products
GROUP BY category
ORDER BY 전체상품수 DESC;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1748700165273&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- MySQL, Oracle CASE문
SELECT
    category AS 카테고리
  , COUNT(*) AS 전체상품수
  , SUM(CASE WHEN stock &amp;gt; 0 THEN 1 ELSE 0 END) AS 재고있는상품수
  , SUM(CASE WHEN stock &amp;gt; 0 THEN price ELSE 0 END) AS 재고있는상품의총가격
  , AVG(CASE WHEN stock &amp;gt; 0 THEN price END) AS 재고있는상품의평균가격
  , MAX(CASE WHEN stock &amp;gt; 0 THEN price END) AS 재고있는상품의최고가격
  , MIN(CASE WHEN stock &amp;gt; 0 THEN price END) AS 재고있는상품의최저가격
FROM products
GROUP BY category
ORDER BY 전체상품수 DESC;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;Aggregate Expressions&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;Aggregate Expressions&quot; href=&quot;https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>데이터베이스/PostgreSQL</category>
      <category>aggregate expressions</category>
      <category>aggregate function</category>
      <category>AVG</category>
      <category>count</category>
      <category>Filter</category>
      <category>MAX</category>
      <category>PostgreSQL</category>
      <category>sum</category>
      <category>Where</category>
      <category>집계함수</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/193</guid>
      <comments>https://save-idea.tistory.com/193#entry193comment</comments>
      <pubDate>Sat, 31 May 2025 23:19:04 +0900</pubDate>
    </item>
    <item>
      <title>KOSA, KICA 두 경력 관리 시스템의 차이점</title>
      <link>https://save-idea.tistory.com/114</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;KOSA (한국인공지능소프트웨어산업협회)에는 소프트웨어기술자 경력관리시스템이 있고, KICA (한국정보통신공사협회)도 온라인경력신고시스템 이라는 것이 있는데 &lt;span style=&quot;color: #ee2323;&quot;&gt;두 협회의 경력관리 시스템의 차이점&lt;/span&gt;은 무엇인가?&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light';&quot;&gt;두 시스템 모두 개인의 경력 관리 및 인증을 담당하지만, 각각 대상과 활용 목적에 있어 아래와 같은 차이가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.1007%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 41.5891%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;KOSA (한국인공지능소프트웨어산업협회)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.3101%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;KICA (한국정보통신공사협회)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.1007%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;가입 대상&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.5891%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;소프트웨어&amp;nbsp;관련&amp;nbsp;기업&amp;nbsp;및&amp;nbsp;개인&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.3101%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정보통신공사업체 등록된 업체 및 소속 기술자&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.1007%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;경력&amp;nbsp;인정&amp;nbsp;범위&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.5891%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;소프트웨어&amp;nbsp;분야&amp;nbsp;경력&amp;nbsp;전반,&amp;nbsp;프리랜서&amp;nbsp;포함&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.3101%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;정보통신공사업체에서&amp;nbsp;수행한&amp;nbsp;공사업무&lt;/span&gt;&lt;/b&gt;&amp;nbsp;경력만&amp;nbsp;인정 (&lt;span style=&quot;color: #ee2323;&quot;&gt;※1&lt;/span&gt;) &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.1007%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;법적 근거&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.5891%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;소프트웨어산업진흥법&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.3101%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정보통신공사업법&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.1007%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;해외 경력 인정&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.5891%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;근무 경력만 인정 (단, 증빙 필요)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;기술 경력은 인정 안됨&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.3101%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;인정 안됨 (&lt;span style=&quot;color: #ee2323;&quot;&gt;※2&lt;/span&gt;)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.1007%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;경력 활용&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.5891%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;SW 프로젝트 참여, 기술자 등급 인증, 공공 사업 입찰 등&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 45.3101%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;정보통신공사 입찰, 법적 기술자 검증, 현장 투입 자격 확인 등&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #ee2323;&quot;&gt;※1: 정보통신공사업체에서 수행한 공사업무 경력만 공식적으로 인정되기 때문에, 경력 인정 범위가 KOSA에 비해 적을 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323; text-align: start; font-family: 'Noto Sans Light';&quot;&gt; ※2: KICA가 관리하는 경력 인정은 국내 정보통신공사업체 등록 내역과 관련된 경력에 한정되기 때문에 해외에서 수행한 경력은 원칙적으로 국내 KICA 시스템에서 직접 인정되지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;KICA&amp;nbsp;(한국정보통신공사협회)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;KOSA (한국인공지능소프트웨어산업협회)&quot; href=&quot;https://career.kica.or.kr/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://career.kica.or.kr/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; text-align: left;&quot;&gt;KOSA (한국인공지능소프트웨어산업협회)&lt;/span&gt; &lt;/span&gt;&lt;u&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://career.sw.or.kr/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://career.sw.or.kr/&lt;/a&gt;&lt;/span&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;KICA 업무안내&lt;/span&gt;&lt;u&gt;&lt;u&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;KICA 업무안내&quot; href=&quot;https://career.kica.or.kr/intro/info/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://career.kica.or.kr/intro/info/&lt;/a&gt;&lt;/span&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;KOSA 기술자 정의&lt;/span&gt;&lt;u&gt;&lt;u&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;KOSA 기술자 정의&quot; href=&quot;https://career.sw.or.kr/gif/gif02.jhtml&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://career.sw.or.kr/gif/gif02.jhtml&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/경력 관리</category>
      <category>kica</category>
      <category>KOSA</category>
      <category>감리원 경력</category>
      <category>경력신청</category>
      <category>기술자 경력</category>
      <category>소프트웨어기술자 경력관리시스템</category>
      <category>온라인경력신고시스템</category>
      <category>한국소프트웨어산업협회</category>
      <category>한국인공지능소프트웨어산업협회</category>
      <category>한국정보통신공사협회</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/114</guid>
      <comments>https://save-idea.tistory.com/114#entry114comment</comments>
      <pubDate>Sat, 31 May 2025 03:32:47 +0900</pubDate>
    </item>
    <item>
      <title>인텔리J(IntelliJ)_라이선스 결제방법 (신규 구매 및 갱신)</title>
      <link>https://save-idea.tistory.com/191</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;인텔리제이 라이선스 결제방법 (신규 구매, 갱신)&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;우선 무료로 &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;한달간&lt;/span&gt; 평가판을 사용할 수 있도록 제공해 주니, 유로 라이선스 구매 전에 꼭 평가판을 사용하여 구매 비용을 아끼는 편이 좋다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; 또한 중단 없이 연속으로 구독할 경우, &lt;span style=&quot;text-align: start;&quot;&gt;할인율이&lt;/span&gt; &lt;u&gt;2년 차 부터 20%&lt;/u&gt;, &lt;u&gt;2년 차 이후에는 40%&lt;/u&gt;로 &lt;span style=&quot;text-align: start;&quot;&gt;할인율이&lt;/span&gt; 증가하기 때문에, 정기적으로 구독을 갱신하는 편이 유리하다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style4&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot; colspan=&quot;2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;월간 구독&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot; colspan=&quot;2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;연간 구독&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;신규&amp;nbsp;구매&amp;nbsp;및&amp;nbsp;첫&amp;nbsp;12개월&amp;nbsp;동안&amp;nbsp;갱신&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23.0233%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt;전체 구독 가격&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt; 신규 구매&lt;/b&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23.0233%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt; 전체&amp;nbsp;구독&amp;nbsp;가격 &lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;13~24개월&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23.0233%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt;20%&amp;nbsp;할인&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;첫&amp;nbsp;갱신&amp;nbsp;시&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23.0233%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt;20%&amp;nbsp;할인&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;25개월&amp;nbsp;이상&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23.0233%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt;40%&amp;nbsp;할인&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;두&amp;nbsp;번째&amp;nbsp;갱신&amp;nbsp;이후&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 23.0233%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt;40%&amp;nbsp;할인&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 라이선스 신규 구매&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. &lt;span style=&quot;text-align: start;&quot;&gt;JetBrains 접속 후, 로그인&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;『JetBrains』&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://www.jetbrains.com/ko-kr/idea/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.jetbrains.com/ko-kr/idea/&lt;/a&gt;&lt;/u&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;1920&quot; data-origin-height=&quot;555&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HaDb6/btsObEgI7th/3cjjPAQuNnmm88cgTBU5W0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HaDb6/btsObEgI7th/3cjjPAQuNnmm88cgTBU5W0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HaDb6/btsObEgI7th/3cjjPAQuNnmm88cgTBU5W0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHaDb6%2FbtsObEgI7th%2F3cjjPAQuNnmm88cgTBU5W0%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;1920&quot; height=&quot;555&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;555&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2. 【새 라이선스 구입 (Buy new license)】버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;968&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QgFhG/btsOa9uNTKp/dJvrODwKxlGhWCY0BDQYu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QgFhG/btsOa9uNTKp/dJvrODwKxlGhWCY0BDQYu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QgFhG/btsOa9uNTKp/dJvrODwKxlGhWCY0BDQYu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQgFhG%2FbtsOa9uNTKp%2FdJvrODwKxlGhWCY0BDQYu1%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;1920&quot; height=&quot;968&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;968&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. 결제정보 입력 &amp;rArr;【주문 및 결제 (ORDER AND PAY)】버튼 클릭 &amp;rArr; 결제&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;686&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buAh7d/btsOcz6Qzf3/F6iLy2knMAAIk2tT0Y1BE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buAh7d/btsOcz6Qzf3/F6iLy2knMAAIk2tT0Y1BE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buAh7d/btsOcz6Qzf3/F6iLy2knMAAIk2tT0Y1BE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuAh7d%2FbtsOcz6Qzf3%2FF6iLy2knMAAIk2tT0Y1BE1%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;1920&quot; height=&quot;686&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;686&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;682&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eu2IGG/btsOb4falyM/JiJkooNXyg0u5kY4VK6pkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eu2IGG/btsOb4falyM/JiJkooNXyg0u5kY4VK6pkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eu2IGG/btsOb4falyM/JiJkooNXyg0u5kY4VK6pkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Feu2IGG%2FbtsOb4falyM%2FJiJkooNXyg0u5kY4VK6pkk%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;1910&quot; height=&quot;682&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1910&quot; data-origin-height=&quot;682&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;968&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YLXzl/btsOaVRnGXR/xQfOusXYy4fVJ9cVxuJ5VK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YLXzl/btsOaVRnGXR/xQfOusXYy4fVJ9cVxuJ5VK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YLXzl/btsOaVRnGXR/xQfOusXYy4fVJ9cVxuJ5VK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYLXzl%2FbtsOaVRnGXR%2FxQfOusXYy4fVJ9cVxuJ5VK%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;1920&quot; height=&quot;968&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;968&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;4. 인텔리제이 기동 &amp;rArr; 상단메뉴【도움말 (Help)】&amp;rArr;【등록 (Register Plugins)】클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;7.JPG&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bARIVm/btsObVvLFbU/tZr6YosdSZNmY0UVGUOYF0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bARIVm/btsObVvLFbU/tZr6YosdSZNmY0UVGUOYF0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bARIVm/btsObVvLFbU/tZr6YosdSZNmY0UVGUOYF0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbARIVm%2FbtsObVvLFbU%2FtZr6YosdSZNmY0UVGUOYF0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1040&quot; data-filename=&quot;7.JPG&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;5. JetBrains 계정에【로그인... (Log In to JetBrains Account...)】버튼 클릭 후 로그인&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;8.JPG&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lsZRw/btsOa74ZCLo/qVyAt3QwBiATH18VGs4u9k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lsZRw/btsOa74ZCLo/qVyAt3QwBiATH18VGs4u9k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lsZRw/btsOa74ZCLo/qVyAt3QwBiATH18VGs4u9k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlsZRw%2FbtsOa74ZCLo%2FqVyAt3QwBiATH18VGs4u9k%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;786&quot; height=&quot;473&quot; data-filename=&quot;8.JPG&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;6. 로그인 후 연장된 라이선스의 구독 유효기간,【활성화 (Activate)】버튼 확인 후,【종료 (Close)】버튼 클릭 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gi0SJ/btsOa0LTTP4/RxNPb3AGmTTiiwrTh5UtiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gi0SJ/btsOa0LTTP4/RxNPb3AGmTTiiwrTh5UtiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gi0SJ/btsOa0LTTP4/RxNPb3AGmTTiiwrTh5UtiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGi0SJ%2FbtsOa0LTTP4%2FRxNPb3AGmTTiiwrTh5UtiK%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;786&quot; height=&quot;473&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 라이선스 갱신 (연장)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1.【고쳐 쓰다 (Renew)】링크 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;919&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BLuMa/btsOb31DR72/IkYf7BYVZkSaxerAsLqSZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BLuMa/btsOb31DR72/IkYf7BYVZkSaxerAsLqSZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BLuMa/btsOb31DR72/IkYf7BYVZkSaxerAsLqSZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBLuMa%2FbtsOb31DR72%2FIkYf7BYVZkSaxerAsLqSZK%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;1920&quot; height=&quot;919&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;919&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2. 결제정보 입력 &amp;rArr;【주문 및 결제 (ORDER AND PAY)】버튼 클릭 &amp;rArr; 결제&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_screencapture-jetbrains-shop-checkout-2025-05-20-13_42_12.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GNoat/btsObqbYJQ2/2Y22XqT64eMHJqS17z6SqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GNoat/btsObqbYJQ2/2Y22XqT64eMHJqS17z6SqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GNoat/btsObqbYJQ2/2Y22XqT64eMHJqS17z6SqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGNoat%2FbtsObqbYJQ2%2F2Y22XqT64eMHJqS17z6SqK%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;1920&quot; height=&quot;2238&quot; data-filename=&quot;edited_screencapture-jetbrains-shop-checkout-2025-05-20-13_42_12.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2238&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;916&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZBwTh/btsOa8o71VJ/M8kqSqrCNW0iAQ9v7UPG7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZBwTh/btsOa8o71VJ/M8kqSqrCNW0iAQ9v7UPG7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZBwTh/btsOa8o71VJ/M8kqSqrCNW0iAQ9v7UPG7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZBwTh%2FbtsOa8o71VJ%2FM8kqSqrCNW0iAQ9v7UPG7k%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;1920&quot; height=&quot;916&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;916&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. 인텔리제이 기동 &amp;rArr; 상단메뉴【도움말 (Help)】&amp;rArr;【등록 (Register Plugins)】클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인4.png&quot; data-origin-width=&quot;252&quot; data-origin-height=&quot;581&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1picr/btsObwJ2Jmp/OepXTW2XdkF9X0tZZXIl1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1picr/btsObwJ2Jmp/OepXTW2XdkF9X0tZZXIl1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1picr/btsObwJ2Jmp/OepXTW2XdkF9X0tZZXIl1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1picr%2FbtsObwJ2Jmp%2FOepXTW2XdkF9X0tZZXIl1K%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;252&quot; height=&quot;581&quot; data-filename=&quot;인4.png&quot; data-origin-width=&quot;252&quot; data-origin-height=&quot;581&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;4. JetBrains 계정에【로그인... (Log In to JetBrains Account...)】버튼 클릭 후 로그인 &amp;rArr;【새 라이선스 활성화】버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_인5.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Lf7Cv/btsOa6E6MaP/S1kkhSbIXCiaIFK22ehsu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Lf7Cv/btsOa6E6MaP/S1kkhSbIXCiaIFK22ehsu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Lf7Cv/btsOa6E6MaP/S1kkhSbIXCiaIFK22ehsu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLf7Cv%2FbtsOa6E6MaP%2FS1kkhSbIXCiaIFK22ehsu0%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;786&quot; height=&quot;473&quot; data-filename=&quot;edited_인5.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;5.【라이선스 목록 새로고침】클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_인6.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rwybv/btsOb6xhj4R/OdovRtmPM5DxkByUm8Ykg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rwybv/btsOb6xhj4R/OdovRtmPM5DxkByUm8Ykg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rwybv/btsOb6xhj4R/OdovRtmPM5DxkByUm8Ykg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Frwybv%2FbtsOb6xhj4R%2FOdovRtmPM5DxkByUm8Ykg1%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;786&quot; height=&quot;473&quot; data-filename=&quot;edited_인6.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;6. 연장된 라이선스의 구독 유효기간,【활성화 (Activate)】버튼 확인 후,【종료 (Close)】버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_인7.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EpuUi/btsOb7XfCS2/iXxcV7hKtycWBPcopJPGK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EpuUi/btsOb7XfCS2/iXxcV7hKtycWBPcopJPGK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EpuUi/btsOb7XfCS2/iXxcV7hKtycWBPcopJPGK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEpuUi%2FbtsOb7XfCS2%2FiXxcV7hKtycWBPcopJPGK1%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;786&quot; height=&quot;473&quot; data-filename=&quot;edited_인7.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;473&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>통합개발환경 (IDE)/IntelliJ IDEA (인텔리J)</category>
      <category>IntelliJ</category>
      <category>JetBrains</category>
      <category>결제</category>
      <category>구매</category>
      <category>라이선스</category>
      <category>라이센스</category>
      <category>연간 구독</category>
      <category>월간 구독</category>
      <category>인텔리J</category>
      <category>인텔리제이</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/191</guid>
      <comments>https://save-idea.tistory.com/191#entry191comment</comments>
      <pubDate>Sun, 25 May 2025 02:48:51 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 리플렉션(Reflection)으로 private 필드/메서드에 접근하기</title>
      <link>https://save-idea.tistory.com/190</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;JUnit 테스트 코드를 작성하다 보면 특정 클래스의 private 필드나 메서드에 접근해야 할 때가 있는데, &lt;br /&gt;이때 Getter나 Setter가 없는 경우가 종종 있다. &lt;br /&gt;이런 상황에서는 자바의 리플렉션(Reflection) 기능을 활용해 private 필드와 메서드에 접근할 수 있다.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 리플렉션(Reflection)이 뭐야?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px; font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;자바 리플렉션은 프로그램 실행 중에 클래스의 구조와 정보를 동적으로 조회하고, 필드나 메서드, 생성자 등에 접근하거나 실행할 수 있게 해주는 강력한 기술이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;하지만 &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;리플렉션은&lt;/span&gt; 강력한 점에 비해 일반 코드에 비해 실행 속도가 느릴 수 있고, 런타임 오류가 발생할 가능성도 높으며, 자바의 캡슐화 원칙을 무너뜨릴 수 있다는 단점이 있기 때문에&lt;/span&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp;테스트 코드나 프레임워크 개발처럼 꼭 필요한 경우가 아니라면, 일반적인 로직에서는 리플렉션 사용을 가급적 자제하는 것이 좋다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ &lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;리플렉션(Reflection)을 활용해 private 필드에 접근하기 (예제)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;pre id=&quot;code_1747840555234&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class Form {
	private String name = &quot;홍길동&quot;;
	private int age = 20;
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1747840809834&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Test {
	public static void main(String[] args) {
		try {
			Form form = new Form();
			Field nameField = form.getClass().getDeclaredField(&quot;name&quot;);
			nameField.setAccessible(true);
			
			System.out.println(&quot;before: &quot; + nameField.get(form));
			nameField.set(form, &quot;김길동&quot;);
			System.out.println(&quot;after: &quot;+ nameField.get(form));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;위 코드는 리플렉션(Reflection)을 활용해 private 필드값을 변경하는 예제이고, 이 예제를 바탕으로 상세설명을 이어가겠다.&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;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;▶ Form form = new Form();&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 우선 Form 클래의 private 필드에 접근해야 하기 때문에, Form 클래스의 인스턴스를 하나 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt; &lt;b&gt;▶ &lt;/b&gt;Field nameField = form.getClass().getDeclaredField(&quot;name&quot;);&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;form.getClass()&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt; 를 통해 현재 객체의 실제 클래스 정보를 가져오고,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;.getDeclaredField(&quot;name&quot;)&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt; 를 통해 클래스에 선언된(&quot;declared&quot;) 이름이 name인 필드를 가져온다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; (private, protected이든 public이든, 해당 이름의 필드 정보를 가져옴)&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;아래 3가지 방식 모두 필드를 가져오는 것이 가능하다.&lt;br /&gt;Form form = new Form();&lt;br /&gt;&lt;/span&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Field nameField = form.getClass().getDeclaredField(&quot;name&quot;);&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #fcfcfc; text-align: left;&quot;&gt;Form form = new Form();&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Field nameField = Form.class.getDeclaredField(&quot;name&quot;);&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Class&amp;lt;Form&amp;gt; form = Form.class&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #fcfcfc; text-align: start; font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt; Field nameField = &lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;form&lt;/span&gt;.getDeclaredField(&quot;name&quot;);&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt; &lt;b&gt;▶&lt;/b&gt;&amp;nbsp;nameField.setAccessible(true);&lt;/span&gt;&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start; font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; private 필드에도 접근이 가능하도록 접근 제한을 해제한다. &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 원래는 private이라 직접 접근 불가지만, 리플렉션에서는 이걸 &lt;span style=&quot;color: #006dd7;&quot;&gt;true&lt;/span&gt;로 설정하면 강제로 접근 가능 해 진다. &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 이 설정을 하지 않으면 아래와 같이 &lt;span style=&quot;color: #ee2323;&quot;&gt;IllegalAccessException &lt;/span&gt;이 발생한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;97&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dK7w55/btsN8wbfpCU/VWE6LQh6wPDjzECn5iAWy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dK7w55/btsN8wbfpCU/VWE6LQh6wPDjzECn5iAWy0/img.png&quot; data-alt=&quot;IllegalAccessException&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dK7w55/btsN8wbfpCU/VWE6LQh6wPDjzECn5iAWy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdK7w55%2FbtsN8wbfpCU%2FVWE6LQh6wPDjzECn5iAWy0%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;700&quot; height=&quot;97&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;97&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;IllegalAccessException&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt; &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;▶&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;nameField.set(form, &quot;김길동&quot;);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #333333;&quot;&gt;form 객체의 name 필드 값을 변경한다. (&quot;홍길동&quot; &amp;rArr; &quot;김길동&quot;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;당연한 것이지만, 필드 값을 설정할 때는 private 필드의 타입과 같은 타입의 값을 넣어 줘야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;예를 들어 name 필드의 경우 String 타입인데, nameField.set(form, 50); 이런 식으로 int값을 지정하면 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;아래와 같이&lt;/span&gt; &lt;span style=&quot;color: #ee2323;&quot;&gt;IllegalArgumentException&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; 이 발생한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;98&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ITGlI/btsN8BQZDuq/PWKFDXRhGdu4KNqXKEV6gK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ITGlI/btsN8BQZDuq/PWKFDXRhGdu4KNqXKEV6gK/img.png&quot; data-alt=&quot;IllegalArgumentException&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ITGlI/btsN8BQZDuq/PWKFDXRhGdu4KNqXKEV6gK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FITGlI%2FbtsN8BQZDuq%2FPWKFDXRhGdu4KNqXKEV6gK%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;700&quot; height=&quot;98&quot; data-origin-width=&quot;932&quot; data-origin-height=&quot;98&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;IllegalArgumentException&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;▶&lt;/b&gt; &lt;/span&gt;&lt;/b&gt;nameField.get(form)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;form 객체가 가진 private String name의 현재 값을 리플렉션으로 꺼내온다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;해당 예제 코드의 결과를 보면 &quot;홍길동&quot;이었던 name 필드의 값이 변경한 값인 &quot;김길동&quot;으로 적용된 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;528&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZvHuy/btsN8ss98TM/vrYC7oHPH6YBk98vJXatCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZvHuy/btsN8ss98TM/vrYC7oHPH6YBk98vJXatCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZvHuy/btsN8ss98TM/vrYC7oHPH6YBk98vJXatCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZvHuy%2FbtsN8ss98TM%2FvrYC7oHPH6YBk98vJXatCk%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;800&quot; height=&quot;347&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;528&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 리플렉션(Reflection)을 활용해 private 메서드에 접근하기 (예제)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;pre id=&quot;code_1747844427433&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class Form {
	private void sayHello() {
        System.out.println(&quot;Hello!&quot;);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1747844491366&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

import java.lang.reflect.Method;

public class Test {
	public static void main(String[] args) {
		try {
			Form form = new Form();
			Method method = Form.class.getDeclaredMethod(&quot;sayHello&quot;);
			method.setAccessible(true);
			method.invoke(form);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;위 코드는 리플렉션(Reflection)을 활용해 private 메서드에 접근하는 예제이고, 이 예제를 바탕으로 상세설명을 이어가겠다.&lt;/span&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;▶ Form form = new Form();&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 우선 Form 클래의 private 메서드에 접근해야 하기 때문에, Form 클래스의 인스턴스를 하나 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt; &lt;b&gt;▶ Method method = Form.class.getDeclaredMethod(&quot;sayHello&quot;);&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Form 클래스에 선언된 &quot;sayHello&quot;라는 이름의 메서드 정보를 리플렉션으로 가져온다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;(private, protected이든 public이든, 해당 이름의 필드 정보를 가져옴)&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt; &lt;b&gt;▶ method.setAccessible(true);&lt;/b&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;필드와 마찬가지로 private 메서드도 접근 가능하도록 제한을 해제한다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt; ▶ method.invoke(form);&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; form 객체에서 해당 메서드(sayHello)를 실행(호출)한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke의 첫 번째 인자는 메서드를 호출할 인스턴스이고, 만약 호출할 private 메서드에 매개변수(파라미터)가 있다면&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; &lt;span style=&quot;font-family: 'Noto Sans Light'; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke의&lt;/span&gt; 두 번째 인자부터 차례대로 넣어주면 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;참고로 리플렉션의 invoke() 자체로는 &lt;span style=&quot;font-family: 'Noto Sans Light'; text-align: start;&quot;&gt;&quot;그 메서드가 실제로 리턴하는 값&quot;을 가져올 뿐 &lt;/span&gt;메서드의 리턴값을 바꿀 수 없다.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;만약, 테스트에서 임의로 리턴값을 바꾸고 싶다면 &lt;span style=&quot;font-family: 'Noto Sans Light'; text-align: start;&quot;&gt;JUnit&amp;nbsp;+&amp;nbsp;Mockito,&amp;nbsp;JMockit,&amp;nbsp;PowerMock&amp;nbsp;등의&amp;nbsp;mocking&amp;nbsp;프레임워크를&lt;/span&gt; 사용해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;이 경우, 실제로 메서드 내부를 실행하지 않고, 원하는&amp;nbsp;값이&amp;nbsp;리턴되게&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JhBo7/btsN6tNQemQ/JCkK7bXaI4kpAi8obDmjO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JhBo7/btsN6tNQemQ/JCkK7bXaI4kpAi8obDmjO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JhBo7/btsN6tNQemQ/JCkK7bXaI4kpAi8obDmjO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJhBo7%2FbtsN6tNQemQ%2FJCkK7bXaI4kpAi8obDmjO0%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;800&quot; height=&quot;265&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;404&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;Using Java Reflection&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;Using Java Reflection&quot; href=&quot;https://www.oracle.com/technical-resources/articles/java/javareflection.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.oracle.com/technical-resources/articles/java/javareflection.html&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;getDeclaredField&lt;/span&gt;&lt;u&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;getDeclaredField&quot; href=&quot;https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html#getDeclaredField(java.lang.String)&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html#getDeclaredField(java.lang.String)&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>언어/JAVA</category>
      <category>getdeclaredfield</category>
      <category>getdeclaredmethod</category>
      <category>invoke</category>
      <category>Java Reflection</category>
      <category>java.lang.illegalaccessexception: class test.test cannot access a member of class test.form with modifiers &amp;quot;private&amp;quot;</category>
      <category>java.lang.IllegalArgumentException</category>
      <category>java.lang.reflect.field</category>
      <category>java.lang.reflect.method</category>
      <category>setaccessible(true)</category>
      <category>자바 리플렉션</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/190</guid>
      <comments>https://save-idea.tistory.com/190#entry190comment</comments>
      <pubDate>Thu, 22 May 2025 01:54:53 +0900</pubDate>
    </item>
    <item>
      <title>JSF(JavaServer Faces) 페이지 &amp;quot;초기/중복&amp;quot; 호출 여부 판단 (isPostback)</title>
      <link>https://save-idea.tistory.com/188</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;JSF(JavaServer Faces) 초기 페이지 요청 여부 판단 방법&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ isPostback() 이란?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;FacesContext.getCurrentInstance().isPostback()은 JavaServer Faces(JSF)에서 제공하는 메서드로,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;현재 요청이 &amp;ldquo;초기 페이지 요청&amp;rdquo;인지 아니면 이미 렌더링된 뷰에 대해 발생한 &amp;ldquo;포스트백(Postback)&amp;rdquo; 요청인지를 구분해 주는 역할을 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 사용법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;메서드 호출 시 현재 요청이 포스트백(웹 개발에서의 포스트백은 동일한 웹 페이지를 다시 호출하는 것을 의미)이면 true를 반환하며 초기 페이지 요청일 경우 false를 반환해 준다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;true : 폼 제출이나 AJAX 호출 등, 이미 렌더링 된 뷰에 대해 발생한 POSTBACK 요청&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;false : 사용자가 처음 페이지를 요청한 초기 요청&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1747704505851&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@PostConstruct
    public void init() {
        FacesContext fc = FacesContext.getCurrentInstance(); //현재 서블릿 요청에 대응하는 JSF의 컨텍스트 객체를 취득
        if (!fc.isPostback()) {
            //최초 페이지 로드 시에만 실행할 초기화 로직 삽입
        }
    }&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 상황에 따른 결과 예시&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 106px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 43.9147%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;상황&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 22.7519%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;HTTP&amp;nbsp;메서드&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;isPostback()&amp;nbsp;반환값&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 43.9147%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;브라우저&amp;nbsp;주소창에&amp;nbsp;/page.xhtml&amp;nbsp;입력&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 22.7519%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;GET&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;false&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 43.9147%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;화면에&amp;nbsp;있는&amp;nbsp;&amp;lt;h:commandButton&amp;gt;&amp;nbsp;클릭&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 22.7519%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;POST&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;true&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 43.9147%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&amp;lt;h:commandLink&amp;gt;&amp;nbsp;등으로&amp;nbsp;같은&amp;nbsp;뷰로&amp;nbsp;돌아오기&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 22.7519%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;POST/GET (&lt;span style=&quot;color: #ee2323;&quot;&gt;※1&lt;/span&gt;)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;true(POST)/false(GET)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 43.9147%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다른&amp;nbsp;페이지로&amp;nbsp;이동&amp;nbsp;후&amp;nbsp;다시&amp;nbsp;링크&amp;nbsp;클릭&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 22.7519%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;GET&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;false&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 43.9147%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;뒤로가기&amp;nbsp;버튼&amp;nbsp;클릭&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 22.7519%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;(캐시)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;판별&amp;nbsp;불가&amp;nbsp;(JSF&amp;nbsp;요청&amp;nbsp;없음)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #ee2323; font-family: 'Noto Sans Light';&quot;&gt; ※1: JSF에서 &amp;lt;h:commandLink&amp;gt; 기본은 POST이지만 faces-redirect=true 같은 옵션을 걸면 GET 리다이렉트가 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;isPostback&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;isPostback&quot; href=&quot;https://docs.oracle.com/javaee/6/api/javax/faces/render/ResponseStateManager.html#isPostback(javax.faces.context.FacesContext)&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.oracle.com/javaee/6/api/javax/faces/render/ResponseStateManager.html#isPostback(javax.faces.context.FacesContext&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;isPostback&lt;/span&gt; &lt;/span&gt;&lt;u&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;isPostback&quot; href=&quot;https://docs.oracle.com/javaee/7/api/javax/faces/context/FacesContext.html#isPostback--&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://docs.oracle.com/javaee/7/api/javax/faces/context/FacesContext.html#isPostback--&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>프레임워크/JSF (JavaServer Faces)</category>
      <category>context</category>
      <category>Faces</category>
      <category>facescontext.getcurrentinstance()</category>
      <category>Ispostback</category>
      <category>javaserver faces</category>
      <category>javax</category>
      <category>JSF</category>
      <category>PostBack</category>
      <category>초기 페이지 요청</category>
      <category>초기처리</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/188</guid>
      <comments>https://save-idea.tistory.com/188#entry188comment</comments>
      <pubDate>Tue, 20 May 2025 20:50:46 +0900</pubDate>
    </item>
    <item>
      <title>[Apache POI] The maximum number of Cell Styles was exceeded. You can define up to 64000 style in a .xlsx Workbook 에러</title>
      <link>https://save-idea.tistory.com/187</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;java.lang.IllegalStateException: The maximum number of Cell Styles was exceeded. You can define up to 64000 style in a .xlsx Workbook&lt;/span&gt;&lt;br /&gt;at org.apache.poi.xssf.model.StylesTable.createCellStyle(StylesTable.java:815)&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 에러원인&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;이&amp;nbsp;에러는&amp;nbsp;Apache&amp;nbsp;POI(XSSF)가&amp;nbsp;새로&amp;nbsp;만든&amp;nbsp;CellStyle&amp;nbsp;객체를&amp;nbsp;내부적으로&amp;nbsp;인덱스(스타일&amp;nbsp;테이블)에&amp;nbsp;하나씩&amp;nbsp;등록하는데,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;그 갯수가 엑셀(.xlsx) 포맷에서 허용하는 최대 64,000개를 넘어버릴 때 발생한다.&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: #333333; font-family: 'Noto Sans Light';&quot;&gt;쉽게 생각하면, &lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt;Apache &lt;/span&gt;POI는 &lt;span style=&quot;text-align: start;&quot;&gt;포맷(폰트, 배경색, 테두리 등)이 조금이라도 다르면 &lt;/span&gt;새 스타일로 인식하는데, 이렇게 누적된 스타일 수가 64,000개를 초과하면 IllegalStateException이 발생한다고 생각하면 된다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결방안&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;코드를 찾아보니 루프안에서 workbook.createCellStyle()를 매번 호출하고 있었는데 이 부분을 &lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;반복문 안에서 매번createCellStyle() 을 호출하는 대신, 필요한 스타일을 미리 생성해 두고 각 셀에는 미리 만든 스타일을 재사용하는 방식으로 로직을 변경함.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;row.createCell(...).setCellStyle(미리만든스타일)&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>라이브러리/Apache POI</category>
      <category>apache poi</category>
      <category>at org.apache.poi.xssf.model.stylestable.createcellstyle</category>
      <category>java.lang.IllegalStateException:</category>
      <category>setcellstyle</category>
      <category>the maximum number of cell styles was exceeded.</category>
      <category>workbook.createcellstyle()</category>
      <category>xssf</category>
      <category>you can define up to 64000 style in a .xlsx workbook</category>
      <category>스타일</category>
      <category>아파치 포이</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/187</guid>
      <comments>https://save-idea.tistory.com/187#entry187comment</comments>
      <pubDate>Tue, 20 May 2025 01:02:38 +0900</pubDate>
    </item>
    <item>
      <title>[정보시스템 감리] 계속교육 - 수강신청 방법</title>
      <link>https://save-idea.tistory.com/186</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;정보시스템감리 계속교육 수강신청 방법&lt;br /&gt;※계속교육은 감리원 자격 취득했던 연도의 다음 연도부터 3년간 40시간의 교육을 받아야 한다. &lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1.&amp;nbsp;정보시스템감리협회 홈페이지에 접속&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;정보시스템감리협회&quot; href=&quot;https://www.kaisa.or.kr/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.kaisa.or.kr/&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2.「&lt;b&gt;교육안내및신청&lt;/b&gt;」&amp;rArr;「&lt;b&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;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. 계속교육 수강 신청 안내 게시물 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;계속2.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;917&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvoh8d/btsN092K3cH/bAcLXMHpVpPumXQzGrii00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvoh8d/btsN092K3cH/bAcLXMHpVpPumXQzGrii00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvoh8d/btsN092K3cH/bAcLXMHpVpPumXQzGrii00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcvoh8d%2FbtsN092K3cH%2FbAcLXMHpVpPumXQzGrii00%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;1920&quot; height=&quot;917&quot; data-filename=&quot;계속2.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;917&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;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;4.「&lt;b&gt;교육 수강 신청 바로가기&lt;/b&gt;」교육 수강 신청 링크 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;screencapture-kaisa-or-kr-bbs-board-php-2025-05-16-10_16_30.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2475&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFjU0n/btsN0z8Omnh/n3HzjFcYUOBRXSnbKWe370/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFjU0n/btsN0z8Omnh/n3HzjFcYUOBRXSnbKWe370/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFjU0n/btsN0z8Omnh/n3HzjFcYUOBRXSnbKWe370/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFjU0n%2FbtsN0z8Omnh%2Fn3HzjFcYUOBRXSnbKWe370%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;1920&quot; height=&quot;2475&quot; data-filename=&quot;screencapture-kaisa-or-kr-bbs-board-php-2025-05-16-10_16_30.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2475&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;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;5. 이름, 휴대폰 번호, 이메일 주소, 소속 입력&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; 교육수강방법 선택 (현장교육참여는 정원이 정해져 있으므로 서둘러야 한다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; 동의하기 체크 후「&lt;b&gt;제출&lt;/b&gt;」버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;구글 설문지로 신청하는 것이기 때문에 협회 홈페이지 하단의 &quot;신청확인하기&quot; 버튼을 클릭해도 교육 수강 신청 내역은 확인되지 않는다.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_screencapture-docs-google-forms-d-e-1FAIpQLSfmsC-flHNnAC-xSPSN4fXFiVAuDdzaNCUkZpwBeLNe5aQbgQ-viewform-2025-05-16-10_16_04.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1490&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/leI8U/btsN0yPNpC6/pztS6Hsvs0Km7z8I5yD7PK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/leI8U/btsN0yPNpC6/pztS6Hsvs0Km7z8I5yD7PK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/leI8U/btsN0yPNpC6/pztS6Hsvs0Km7z8I5yD7PK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FleI8U%2FbtsN0yPNpC6%2FpztS6Hsvs0Km7z8I5yD7PK%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;1920&quot; height=&quot;1490&quot; data-filename=&quot;edited_screencapture-docs-google-forms-d-e-1FAIpQLSfmsC-flHNnAC-xSPSN4fXFiVAuDdzaNCUkZpwBeLNe5aQbgQ-viewform-2025-05-16-10_16_04.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1490&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;screencapture-docs-google-forms-u-0-d-e-1FAIpQLSfmsC-flHNnAC-xSPSN4fXFiVAuDdzaNCUkZpwBeLNe5aQbgQ-formResponse-2025-05-22-14_38_03.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;919&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cA7BoJ/btsN7vyzQxP/mzOEBCPdyvtfI1a0QUJEt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cA7BoJ/btsN7vyzQxP/mzOEBCPdyvtfI1a0QUJEt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cA7BoJ/btsN7vyzQxP/mzOEBCPdyvtfI1a0QUJEt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA7BoJ%2FbtsN7vyzQxP%2FmzOEBCPdyvtfI1a0QUJEt1%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;1920&quot; height=&quot;919&quot; data-filename=&quot;screencapture-docs-google-forms-u-0-d-e-1FAIpQLSfmsC-flHNnAC-xSPSN4fXFiVAuDdzaNCUkZpwBeLNe5aQbgQ-formResponse-2025-05-22-14_38_03.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;919&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;6. 게시물에 적힌 계좌로 수강료 납부하면 신청이 완료.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; (수강료 납부 후 입력했던던 전화번호로 수강신청 확인 메시지가 온다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;7. 이후 수강일 임박해서 신청했던 이메일 주소로 안내메일이 온다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; 온라인 교육 수강인 경우는 안내메일에 계속교육 접속링크가 포함돼 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; (온라인 교육 접속 시 참여자 이름은 구글 설문지에 적었던 신청자 이름과 동일하게 입력해야 출석여부를 확인할 수 있다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/정보시스템 감리</category>
      <category>감리</category>
      <category>감리교육</category>
      <category>감리원</category>
      <category>계속교육</category>
      <category>계속교육 수강</category>
      <category>수석감리원</category>
      <category>온라인 교육 수강</category>
      <category>정보시스템감리</category>
      <category>정보시스템감리협회</category>
      <category>현장 교육 참여</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/186</guid>
      <comments>https://save-idea.tistory.com/186#entry186comment</comments>
      <pubDate>Sat, 17 May 2025 00:36:15 +0900</pubDate>
    </item>
    <item>
      <title>인텔리J(IntelliJ)_properties(프로퍼티) 글자 깨짐 해결 방법</title>
      <link>https://save-idea.tistory.com/185</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;properties(프로퍼티) 파일의 글자가 깨질때의 해결 방법&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light';&quot;&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;File&lt;/span&gt; (파일)」&amp;rArr;「&lt;span style=&quot;color: #006dd7;&quot;&gt;Settings...&lt;/span&gt; (설정)」선택&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;308&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc68yz/btsNXx3uM4D/y6BKBmAp78IDUqqj0PXgTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc68yz/btsNXx3uM4D/y6BKBmAp78IDUqqj0PXgTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc68yz/btsNXx3uM4D/y6BKBmAp78IDUqqj0PXgTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc68yz%2FbtsNXx3uM4D%2Fy6BKBmAp78IDUqqj0PXgTk%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;308&quot; height=&quot;506&quot; data-origin-width=&quot;308&quot; data-origin-height=&quot;506&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;Editor&lt;/span&gt; (에디터)」&amp;rArr;「&lt;span style=&quot;color: #006dd7;&quot;&gt;File Encodings&lt;/span&gt; (파일 인코딩)」&amp;rArr;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;Default encoding for properties files:&lt;/span&gt; (프로퍼티 파일에 대한 디폴트 인코딩)」&quot;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;UTF-8&lt;/span&gt;&lt;/b&gt;&quot;&amp;nbsp; 선택 &amp;rArr;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;Transparent native-to-ascii conversion&lt;/span&gt; (명확한 Native에서 ASCII로의 변환)」체크박스 &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;체크&lt;/span&gt;&lt;/b&gt; &amp;rArr;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;「&lt;span style=&quot;color: #006dd7;&quot;&gt;Apply&lt;/span&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;984&quot; data-origin-height=&quot;731&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oPanX/btsNWGmkrIk/OP5BvDJhH6haeUUTaTWkXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oPanX/btsNWGmkrIk/OP5BvDJhH6haeUUTaTWkXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oPanX/btsNWGmkrIk/OP5BvDJhH6haeUUTaTWkXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoPanX%2FbtsNWGmkrIk%2FOP5BvDJhH6haeUUTaTWkXk%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;984&quot; height=&quot;731&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;731&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>통합개발환경 (IDE)/IntelliJ IDEA (인텔리J)</category>
      <category>default encoding for properties files:</category>
      <category>IntelliJ</category>
      <category>properties</category>
      <category>transparent native-to-ascii conversion</category>
      <category>명확한 native에서 ascii로의 변환</category>
      <category>인텔리J</category>
      <category>인텔리제이</category>
      <category>프로퍼티</category>
      <category>프로퍼티 파일에 대한 디폴트 인코딩</category>
      <category>한글깨짐</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/185</guid>
      <comments>https://save-idea.tistory.com/185#entry185comment</comments>
      <pubDate>Thu, 15 May 2025 00:04:48 +0900</pubDate>
    </item>
    <item>
      <title>[Git] git pull 충돌, Your local changes to the following files would be overwritten by merge 에러 해결법</title>
      <link>https://save-idea.tistory.com/184</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt; git pull origin 진행 시, 아래의 에러 메시지와 함께 충돌이 발생했다.&lt;/span&gt; &lt;br /&gt;error: Your local changes to the following files would be overwritten by merge:&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; background-color: #fcfcfc; color: #333333; text-align: left;&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7; background-color: #fcfcfc;&quot;&gt;src/main/webapp/robots.txt&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Please, commit your changes or stash them before you can merge.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light';&quot;&gt;이 에러 메시지는 현재 로컬 작업 디렉터리에 수정된 src/main/webapp/robots.txt 파일이 존재하고, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;이 상태에서 git pull을 진행하면 원격에 있는 변경사항이 이 파일을 덮어써 버리기 때문에 Git이 &amp;ldquo;당신의 수정분이 날아갈 수 있으니, 먼저 커밋하거나 임시 보관(stash)하라&amp;rdquo;고 나오는 경고라고 이해하면 된다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 해결 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;해결 방법으로는 3가지 정도가 있는데, 상황에 맞는 방법을 선택 해 진행하면 된다.&amp;nbsp;&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;font-family: 'Noto Sans Light';&quot;&gt;※ 수정 내용을 유지하며 당장 병합하고 싶은 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1747231868115&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#변경 파일 스테이징
git add src/main/webapp/robots.txt
#스테이징된 변경 커밋
git commit
#원격 저장소에서 변경사항 가져와 병합
git pull origin&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;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;text-align: start;&quot;&gt;※&lt;/span&gt; 수정분을 따로 보관해두고 병합 후 다시 적용하고 싶은 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1747231897279&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#변경분 임시 보관하기
git stash push
#원격 저장소에서 변경사항 가져와 병합
git pull origin
#보관해 둔 변경분 다시 적용하기
git stash pop&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;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;text-align: start;&quot;&gt;※ &lt;/span&gt;로컬 변경을 버리고 원격 그대로 가져오고 싶은 경우&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1747232028671&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#로컬 수정 취소 (robots.txt를 커밋된 상태로 복원)
git checkout -- src/main/webapp/robots.txt
#원격 저장소에서 변경사항 가져와 병합
git pull origin&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>형상 관리/Git</category>
      <category>commit your changes or stash them before you can merge.</category>
      <category>error: your local changes to the following files would be overwritten by merge:</category>
      <category>git</category>
      <category>git add</category>
      <category>git checkout</category>
      <category>git commit</category>
      <category>git pull origin</category>
      <category>git stash pop</category>
      <category>git stash push</category>
      <category>please</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/184</guid>
      <comments>https://save-idea.tistory.com/184#entry184comment</comments>
      <pubDate>Wed, 14 May 2025 23:29:22 +0900</pubDate>
    </item>
    <item>
      <title>[DBeaver] 커밋(commit)모드 설정(자동/수동)</title>
      <link>https://save-idea.tistory.com/183</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;DBeaver는 데이터베이스에 변경 사항을 적용하기 위한 두 가지 커밋 모드가 지원된다.&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 자동 커밋 모드 (Auto-Commit Mode)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&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;1. 모드선택버튼 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;514&quot; data-origin-height=&quot;53&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt9Ras/btsNSN5X9rM/WYWsr0vmCf9dHOMU8Xt4c1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt9Ras/btsNSN5X9rM/WYWsr0vmCf9dHOMU8Xt4c1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt9Ras/btsNSN5X9rM/WYWsr0vmCf9dHOMU8Xt4c1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt9Ras%2FbtsNSN5X9rM%2FWYWsr0vmCf9dHOMU8Xt4c1%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;514&quot; height=&quot;53&quot; data-origin-width=&quot;514&quot; data-origin-height=&quot;53&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;position: absolute;&quot; 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;2. Auto-Commit 선택&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;169&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n3UJ5/btsNS3Oqo0h/koz0zX4dXa31NzmjnLLui0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n3UJ5/btsNS3Oqo0h/koz0zX4dXa31NzmjnLLui0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n3UJ5/btsNS3Oqo0h/koz0zX4dXa31NzmjnLLui0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn3UJ5%2FbtsNS3Oqo0h%2Fkoz0zX4dXa31NzmjnLLui0%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;276&quot; height=&quot;169&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;169&quot;/&gt;&lt;/span&gt;&lt;/figure&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;3. 변경확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ba56xG/btsNSnmBelQ/dFibRF9hr0TCNwBYE1EPY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ba56xG/btsNSnmBelQ/dFibRF9hr0TCNwBYE1EPY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ba56xG/btsNSnmBelQ/dFibRF9hr0TCNwBYE1EPY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba56xG%2FbtsNSnmBelQ%2FdFibRF9hr0TCNwBYE1EPY1%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;515&quot; height=&quot;52&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;52&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;도구모음의 통계 필드 값 : &quot;Auto&quot; 표시&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;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 수동 커밋 모드 (Manual Commit Mode)&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&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;1. 모드선택버튼 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAHN7D/btsNRQJr0zp/bzpsH51KeJcjUXTeNGrDz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAHN7D/btsNRQJr0zp/bzpsH51KeJcjUXTeNGrDz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAHN7D/btsNRQJr0zp/bzpsH51KeJcjUXTeNGrDz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAHN7D%2FbtsNRQJr0zp%2FbzpsH51KeJcjUXTeNGrDz1%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;515&quot; height=&quot;52&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;52&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;2. Manual Commit (Repeatable read) 선택&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;277&quot; data-origin-height=&quot;169&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tnf88/btsNSMzd4P6/XNny2oRqZGAt5oHkrT6DIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tnf88/btsNSMzd4P6/XNny2oRqZGAt5oHkrT6DIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tnf88/btsNSMzd4P6/XNny2oRqZGAt5oHkrT6DIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftnf88%2FbtsNSMzd4P6%2FXNny2oRqZGAt5oHkrT6DIK%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;277&quot; height=&quot;169&quot; data-origin-width=&quot;277&quot; data-origin-height=&quot;169&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;3. 변경확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKcrqW/btsNRRO4XT4/KkumFFQbDaaSFK4WKvHCyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKcrqW/btsNRRO4XT4/KkumFFQbDaaSFK4WKvHCyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKcrqW/btsNRRO4XT4/KkumFFQbDaaSFK4WKvHCyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKcrqW%2FbtsNRRO4XT4%2FKkumFFQbDaaSFK4WKvHCyk%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;515&quot; height=&quot;52&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;52&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;도구모음의 통계 필드 값 : 수정 명령문이 작성되지 않은 경우는 &quot;None&quot; 표시, 수정 명령문이 있는경우는 수정 명령문의 수 표시&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;Auto and manual commit modes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;Auto and manual commit modes&quot; href=&quot;https://dbeaver.com/docs/dbeaver/Auto-and-Manual-Commit-Modes/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dbeaver.com/docs/dbeaver/Auto-and-Manual-Commit-Modes/&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터베이스/DBeaver</category>
      <category>auto-commit mode</category>
      <category>commit</category>
      <category>DBeaver</category>
      <category>manual commit mode</category>
      <category>rollback</category>
      <category>디비버</category>
      <category>롤백</category>
      <category>수동 커밋 모드</category>
      <category>자동 커밋 모드</category>
      <category>커밋</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/183</guid>
      <comments>https://save-idea.tistory.com/183#entry183comment</comments>
      <pubDate>Sun, 11 May 2025 20:52:41 +0900</pubDate>
    </item>
    <item>
      <title>[DBeaver] This diagram refers data sources that dont't exist 오류</title>
      <link>https://save-idea.tistory.com/178</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;DBeaver ERD 오류 해결 방법&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Missing data sources&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;This diagram refers data sources that dont't exist&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Please specify new data sources&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;다른 사람이 DBeaver의 ER 다이어그램(.erd) 편집기에서 생성한 ERD 파일을 내 DBeaver에서 열 때 위와 같은 오류가 발생했다.&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;font-family: 'Noto Sans Light';&quot;&gt;위 오류는 해당 ERD 파일이 참조하고 있는 데이터 소스「&lt;span style=&quot;color: #006dd7;&quot;&gt;ERD 파일 내에 &amp;lt;data-source id=&quot;...&quot;&amp;gt; 태그로 정의된 데이터 소스의 ID&lt;/span&gt;」&lt;span style=&quot;color: #333333;&quot;&gt;가 현재 DBeaver 환경에 존재하지 않기 때문에 발생하는데, 이 문제를 해결하기 위해선 새 데이터 소스를 지정하는 작업이 필요하다.&lt;/span&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ Connection을 생성 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;해당 ERD파일과 같은 Connection을 생성해 준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이미 Connection이 있다면 생성 할 필요는 없다.&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;1. Database Navigator에서 마우스 우클릭 &amp;rArr;「Create」&amp;rArr;「Connection」클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;erd error1.PNG&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;177&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzNwyb/btsNFtU9RoI/MMxI0yxV6GXcfawcac1SG1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzNwyb/btsNFtU9RoI/MMxI0yxV6GXcfawcac1SG1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzNwyb/btsNFtU9RoI/MMxI0yxV6GXcfawcac1SG1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzNwyb%2FbtsNFtU9RoI%2FMMxI0yxV6GXcfawcac1SG1%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;466&quot; height=&quot;177&quot; data-filename=&quot;erd error1.PNG&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;177&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;2. 데이터베이스 선택 &amp;rArr;「다음(N) &amp;gt;」버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;erd error2.PNG&quot; data-origin-width=&quot;710&quot; data-origin-height=&quot;635&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmX6MR/btsNF0SNfqB/l8S1DOn70lcaKwUkd7mMzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmX6MR/btsNF0SNfqB/l8S1DOn70lcaKwUkd7mMzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmX6MR/btsNF0SNfqB/l8S1DOn70lcaKwUkd7mMzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmX6MR%2FbtsNF0SNfqB%2Fl8S1DOn70lcaKwUkd7mMzK%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;710&quot; height=&quot;635&quot; data-filename=&quot;erd error2.PNG&quot; data-origin-width=&quot;710&quot; data-origin-height=&quot;635&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;3. 연결 할 DB의 정보 입력 후 &amp;rArr;「완료(F)」버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;erd error3.PNG&quot; data-origin-width=&quot;710&quot; data-origin-height=&quot;635&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KyMXz/btsNFtHFEfc/OpHxRuUFIrr8ltg00PoWw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KyMXz/btsNFtHFEfc/OpHxRuUFIrr8ltg00PoWw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KyMXz/btsNFtHFEfc/OpHxRuUFIrr8ltg00PoWw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKyMXz%2FbtsNFtHFEfc%2FOpHxRuUFIrr8ltg00PoWw1%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;710&quot; height=&quot;635&quot; data-filename=&quot;erd error3.PNG&quot; data-origin-width=&quot;710&quot; data-origin-height=&quot;635&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 새 데이터 소스 지정&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;상단 메뉴의「파일」&amp;rArr;「다음 이름 지정된 파일 찾기...」을 이용해 오류가 발생했던 해당 ERD 파일을 선택하면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;erd error4.PNG&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;439&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4F6Kh/btsNFus4B73/P8fkxe8lqMKybtDp3anay1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4F6Kh/btsNFus4B73/P8fkxe8lqMKybtDp3anay1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4F6Kh/btsNFus4B73/P8fkxe8lqMKybtDp3anay1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4F6Kh%2FbtsNFus4B73%2FP8fkxe8lqMKybtDp3anay1%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;318&quot; height=&quot;439&quot; data-filename=&quot;erd error4.PNG&quot; data-origin-width=&quot;318&quot; data-origin-height=&quot;439&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;아래와 같은 오류 화면이 나오게 되는데, 여기서「Original data source」에 나온 값을 더블클릭 후&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_erd error5.PNG&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mFkIj/btsNS89LLQH/aJB0c2lpuDKxdinm1Owu1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mFkIj/btsNS89LLQH/aJB0c2lpuDKxdinm1Owu1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mFkIj/btsNS89LLQH/aJB0c2lpuDKxdinm1Owu1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmFkIj%2FbtsNS89LLQH%2FaJB0c2lpuDKxdinm1Owu1K%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;645&quot; height=&quot;226&quot; data-filename=&quot;edited_erd error5.PNG&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;226&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;새로 연결 할 Connection을 선택 후「확인」버튼을 클릭 (위에서 만든 Connection 또는 기존 Connection을 선택해 주면 된다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;만약 이전 화면에서 Original data source값을 더블클릭 했음에도, 아래와 같은 data source 선택 창이 나오지 않는다면 DBeaver의 버전이 낮아서 발생하는 문제로 좀 더 최신버전의 DBeaver를 설치해야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;erd error6.PNG&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;609&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m5SmL/btsNGww73tV/Mk0PTkvHR76CbOGpcFcJ4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m5SmL/btsNGww73tV/Mk0PTkvHR76CbOGpcFcJ4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m5SmL/btsNGww73tV/Mk0PTkvHR76CbOGpcFcJ4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm5SmL%2FbtsNGww73tV%2FMk0PTkvHR76CbOGpcFcJ4k%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;524&quot; height=&quot;609&quot; data-filename=&quot;erd error6.PNG&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;609&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;「New data source」에 새로 선택한 Connection이 지정됐는지 확인 후「확인」버튼 클릭&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_erd error7.PNG&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOR9la/btsNSolkww8/EiJmnG7xGxY7w9HopO2KP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOR9la/btsNSolkww8/EiJmnG7xGxY7w9HopO2KP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOR9la/btsNSolkww8/EiJmnG7xGxY7w9HopO2KP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOR9la%2FbtsNSolkww8%2FEiJmnG7xGxY7w9HopO2KP0%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;645&quot; height=&quot;226&quot; data-filename=&quot;edited_erd error7.PNG&quot; data-origin-width=&quot;645&quot; data-origin-height=&quot;226&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;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;모든 작업을 마쳤다면 새로 만든 연결을 할당했기 때문에, 기존에 오류가 발생했던 ERD 파일이 문제없이 열릴 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>데이터베이스/DBeaver</category>
      <category>DBeaver</category>
      <category>entity relationship diagram</category>
      <category>ERD</category>
      <category>missing data sources</category>
      <category>new data source</category>
      <category>original data source</category>
      <category>please specify new data sources</category>
      <category>select new data source</category>
      <category>this diagram refers data sources that dont't exist</category>
      <category>디비버</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/178</guid>
      <comments>https://save-idea.tistory.com/178#entry178comment</comments>
      <pubDate>Sun, 11 May 2025 03:51:51 +0900</pubDate>
    </item>
    <item>
      <title>[카페24] Cafe24 에서 war파일 배포하기</title>
      <link>https://save-idea.tistory.com/180</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;Cafe24에서 war파일 배포하는 방법에 대해 알아본다.&lt;/span&gt;&lt;/blockquote&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 배포할 war 파일 생성&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 좌측 프로젝트명 우클릭 &amp;rArr;「&lt;span style=&quot;color: #006dd7;&quot;&gt;Export...&lt;/span&gt;」클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000087733.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;439&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dEHhO2/btsNTjQAYON/k529QHThQUkheevMRpo05k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dEHhO2/btsNTjQAYON/k529QHThQUkheevMRpo05k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dEHhO2/btsNTjQAYON/k529QHThQUkheevMRpo05k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdEHhO2%2FbtsNTjQAYON%2Fk529QHThQUkheevMRpo05k%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;275&quot; height=&quot;439&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000087733.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;439&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. Web &amp;rArr;「&lt;span style=&quot;color: #006dd7;&quot;&gt;WAR file&lt;/span&gt;」선택 &amp;rArr;「&lt;span style=&quot;color: #006dd7;&quot;&gt;Next &amp;gt;&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000090750.png&quot; data-origin-width=&quot;582&quot; data-origin-height=&quot;546&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beSSq5/btsNR2W7zd4/n6RZaNqfbXAmND03tTvP4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beSSq5/btsNR2W7zd4/n6RZaNqfbXAmND03tTvP4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beSSq5/btsNR2W7zd4/n6RZaNqfbXAmND03tTvP4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeSSq5%2FbtsNR2W7zd4%2Fn6RZaNqfbXAmND03tTvP4K%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;582&quot; height=&quot;546&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000090750.png&quot; data-origin-width=&quot;582&quot; data-origin-height=&quot;546&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. war 파일명을「&lt;span style=&quot;color: #ee2323;&quot;&gt;ROOT.war&lt;/span&gt;」로 변경 후「&lt;span style=&quot;color: #006dd7;&quot;&gt;Save&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #006dd7;&quot;&gt;카페24의 경우 기본 application 위치가 &quot;&lt;span style=&quot;font-family: 'Noto Sans Light'; text-align: start;&quot;&gt;ROOT/&quot;이하 이기 때문에&lt;/span&gt;,&amp;nbsp; 배포파일의 압축이 풀렸을때 경로가 &quot;ROOT/&quot;가 될수 있도록 war파일명을 &quot;프로젝트명.war&quot; 가 아닌 &quot;ROOT.war&quot;로 지정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000117216.png&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dSeQRk/btsNQHzbMFc/MkK1kyi4iJAChEN8lUF1z1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dSeQRk/btsNQHzbMFc/MkK1kyi4iJAChEN8lUF1z1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dSeQRk/btsNQHzbMFc/MkK1kyi4iJAChEN8lUF1z1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdSeQRk%2FbtsNQHzbMFc%2FMkK1kyi4iJAChEN8lUF1z1%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;798&quot; height=&quot;444&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000117216.png&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;444&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. war 파일 저장 경로 지정 후,「&lt;span style=&quot;color: #006dd7;&quot;&gt;Finish&lt;/span&gt;」버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000127216.png&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;549&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bednpU/btsNSzs4hAi/FftXdSupfM7cmvIcs6X5x1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bednpU/btsNSzs4hAi/FftXdSupfM7cmvIcs6X5x1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bednpU/btsNSzs4hAi/FftXdSupfM7cmvIcs6X5x1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbednpU%2FbtsNSzs4hAi%2FFftXdSupfM7cmvIcs6X5x1%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;585&quot; height=&quot;549&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000127216.png&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;549&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;5. 생성한 war파일명 확인&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000146216.png&quot; data-origin-width=&quot;100&quot; data-origin-height=&quot;101&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8LAO2/btsNRhUMT7D/e2tY1PjCNsb607z1OCvFk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8LAO2/btsNRhUMT7D/e2tY1PjCNsb607z1OCvFk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8LAO2/btsNRhUMT7D/e2tY1PjCNsb607z1OCvFk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8LAO2%2FbtsNRhUMT7D%2Fe2tY1PjCNsb607z1OCvFk1%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;100&quot; height=&quot;101&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000146216.png&quot; data-origin-width=&quot;100&quot; data-origin-height=&quot;101&quot;/&gt;&lt;/span&gt;&lt;/figure&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;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 생성한 war 파일(프로젝트 배포파일)을 카페24 서버에 업로드&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. FileZilla 실행 후, SFTP로 서버 연결&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;프로토콜:&amp;nbsp;SFTP&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;호스트:&amp;nbsp;{아이디}.cafe24.com&amp;nbsp;또는 제공받은 IP&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;사용자/비밀번호: 호스팅 신청 시 설정한 사용자 아이디/비밀번호&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. /{아이디}/tomcat/webapps 경로로 생성한 war 파일(ROOT.war) 업로드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000436216.png&quot; data-origin-width=&quot;365&quot; data-origin-height=&quot;381&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwcImr/btsNRLHI25k/f56gLZjKjnqVbtBDrQR5E0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwcImr/btsNRLHI25k/f56gLZjKjnqVbtBDrQR5E0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwcImr/btsNRLHI25k/f56gLZjKjnqVbtBDrQR5E0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwcImr%2FbtsNRLHI25k%2Ff56gLZjKjnqVbtBDrQR5E0%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;365&quot; height=&quot;381&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000436216.png&quot; data-origin-width=&quot;365&quot; data-origin-height=&quot;381&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;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ Tomcat 재시작&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. SSH2 접속&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;HostName: {아이디}.cafe24.com&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Port: 22&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;User: {아이디}&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. /{아이디}/tomcat/bin 경로로 이동&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;　&amp;gt; cd /{아이디}/tomcat/bin&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. Tomcat 중지&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;　&amp;gt; ./shutdown.sh&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. Tomcat 시작&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;　&amp;gt; ./startup.sh&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000449800.png&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;233&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/292H9/btsNSOcoceT/hjefuy1XsrxG1gMAyMGjLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/292H9/btsNSOcoceT/hjefuy1XsrxG1gMAyMGjLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/292H9/btsNSOcoceT/hjefuy1XsrxG1gMAyMGjLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F292H9%2FbtsNSOcoceT%2Fhjefuy1XsrxG1gMAyMGjLK%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;1014&quot; height=&quot;233&quot; data-filename=&quot;edited_화면 기록 2023-07-28 오후 2.07.39.mov_000449800.png&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;233&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;Tomcat이 시작되면 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;업로드 했던 /{아이디}/tomcat/webapps/ROOT.war 파일의 압축이 풀리면서 배포가 완료된다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;배포 완료 후 ROOT.war파일은 서버에서 삭제해도 된다.&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;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 애플리케이션 정상 구동 확인 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;브라우저에서 http://{아이디}.cafe24.com 또는 연결한 도메인으로 접속해 애플리케이션이 정상 구동되는지 확인한다.&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;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #9d9d9d; font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: 'Noto Sans Light';&quot;&gt;war 파일 배포는 어떻게 하나요?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7; font-family: 'Noto Sans Light';&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;war 파일 배포는 어떻게 하나요?&quot; href=&quot;https://cafe24.zendesk.com/hc/ko/articles/18537735481753-war-%ED%8C%8C%EC%9D%BC-%EB%B0%B0%ED%8F%AC%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%98%EB%82%98%EC%9A%94&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://cafe24.zendesk.com/hc/ko/articles/18537735481753-war-%ED%8C%8C%EC%9D%BC-%EB%B0%B0%ED%8F%AC%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%98%EB%82%98%EC%9A%94&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: left;&quot;&gt;단독 톰캣 재시작은 어떻게 하나요?&lt;/span&gt;&lt;u&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;단독 톰캣 재시작은 어떻게 하나요?&quot; href=&quot;https://cafe24.zendesk.com/hc/ko/articles/18537104780441-%EB%8B%A8%EB%8F%85-%ED%86%B0%EC%BA%A3-%EC%9E%AC%EC%8B%9C%EC%9E%91%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%98%EB%82%98%EC%9A%94&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://cafe24.zendesk.com/hc/ko/articles/18537104780441-%EB%8B%A8%EB%8F%85-%ED%86%B0%EC%BA%A3-%EC%9E%AC%EC%8B%9C%EC%9E%91%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%98%EB%82%98%EC%9A%94&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>호스팅 플랫폼/Cafe24 (카페24)</category>
      <category>cafe24</category>
      <category>root.war</category>
      <category>shutdown.sh</category>
      <category>startup.sh</category>
      <category>Tomcat</category>
      <category>war파일</category>
      <category>카페24</category>
      <category>톰캣</category>
      <category>프로젝트 배포</category>
      <category>호스팅</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/180</guid>
      <comments>https://save-idea.tistory.com/180#entry180comment</comments>
      <pubDate>Sat, 10 May 2025 03:31:36 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 인기 순위 (2025-05)</title>
      <link>https://save-idea.tistory.com/179</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2025년 05월 헤드라인 -&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;파이썬이 세계를 지배한다&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ~ 20위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1098&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OZe75/btsNP9Iw9VR/l7DZKPNq4AKCTnBy7WDpo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OZe75/btsNP9Iw9VR/l7DZKPNq4AKCTnBy7WDpo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OZe75/btsNP9Iw9VR/l7DZKPNq4AKCTnBy7WDpo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOZe75%2FbtsNP9Iw9VR%2Fl7DZKPNq4AKCTnBy7WDpo0%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;1368&quot; height=&quot;1098&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;1098&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;21 ~ 50위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1365&quot; data-origin-height=&quot;1123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bztSfR/btsNQfIsKTB/jQxfoRJqzwLQXkJbNSOVc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bztSfR/btsNQfIsKTB/jQxfoRJqzwLQXkJbNSOVc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bztSfR/btsNQfIsKTB/jQxfoRJqzwLQXkJbNSOVc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbztSfR%2FbtsNQfIsKTB%2FjQxfoRJqzwLQXkJbNSOVc0%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;1365&quot; height=&quot;1123&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1365&quot; data-origin-height=&quot;1123&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #ffffff; color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;TIOBE Index for May 2025&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;TIOBE Index for May 2025&quot; href=&quot;https://www.tiobe.com/tiobe-index/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.tiobe.com/tiobe-index/&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;</description>
      <category>IT 기타/프로그래밍 언어 순위</category>
      <category>C</category>
      <category>C#</category>
      <category>c++</category>
      <category>go</category>
      <category>java</category>
      <category>JavaScript</category>
      <category>Python</category>
      <category>TIOBE</category>
      <category>visual basic</category>
      <category>프로그래밍 언어 순위</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/179</guid>
      <comments>https://save-idea.tistory.com/179#entry179comment</comments>
      <pubDate>Fri, 9 May 2025 00:20:49 +0900</pubDate>
    </item>
    <item>
      <title>ChatGPT (챗GPT) Plus로 플랜 업그레이드(유료결제) 방법</title>
      <link>https://save-idea.tistory.com/174</link>
      <description>&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;ChatGPT (챗GPT) Plus로 플랜 업그레이드(유료결제) 방법&lt;/span&gt;&lt;/blockquote&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 화면 좌측 하단의 &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;플랜 업그레이드&lt;/span&gt;&quot; 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_c1.PNG&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;922&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crsYXV/btsNETlA2mx/1mdV2mRoT9LkItcBK6a8A0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crsYXV/btsNETlA2mx/1mdV2mRoT9LkItcBK6a8A0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crsYXV/btsNETlA2mx/1mdV2mRoT9LkItcBK6a8A0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrsYXV%2FbtsNETlA2mx%2F1mdV2mRoT9LkItcBK6a8A0%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;1920&quot; height=&quot;922&quot; data-filename=&quot;edited_c1.PNG&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;922&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;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;Plus 이용하기&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;c2.PNG&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;922&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgemjS/btsNEddLwB4/KpNFlUdKVq6bpLr2DmdkLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgemjS/btsNEddLwB4/KpNFlUdKVq6bpLr2DmdkLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgemjS/btsNEddLwB4/KpNFlUdKVq6bpLr2DmdkLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgemjS%2FbtsNEddLwB4%2FKpNFlUdKVq6bpLr2DmdkLK%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;1920&quot; height=&quot;922&quot; data-filename=&quot;c2.PNG&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;922&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;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3. 결제 정보 입력 후 &amp;rArr; 동의하기 체크박스 선택 &amp;rArr; &quot;&lt;span style=&quot;color: #006dd7;&quot;&gt;구독하기&lt;/span&gt;&quot; 버튼 클릭&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_screencapture-pay-openai-c-pay-cs-live-a1XatUeaEONIiZvmHYnBVfBZKfKGfk7TAlaDba34mmbE15uFnCFLwPET3g-2025-03-28-13_47_50.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1088&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QatUR/btsND7kBIZx/boM53qD9JoIaTTgyAuFKU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QatUR/btsND7kBIZx/boM53qD9JoIaTTgyAuFKU1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QatUR/btsND7kBIZx/boM53qD9JoIaTTgyAuFKU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQatUR%2FbtsND7kBIZx%2FboM53qD9JoIaTTgyAuFKU1%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;1920&quot; height=&quot;1088&quot; data-filename=&quot;edited_screencapture-pay-openai-c-pay-cs-live-a1XatUeaEONIiZvmHYnBVfBZKfKGfk7TAlaDba34mmbE15uFnCFLwPET3g-2025-03-28-13_47_50.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1088&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;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;4. 결제 완료 확인 (&lt;span style=&quot;color: #006dd7;&quot;&gt;나의 현재 플랜&lt;/span&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;c5.PNG&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;922&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqhKE6/btsNFSssTrK/cMKMpHt8XVzKWFKObIEkmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqhKE6/btsNFSssTrK/cMKMpHt8XVzKWFKObIEkmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqhKE6/btsNFSssTrK/cMKMpHt8XVzKWFKObIEkmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqhKE6%2FbtsNFSssTrK%2FcMKMpHt8XVzKWFKObIEkmk%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;1920&quot; height=&quot;922&quot; data-filename=&quot;c5.PNG&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;922&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;</description>
      <category>생산성 도구/ChatGPT</category>
      <category>ChatGPT</category>
      <category>ChatGPT Plus</category>
      <category>chatgpt 구독하기</category>
      <category>gpt 유료결제</category>
      <category>gpt 플랜 업그레이드</category>
      <category>gpt-4.5</category>
      <category>gpt-4o</category>
      <category>챗GPT</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/174</guid>
      <comments>https://save-idea.tistory.com/174#entry174comment</comments>
      <pubDate>Wed, 30 Apr 2025 00:29:03 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 인기 순위 (2025-04)</title>
      <link>https://save-idea.tistory.com/177</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2025년 04월 헤드라인 -&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;과거 상위 20위 언어였던 Kotlin, Ruby, Swift의 최근 부진 지속&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ~ 20위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;1105&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmahiJ/btsNAWWPFnS/izPu15cZCwqt6zf9HPInR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmahiJ/btsNAWWPFnS/izPu15cZCwqt6zf9HPInR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmahiJ/btsNAWWPFnS/izPu15cZCwqt6zf9HPInR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmahiJ%2FbtsNAWWPFnS%2FizPu15cZCwqt6zf9HPInR1%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;1370&quot; height=&quot;1105&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;1105&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;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;21 ~ 50위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;1124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b85A0h/btsNANTrxat/NwzUAbSS5Xpze1o1BKycn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b85A0h/btsNANTrxat/NwzUAbSS5Xpze1o1BKycn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b85A0h/btsNANTrxat/NwzUAbSS5Xpze1o1BKycn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb85A0h%2FbtsNANTrxat%2FNwzUAbSS5Xpze1o1BKycn0%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;1370&quot; height=&quot;1124&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1370&quot; data-origin-height=&quot;1124&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;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;TIOBE Index for April 2025&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;TIOBE Index for April 2025&quot; href=&quot;https://www.tiobe.com/tiobe-index/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.tiobe.com/tiobe-index/&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>IT 기타/프로그래밍 언어 순위</category>
      <category>C</category>
      <category>C#</category>
      <category>c++</category>
      <category>java</category>
      <category>JavaScript</category>
      <category>kotlin</category>
      <category>Python</category>
      <category>ruby</category>
      <category>Swift</category>
      <category>프로그래밍 언어 순위</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/177</guid>
      <comments>https://save-idea.tistory.com/177#entry177comment</comments>
      <pubDate>Sat, 26 Apr 2025 14:11:36 +0900</pubDate>
    </item>
    <item>
      <title>JSP에서 HTML 태그가 문자열로 출력될 때 해결방법 (escapeXml 옵션 활용)</title>
      <link>https://save-idea.tistory.com/171</link>
      <description>&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSP에서 데이터를 출력할 때 &amp;lt;c:out&amp;gt; 태그를 사용하면 HTML 태그가 문자열 그대로 출력되는 경우가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;c:out value=&quot;${conts.ttl}&quot;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt; 예를 들어 위와&amp;nbsp;같은 코드가 있는데, 만약 conts.ttl 값이 아래와 같다면&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&quot;제목입니다.&amp;lt;br&amp;gt;다음 줄입니다.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;브라우저에서는 &amp;lt;br&amp;gt; 태그가 적용되지 않고, &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그대로&lt;/span&gt; 제목입니다.&amp;lt;br&amp;gt;다음 줄입니다. &lt;/span&gt;처럼 보일 것이다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;이것은 &amp;lt;c:out&amp;gt;이 기본적으로 HTML을 이스케이프 처리하기 때문이다.&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ &amp;lt;c:out&amp;gt;의 기본 동작&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;JSP에서 &amp;lt;c:out&amp;gt; 태그는 XSS(크로스 사이트 스크립팅) 공격을 방지하기 위해 기본적으로 HTML을 이스케이프 처리한다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;즉, HTML 태그를 문자열 그대로 출력하도록 동작한다는 것이다.&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;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;예를 들어 c:out을 사용하면 다음과 같이 변환되는데,&amp;nbsp;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;이러한 동작 때문에 HTML 태그가 정상적으로 렌더링 되지 않고 문자 그대로 출력되는 문제가 발생한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style13&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 46.9767%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;원래 값&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 52.907%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;lt;c:out&amp;gt; 출력 결과&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 46.9767%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;lt;b&amp;gt;굵은 텍스트&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 52.907%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&amp;amp;lt;b&amp;amp;gt;굵은 텍스트&amp;amp;lt;/b&amp;amp;gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 46.9767%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Hello&amp;lt;br&amp;gt;World&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 52.907%;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;Hello&amp;amp;lt;br&amp;amp;gt;World&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;br /&gt;&lt;br /&gt;◆ 해결 방법&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;lt;c:out&amp;gt; 태그에&lt;/span&gt; &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;escapeXml=&quot;false&quot;&lt;/b&gt;&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;속성을 추가해서 문제를 해결할 수 있는데&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333; text-align: start;&quot;&gt; 이렇게 하면 &lt;span style=&quot;text-align: start;&quot;&gt;아래와 같이 &lt;/span&gt;conts.ttl 값에 포함된 HTML 태그가 정상적으로 렌더링 되고,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;브라우저에서 HTML&lt;/span&gt;&lt;span style=&quot;text-align: start;&quot;&gt;태그로써 정상적으로 적용되어 줄바꿈이 이루어진다.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;html xml&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;c:out value=&quot;${conts.ttl}&quot; escapeXml=&quot;false&quot;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #333333;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&amp;lt;적용 전 결과 (기본동작)&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;제목입니다.&amp;lt;br&amp;gt;다음 줄입니다.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;&amp;lt;적용 후 결과 (escapeXml=&quot;false&quot; 속성 사용)&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; background-color: #fcfcfc; color: #006dd7; text-align: left;&quot;&gt; 제목입니다.&lt;br /&gt;다음 줄입니다.&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ escapeXml=&quot;false&quot;&amp;nbsp;사용&amp;nbsp;시&amp;nbsp;주의할&amp;nbsp;점&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;HTML을 그대로 출력할 경우, 보안적인 문제가 발생할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741954898262&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;script&amp;gt;alert('해킹!');&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;사용자가 입력한 값에 &amp;lt;script&amp;gt; 태그가 포함되어 있다면, 악성 스크립트가 실행될 가능성이 있기 때문에 사용자 입력값을 직접 출력할 때는 악성 스크립트 삽입(XSS) 공격을 방지하기 위해 신뢰할 수 있는 입력값인지 검증하는 것이 중요하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;필터링을 거쳐 안전한 태그만 허용하는 것도 하나의 방법이 될 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; font-size: 9px; color: gray;&quot;&gt;-- 기억의 유효기간은 생각보다 짧다. --&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프레임워크/JSP &amp;amp; Servlet</category>
      <category>&amp;lt;c:out&amp;gt;</category>
      <category>escapexml=&amp;quot;false&amp;quot;</category>
      <category>HTML 태그</category>
      <category>jsp</category>
      <category>jsp에서 html 태그가 문자열로 출력될 때 해결방법</category>
      <category>XSS</category>
      <category>크로스 사이트 스크립팅</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/171</guid>
      <comments>https://save-idea.tistory.com/171#entry171comment</comments>
      <pubDate>Fri, 14 Mar 2025 22:34:00 +0900</pubDate>
    </item>
    <item>
      <title>프로그래밍 언어 인기 순위 (2025-03)</title>
      <link>https://save-idea.tistory.com/172</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;◆ 2025년 03월 헤드라인 -&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;올드&amp;nbsp;언어들의&amp;nbsp;반격:&amp;nbsp;Fortran,&amp;nbsp;Delphi,&amp;nbsp;Ada,&amp;nbsp;COBOL의&amp;nbsp;부활&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1 ~ 20위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1364&quot; data-origin-height=&quot;1103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFnrMW/btsMLQQCzSs/H03P69QF3SK0mITUz9Y1F1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFnrMW/btsMLQQCzSs/H03P69QF3SK0mITUz9Y1F1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFnrMW/btsMLQQCzSs/H03P69QF3SK0mITUz9Y1F1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFnrMW%2FbtsMLQQCzSs%2FH03P69QF3SK0mITUz9Y1F1%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;1364&quot; height=&quot;1103&quot; data-filename=&quot;20.png&quot; data-origin-width=&quot;1364&quot; data-origin-height=&quot;1103&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;21 ~ 50위&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1364&quot; data-origin-height=&quot;1123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l86EP/btsMKITCXAR/jhfJKLnbVXtZFwhkVS6UK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l86EP/btsMKITCXAR/jhfJKLnbVXtZFwhkVS6UK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l86EP/btsMKITCXAR/jhfJKLnbVXtZFwhkVS6UK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl86EP%2FbtsMKITCXAR%2FjhfJKLnbVXtZFwhkVS6UK0%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;1364&quot; height=&quot;1123&quot; data-filename=&quot;50.png&quot; data-origin-width=&quot;1364&quot; data-origin-height=&quot;1123&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;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #9d9d9d;&quot;&gt;&lt;b&gt;참조&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Sans Light'; color: #333333;&quot;&gt;TIOBE Index for March 2025&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; title=&quot;TIOBE Index for March 2025&quot; href=&quot;https://www.tiobe.com/tiobe-index/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.tiobe.com/tiobe-index/&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>IT 기타/프로그래밍 언어 순위</category>
      <category>ADA</category>
      <category>C</category>
      <category>COBOL</category>
      <category>delphi</category>
      <category>Fortran</category>
      <category>java</category>
      <category>JavaScript</category>
      <category>Python</category>
      <category>TIOBE</category>
      <category>프로그래밍 언어 순위</category>
      <author>기록원장</author>
      <guid isPermaLink="true">https://save-idea.tistory.com/172</guid>
      <comments>https://save-idea.tistory.com/172#entry172comment</comments>
      <pubDate>Fri, 14 Mar 2025 22:33:25 +0900</pubDate>
    </item>
  </channel>
</rss>