<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>삶 가운데 남긴 기록 AACII.TISTORY.COM</title>
    <link>https://aacii.tistory.com/</link>
    <description>Anti-symmetric Asynchronous Comet Internet Interface
命中日記</description>
    <language>ko</language>
    <pubDate>Fri, 5 Jun 2026 12:24:31 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>ALEPH.GEM</managingEditor>
    <image>
      <title>삶 가운데 남긴 기록 AACII.TISTORY.COM</title>
      <url>https://tistory1.daumcdn.net/tistory/3900768/attach/d643d88721f24572a2dfa94b4d500967</url>
      <link>https://aacii.tistory.com</link>
    </image>
    <item>
      <title>OBS 마이크 녹음을 위한 오디오 필터 적용 방법</title>
      <link>https://aacii.tistory.com/472</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;OBS등 스트리밍용 앱에서 사용하는 마이크용 오디오 필터에 대해 알아보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 필터를 적용하느냐에 따라 특정 소리가 증폭되거나 감소하거나 하기 때문에 이 &lt;b&gt;필터들은 적용 순서가 중요&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 소음 억제 or VST 2.x 플러그인: 지속적인 소음 제거&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 익스팬더: 말하지 않을 때 잡음 줄이기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3-1. 컴프레서1: 큰 소리 부드럽게 줄이기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3-2: 컴프레서2: 너무 큰 소리 빠르게 줄이기&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. (선택)게인: 각종 필터 적용 후 음량이 줄어들어들었을 경우 소리를 증폭할 필요가 있을 때&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. (선택)리미터: 큰 소리 최대 값 지정.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 소음 억제(Noise Suppression Filter)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마이크에 지속적인 배경 소음을 줄여주는 필터입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨터 팬소리, 냉장고 소리, 주변 웅웅 거리는 소리들을 줄여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 익스팬더와의 차이는 익스팬더는 일정 음량 보다 작은 소리를 줄여주는데 반해 소음 억제 필터는 소리의 성분을 분석해서 소음의 특성을 보이는 소리를 줄여줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 소리의 음량이 아니라 주파수나 패턴 특성으로 소음을 줄여서 말하는 중에도 배경 소음을 줄여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 계속 적으로 일정하게 깔리는 소음(컴퓨터 팬소리, 에어컨 소리 등)에 효과적입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소음 억제를 강하게 하면 소음은 많이 줄지만 목소리 품질이 손상됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 소음 억제를 약하게 하면 자연스럽지만 소음이 남게 되므로 적절한 수치는 본인이 조정해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RNNoise 방식은 AI 기반 소음 억제 필터인데 일반 Speex 방식보다 키보드 소리나 주변 소음에 강하지만, 목소리나 일부 발음이 뭉개질 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 개인적으로는 소음 제거 수치를 조절할 수 있는 Speex 방식을 선호합니다.&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;하지만, OBS가 기본 제공하는 소음 억제 필터 대신에 VST 2.x 플러그인을&amp;nbsp; 이용하는 방법도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.reaper.fm/reaplugs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.reaper.fm/reaplugs/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779345871801&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;REAPER | ReaPlugs&quot; data-og-description=&quot;Want to use some of the comprehensive FX plug-ins that REAPER provides, but stuck in another host? Haven't made the switch yet? Fear not -- you can download ReaPlugs, a package of FX that includes many of the plug-ins that come with REAPER, for free!&quot; data-og-host=&quot;www.reaper.fm&quot; data-og-source-url=&quot;https://www.reaper.fm/reaplugs/&quot; data-og-url=&quot;https://www.reaper.fm/reaplugs/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/clvQ5Y/dJMb9jgC6Ro/UKqcXGjR6VRigFHAQ3Bkh0/img.png?width=397&amp;amp;height=220&amp;amp;face=0_0_397_220&quot;&gt;&lt;a href=&quot;https://www.reaper.fm/reaplugs/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.reaper.fm/reaplugs/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/clvQ5Y/dJMb9jgC6Ro/UKqcXGjR6VRigFHAQ3Bkh0/img.png?width=397&amp;amp;height=220&amp;amp;face=0_0_397_220');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;REAPER | ReaPlugs&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Want to use some of the comprehensive FX plug-ins that REAPER provides, but stuck in another host? Haven't made the switch yet? Fear not -- you can download ReaPlugs, a package of FX that includes many of the plug-ins that come with REAPER, for free!&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.reaper.fm&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 브라우저로 위 사이트 주소로 가서 Reaper 플러그인을 다운받고 설치 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 대부분 64 bit 윈도우를 사용중 이실테니 RealPlugs VST v2.36 64bit 링크를 클릭해서 다운받으면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;OBS 오디오 필터 설정1.png&quot; data-origin-width=&quot;863&quot; data-origin-height=&quot;758&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ciYBbs/dJMcahR0wYa/JU19Il4jKtzapa6itG5R70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ciYBbs/dJMcahR0wYa/JU19Il4jKtzapa6itG5R70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ciYBbs/dJMcahR0wYa/JU19Il4jKtzapa6itG5R70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FciYBbs%2FdJMcahR0wYa%2FJU19Il4jKtzapa6itG5R70%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;863&quot; height=&quot;758&quot; data-filename=&quot;OBS 오디오 필터 설정1.png&quot; data-origin-width=&quot;863&quot; data-origin-height=&quot;758&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 플러그인을 설치하시고 OBS를 실행시키고 마이크의 필터 설정에 들어가서 소음 억제 필터 자리에 VST 2.x 플러그인 필터를 활성화 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. OBS 오디오 필터 창에서 우측 select box에서 reafir_standalone 을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 그 다음 플러그인 인터페이스 열기 버튼을 누릅니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;VST플러그인 설정.png&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;442&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ci3Huw/dJMcacwrPMX/cpGk0w2pEi1KkJVrmuIhwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ci3Huw/dJMcacwrPMX/cpGk0w2pEi1KkJVrmuIhwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ci3Huw/dJMcacwrPMX/cpGk0w2pEi1KkJVrmuIhwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fci3Huw%2FdJMcacwrPMX%2FcpGk0w2pEi1KkJVrmuIhwk%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;614&quot; height=&quot;442&quot; data-filename=&quot;VST플러그인 설정.png&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;442&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Edit 모드 항목을 Precise 항목을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. FFT Size 항목의 최대값 32768 을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. Mode 항목은 Subtract 를 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. Automatically build noise profile 항목을 체크한 뒤 잠시 5초정도 기다린 다음 체크 해제하면 입력되던 주변 소음들이 자동으로 제거가 됩니다.&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;OBS 기본 소음 억제 필터 대신에 VST 2.x 플러그인을 쓰면 단점이 마이크 입력에 약간의 딜레이가 생깁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 익스팬더(Expander)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작은 소리를 더 작게 만드는 필터입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마이크에 말하지 않을 때 에어컨 소리나 컴퓨터 팬소리, 키보드 타건음, 마우스 클릭음 돌발적인 같은 작은 잡음이나 배경 소리를 줄여주는 역할입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 말소리 보다 작은 소음들을 줄여서 음성이 더 또렷하게 들리도록 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;노이즈 게이트(Noise Gate)는 소리를 차단하지만 익스팬더는 좀 더 부드럽게 줄여주는 차이가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;노이즈 게이트는 소리를 완전히 차단해서 부자연스럽게 녹음될 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Threshold(임계값): 익스팬더가 작동하기 시작하는 기준 음량입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Ratio(비율): 기준 보다 작은 소리를 얼마나 줄여줄지에 대한 비율입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Attack: 기준보다 소리가 큰 경우 익스팬더가 얼마나 빨리 풀리는지에 대한 시간 값입니다. 너무 느리면 음성 첫 머리가 잘릴 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Release: 기준보다 소리가 작아졌을 때 얼마나 천천히 소리를 줄이는 지에 대한 시간 값입니다. 너무 짧으면 부자연스럽고 너무 길면 잡음이 계속 남아 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Range: 최대로 얼마나 줄일지 정합니다. 예를들어 -20 dB로 설정하면 작은 소리를 최대 20dB까지만 줄입니다.&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;/p&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&gt;Threshold&lt;/td&gt;
&lt;td&gt;-45 dB ~ -35 dB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ratio&lt;/td&gt;
&lt;td&gt;2:1 ~ 4:1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attack&lt;/td&gt;
&lt;td&gt;5 ~ 20 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Release&lt;/td&gt;
&lt;td&gt;100 ~ 300 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Range&lt;/td&gt;
&lt;td&gt;-10 ~ -25 dB&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;h3 data-ke-size=&quot;size23&quot;&gt;3. 컴프레서(Compressor)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;익스팬더와 반대로 너무 큰 소리를 줄여주는 필터입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;너무 큰 소리가 마이크에 들어오면 소리가 튀면서 찢어지게 되는데 큰 소리를 줄여서 안정적인 음량을 만들 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리미터는 소리를 차단하지만 컴프레서는 소리를 줄여주는 차이가 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Threshold(임계값): 컴프레서가 작동하기 시작하는 기준 음량입니다. 예를 들어 -20dB이면, -20dB보다 큰 소리가 들어올 때 컴프레서가 작동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Ratio(비율): 기준을 넘은 소리를 얼마나 줄일지에 대한 비율입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Attack: 소리가 임계값을 넘었을 때 컴프레서가 얼마나 빨리 동작하는 지에 대한 시간 값입니다. Attack이 빠르면 순간적인 소음을 잘 잡고 Attack이 느리면 큰 소리의 선명함이 살아남습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Release: 소리가 임계값 아리로 내려왔을 때 컴프레서가 얼마나 빨리 풀릴지에 대한 시간 값입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Makeup Gain(게인): 컴프레서로 큰 소리를 줄이면 전체 음량이 작아지므로 전체 음량을 다시 올려주는 역할입니다.&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;/p&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&gt;Threshold&lt;/td&gt;
&lt;td&gt;-24 dB ~ -12 dB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ratio&lt;/td&gt;
&lt;td&gt;2:1 ~ 4:1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attack&lt;/td&gt;
&lt;td&gt;5 ~ 20 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Release&lt;/td&gt;
&lt;td&gt;80 ~ 200 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Knee&lt;/td&gt;
&lt;td&gt;Soft&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Makeup Gain&lt;/td&gt;
&lt;td&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;h3 data-ke-size=&quot;size23&quot;&gt;4. 게인(Gain)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 소음을 줄여주는 필터를 쓰면 전체 음량이 작아지게 되는데, 이를 보완하기 위해 게인을 써서 소리를 한 번 더 증푝시켜줄 필요가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자신의 설정값에 따라 적절하게 음량을 증폭시켜주면됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 리미터(Limiter)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리미터는 컴프레서의 한 종류로 소리가 정해진 최대 음량을 넘지 못하게 막는 필터 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소리가 너무 커서 클리핑이 발생하면 소리가 찢어지고 거칠어지고 왜곡됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴프레서가 큰 소리를 줄여주는데 반해 리미터는 큰소리를 차단해서 막아줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Threshold or Ceiling: 리미터가 막기 시작하는 최대 음량입니다. 예를 들어 -1 ~ -3 dB 정도로 해 주어야 클리핑을 방지할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Release: 리미커가 소리를 막은 뒤 원래 상태로 돌아오는 시간 값입니다. 너무 빠르면 소리가 거칠어질 수 있고 너무 느리면 전체 소리가 답답해질 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Attack: 리미터는 보통 매우 빠른 Attack을 사용합니다. 순간적인 큰 소리를 막아야 하기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Lookahaead: 리미터가 소리를 미리 보고 반응하는 기능입니다. 오디오를 짧게 지연 시킨 뒤 앞으로 들어올 큰 소리를 예측해서 막습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Input Gain: 리미터에 들어가기 전의 음량을 올리는 값입니다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정예시&lt;/p&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&gt;Ceiling / Output&lt;/td&gt;
&lt;td&gt;-1 dB ~ -3 dB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Threshold&lt;/td&gt;
&lt;td&gt;큰 소리가 튈 때만 작동하도록 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Release&lt;/td&gt;
&lt;td&gt;50 ~ 150 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lookahead&lt;/td&gt;
&lt;td&gt;1 ~ 5 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gain Reduction&lt;/td&gt;
&lt;td&gt;평소에는 0 dB, 큰 소리에서만 1~6 dB 정도&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;&lt;a href=&quot;https://youtu.be/tHyEZ7H76mY&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/tHyEZ7H76mY&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=tHyEZ7H76mY&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/vsCZB/dJMb8U8ZutA/sVssnHSxjFP0kgqGm5DomK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/ygbAS/dJMb9jgC8I2/xjZAhPey1xjhtKXIkTAfiK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/jWYfA/dJMb8PGBZTS/MLBId6VXarS2HkEjuEdVs1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;OBS 마이크 필터 플러그인 설정&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/tHyEZ7H76mY&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>ALEPH.GEM</category>
      <category>obs</category>
      <category>녹음</category>
      <category>녹화</category>
      <category>마이크</category>
      <category>스트리밍</category>
      <category>오디오</category>
      <category>필터</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/472</guid>
      <comments>https://aacii.tistory.com/472#entry472comment</comments>
      <pubDate>Thu, 21 May 2026 18:33:15 +0900</pubDate>
    </item>
    <item>
      <title>PC버전 팡야 돌려줘요.</title>
      <link>https://aacii.tistory.com/468</link>
      <description>&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;팡야 돌려줘요.&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;/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;/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;a href=&quot;https://youtu.be/0ZL3HyG1zeY&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/0ZL3HyG1zeY&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=0ZL3HyG1zeY&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/RnsNF/dJMb9hC59FU/HBSo9xG4fMaKvHfrsRkyAK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/r1rMY/dJMb9iILSOT/PvebVnQ1ti472Rg3HdwTzK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/bA9JbB/dJMb9jOrOEL/HYK03rR4kVjXnyxPnQM8Dk/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;팡야 아이스 스파 6번홀 토마호크 백스핀 홀인원&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/0ZL3HyG1zeY&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/UsMLXQpGt8g&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/UsMLXQpGt8g&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=UsMLXQpGt8g&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/cYWHAm/dJMb85WYiZA/q3JhoXgxF6V6INfiowpfpk/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/eUgSj/dJMb9iaV3yl/sx0yEV0BKqAClPCTkkL4qk/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/bk5TSg/dJMb87gbrjy/AvBAzju7d8prVUdigy9YC1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;팡야 화이트 위즈 9번홀 토마호크 백스핀 홀인원&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/UsMLXQpGt8g&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/iOWNBDb9FpE&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/iOWNBDb9FpE&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=iOWNBDb9FpE&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/dGqkfj/dJMb9hC59F8/cHyQcoHtatpqLPHeK8c2k1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/5mSHk/dJMb9iILSPb/rW7XhJMGcibfxsyksPY9K1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/I4QY9/dJMb9jOrOFx/KIp7Js6ednWQHuC1NLxdX1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;팡야 위즈 위즈 4번홀 토마호크 백스핀 홀인원&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/iOWNBDb9FpE&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/nDIUgEZpcSs&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/nDIUgEZpcSs&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=nDIUgEZpcSs&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/banGgn/dJMb887dKZH/zoBLlhfb1eqPhnirwOW4o0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/goN8P/dJMb8PGA43p/FBHOqqjZfh7VKFZ1BBDLO0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/jDjxT/dJMb8T94vpD/K0lNahTCoGy1sLsdRDS69K/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;팡야 위즈 위즈 13번홀 백스핀 토마호크 홀인원&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/nDIUgEZpcSs&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/3ybx3st0JqE&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/3ybx3st0JqE&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=3ybx3st0JqE&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/cUytOT/dJMb8WeFpHv/Zc7oyTswlxshkdvV9zT1j0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/cYm4kv/dJMb9cBNGG4/zRVc0NKsQYVfDDmva1SJnK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/UyagL/dJMb9dHtOoR/tf596PPW4VN4HCJ4bx76a0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;위즈시티 9홀 이글 칩인&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/3ybx3st0JqE&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/cREIPJrojDE&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/cREIPJrojDE&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=cREIPJrojDE&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bmLc10/dJMb8YXRi3X/5TK58Jey8Dv77PkvNPVBR1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/dvHqew/dJMb9eTVdwu/5kx7OwNJf6D3ohTdosKko1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/DuUPt/dJMb8Yp04eV/KOYdAWxkbkdcQb3D3DMqF1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;위즈 시티 10홀 백스핀 토마호크 홀인원&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/cREIPJrojDE&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;kooh.JPG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Yufl/dJMcabxpkvN/PcKYYhj8Ao5VsZfap7hnPk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Yufl/dJMcabxpkvN/PcKYYhj8Ao5VsZfap7hnPk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Yufl/dJMcabxpkvN/PcKYYhj8Ao5VsZfap7hnPk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Yufl%2FdJMcabxpkvN%2FPcKYYhj8Ao5VsZfap7hnPk%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;1280&quot; height=&quot;960&quot; data-filename=&quot;kooh.JPG&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;960&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/고전게임</category>
      <category>pangya</category>
      <category>백스핀</category>
      <category>칩인</category>
      <category>토마호크</category>
      <category>팡야</category>
      <category>홀인원</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/468</guid>
      <comments>https://aacii.tistory.com/468#entry468comment</comments>
      <pubDate>Wed, 20 May 2026 20:01:26 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 게임 운영 팁</title>
      <link>https://aacii.tistory.com/85</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알려진 바로는 HD버전이 PC 전용이 아니라 닌텐도 스위치가 주 버전이라 컨트롤러 관련 문제라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;KOEI에서 패치로 해결해주는 것이 좋을 텐데 아직 패치 소식은 없어 보입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;배 업그레이드 요령&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초반에는 중형 배 1척을 사고 뒤에 기존의 소형 배를 배치하고 교역로를 넓히면서 돈을 모읍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;돈이 되는대로 중형 배를 모아서 중형 배가 4개 정도 되면 돈을 더 모아서, 가지고 있는 마지막 소형 배를 팔아치우고 대형 배를 기함용으로 삽니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이다음부터는 대형 배로 차곡차곡 업그레이드를 하면 됩니다.&lt;span&gt;&amp;nbsp;&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;h3 data-ke-size=&quot;size23&quot;&gt;교역&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 가격 100%에서 많이 살수록 높아지고(비싸지고) 많이 팔수록 낮아(싸) 집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 리스본의 사프란은 '향신료'입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 세우타에 가져가서 팔고 거기서 야자유(조미료)를 리스본에 판다고 친다면, 리스본의 향신료 가격은 점점 오르고, 조미료 값은 점점 내릴 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 야자유 때문에 리스본의 소금(조미료) 가격까지 떨어집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 이용해서 물가를 조절한 뒤 폭리를 취할 수도 있겠지요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그냥 생각 없이 여기저기 사고파는 방법이 편하긴 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;큰 이익은 볼 수 없지만 기본적인 이문은 남기니까요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;h3 data-ke-size=&quot;size23&quot;&gt;광장&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;광장에는 상품의 유행 상황을 확인할 수 있고 브랜드 상품으로 홍보하기, 교역품 살포와 인도 청년 '아비브 다카이'를 이용한 유행 창출이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브랜드 상품으로 홍보하기는 브랜드 상품을 꼭 가지고 있어야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브랜드 상품은 자기 상회의 이름을 걸고 내는 상품으로써 매년 1월 1일에 교역로가 확보된, 자기 함대와 가장 가까운 도시의 1등급 제품 중 하나에서 결정됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 1년간 1등급 대신 별표가 박혀있고, 값이 비싼 만큼 다른 곳에서도 비싸게 팔아먹을 수 있는 물건입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것을 가지고 회계사가 좋을 경우, 광장에서 브랜드 상품을 주면서 홍보하면 세력치가 오르거나 그 도시에서 자사 브랜드가 유행하기도 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교역품 살포는 교역품과 선원을 배치한 예배실에 설득력 160 이상 캐릭터가 있어야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많이 뿌리면, 시민들의 대화에서 어느 도시로 가져가서 팔 거라는 이야기를 하는데 그 도시에서 유행품이 되기도 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브랜드 상품 홍보보다 좋은 점은, 브랜드 상품이 아니어도 되고 언제나 사용 가능하지만, 쓰는 교역품의 양에 비해 효과가 적다는 단점이 있습니다.&lt;span&gt;&amp;nbsp;&lt;/span&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;발전도, 방어도&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;발전도는 교역소 방어도는 총독부에서 투자를 하면 늘어납니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;발전도가 갑자기 많이 늘어나게 되면 일시적으로 호경기상태가 되며, 교역할 수 있는 양이 늘어나기도 하며,&amp;nbsp;발전도에 따라서 거래할 수 있는&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;방어도가 7000을 넘으면 최강의 대포인 케노네이드를 달 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;h3 data-ke-size=&quot;size23&quot;&gt;전투&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포격전은 대포가 배의 옆에 있기 때문에 적에게 항상 배의 옆을 향하게 하도록 유지하고 방향을 전환할 때는 신속히 틀어야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포격의 위력은 2~4번째 있는 함선들이 중요하기 때문에 2~4번째 함선들은 대포를 4칸으로 개조하는 것이 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;적이 약하면(적배의 급수가 낮고 선원이 적을 때) 백병전으로 싸워서 포획하도록 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기함을 나포하면 적상회 총자본금의 1% 정도 금액을 빼앗을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전투에서 지는 쪽은 그 해역의 도시들의 점유율이 2%씩 하락하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이겼다면 이때 점유율을 몽땅 빼앗으면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 모항에서는 적 세력의 보유 함대수만큼의 점유율은 아무리 투자를 해도 안 떨어집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;술집에서 술대접한 뒤, 적함 위치를 파악해서 이기면 2%씩 떨어지게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세력을 해산시키면 해적이 되거나 조용히 사라지게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해적들은 싸울 때 모든 배를 다 침몰시켜야 합니다. 그렇지 않으면 다시 출몰합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만일 적의 기함나포하거나 침몰시켰을 경우 주변을 잘 살펴보면 어딘가 남아있는데 찾아서 마저 격파합시다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;배의 개조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인실이나 오락실은 선원의 피로도를 낮춰주고 사육실이나 조리실은 식량 소비효율이 높아집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예배실은 광장에서 교역품을 살포하게 해 줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;갤리선이나 동아시아의 철갑선 등, 배 아래쪽에 노가 있는 배들은 바람의 힘으로 가는 범선이 아니라 사람 힘으로 가는 노선입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 필요 인원수가 많아지고 물자도 많이 소비하게 되므로 원양항해에는 맞지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 교역용 함선&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근해에서 교역을 할 경우 선원수는 최소한의 인원으로 충분하며 물자창고를 줄이고 화물 창고를 늘리면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회계사의 방은 반드시 준비해 두고 광장에서 교역품을 배포하기 위해서는 선교사도 필요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 원양 항해용 함선&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물자창고를 늘리고 조리실이나 사육실을 만들어두면 식량 소비가 감소하므로 물의 비율을 높여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항해일 수가 길어지게 되면 피로도가 올라가는데 개인실과 오락실, 부관실, 예배실이 있으면 선원들의 피로도가 좀처럼 오르지 않게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 항해사나 선원의 병을 치료하기 위한 진료실도 필요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항해 중에 폭풍을 만나거나 좌초하면 배가 손상을 입게 되는데 그런 경우에는 선박 수리공이 배를 수리할 수 있도록 재목실을 준비해두어야 하고 선박수리공이 있다면 조선소에서 배를 수리할 때에도 비용을 절감할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 전투용 함선&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전투형으로 배를 개조할 때 기함은 포격보다는 백병전이 많이 일어나는 장소이기 때문에 최소 2개 이상 유지해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전투가 빈번해진다면, 짐창고를 줄여서라도 해병 대기실을 4개로 만들면, 백병전할 때 유리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선원은 기함 중시로 하는 것이 좋겠죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여유가 있다면 해병 대기실에 모두 지휘관을 넣어두는 것이 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째 배부터 네 번째 배까지 3대의 배는 포격 전용으로 만드는 게 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;후반엔 케노네이드로 4칸 모두 채워두는 게 좋겠죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 배는 물자창고로 활용하는 것이 좋을 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포격 효율이 좋은 것도 아니고, 전투형으로 바꾸면 선원이 많아서 식량 및 물이 부족하게 되기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전방의 적을 공격할 수 있는 선수포, 후방의 적을 공격할 수 있는 선미포도 반드시 장착해두어야 할 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 적을 향해 충돌공격을 감행하여 한번에 역전을 노린다면 선수 돛 대신에 충각을 장착해 두면 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해병 대기실은 늘어난 방의 수 X 60명의 새로운 선원을 고용할 수 있으며 돌격대장을 복수 배치하면 백병전에 강해지고 하나의 배에 최대 4개까지 설치 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;무장 포대는 방의 수 X 20명의 새로운 선원이 필요하게 되고 탑재 대포의 수가 늘어나게 되지만 그만큼 대포를 구입하는 비용이 들어가게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포격수를 복수 배치하면 대포의 장전 시간이 짧아지고 짧은 시간에 많은 포탄을 발사할 수 있게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최대 4개까지 설치가 가능하지만 선실의 맨 밑층에는 설치할 수 없습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;소개장, 추천장&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소개장이나 추천장은 자기 점유율 100%인 도시에 유행품을 대량 팔았을 때, 교역소 주인이 써주는 물건입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 급하게 항로를 뚫어야 할 때, 유용하게 사용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 자본금이 모자를 때도 사용하는 방법이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간혹, 조합에서 받는 임무 중에 '소개장 취득'이란 것이 있으면 소개장이나 추천장을 건네주는 대신, 약 10만의 돈을 얻을 수 있습니다.&lt;span&gt;&amp;nbsp;&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;h3 data-ke-size=&quot;size23&quot;&gt;원거리 무역&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인도에서 값이 1500 정도인 1등급 후추가 리스본에서는 12000에 육박합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인도의 고아에서 배 5척에 1등급 후추 25 상자 실어서 리스본까지만 가면 25만 정도의 돈을 벌 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대신, 원거리 무역에서 중요한 건 물건의 등급입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;살 때는 얼마 차이 안 나는데 팔 때 엄청나게 차이가 납니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상업투자를 해서라도 원거리 교역품을 1등급으로 올려야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신대륙의 담배도 큰 이윤을 보장하는 원거리 교역품 1순위 아이템입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원거리 무역은 고가품 1등급으로 하는 것이 좋고 또 원거리 무역은 유행상품이 있다면 유행상품으로 하는 것도 좋습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;보물 찾기는 해역을 정리한 이후에 합니다.&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말 그대로, 숨겨진 보물을 찾는 것은 해역 안의 적대세력을 모조리 제거하고 해역의 항로를 모두 개척한 뒤에 원거리 항해용 배로 개조하거나 구입한 뒤 시작해도 늦지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;술집에서 술 돌리고 단서를 잡은 뒤, 장소를 알면 가서 막바로 찾고 모르면 선물을 준 아가씨에게 물어본 뒤 찾습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원양 행해용 선수상으로는 고래상 아기돼지상, 처녀의상, 성모의 상을 배에 장비시키는 것이 좋습니다. 왕의상이나 돌고래의 상도 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보급항의 위치&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;괌 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;145&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아누비크 : &lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;69&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;136&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;나르비크 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;69&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;처칠 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;58&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;93&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;놈 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;68&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;165&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;카리비브 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;22&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;14&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;딕손 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;73&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;80&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;카야오 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;78&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;레바큐 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;122&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;코드 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;41&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;70&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;리우데자네이루 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;22&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;43&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;코르프 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;165&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;몬테비데오 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;38&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;타히티 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;14&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;147&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;발파라이소 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;38&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;73&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;틱시 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;72&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;129&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;산타바르바라 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;34&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;120&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;퍼스 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;31&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;115&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아조레스 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;38&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;28&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;하와이 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;22&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;159&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;왕거누이 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;39&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;174&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;헤클라 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;63&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 서경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에조 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;42&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;141&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;페어 데이터&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HD버전이 아닌 PK버전이나 구버전인 경우 게임을 시작해서 중간에 실패해서 세이브했던 데이터를 로드하지 않으면 데이터에 (페어) 자가 붙습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전투에서 지면 지는 대로, 선택을 잘못하면 잘못하는 대로, 굴러가는 대로 플레이를 했을 경우입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;페어가 깨지는 건 게임 도중 세이브 데이터를 로딩하는 경우인데 세이브를 안 하고 게임을 중단하면 전에 로드했던 데이터를 다시 읽어와야 하므로 페어가 깨집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;페어로 엔딩을 보게 되면 보너스 CG나 사운드트랙을 들을 수 있는 등의 여러 가지 메뉴가 초기화면에 생기게 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;위압&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세력치1위인 상태에서 차이가 많이 나고 그 해역의 패자의 증표를 얻은 뒤 우호도 높은 세력(우도호 100정도)이 있을 때 설득력이 200 이상 부관이 있다면 조합에서 교섭 문서 발송으로 위압을 할 수 있는데 위압이 성공하면 그 해당 세력을 자신의 산하(지방 함대)로 귀속시킬 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;지방 함대&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;통솔력 150 이상인 동료가 있고 도크에 남는 배가 있을 때 조선소나 항구의 도크에서 지방 함대 결성을 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;빠른 레벨 업 팁&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 동아시아 온천 탐색 노가다, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 유적들의 행사일에 방문&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 식량 0인 상태로 항구 앞 항해하면 빨리 오릅니다.&amp;nbsp;&lt;/span&gt;&lt;span&gt;하지만 선원이 0이 되면 게임 오버 당하니 주의하시길 바랍니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;담당별 특징&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;무기, 방어구 외 캐릭터의 장비는 해당 담당에 배치되었을 때만 활성화됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;파수대&lt;/span&gt;&lt;/b&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;조범수&lt;/span&gt;&lt;/b&gt;&lt;span&gt;: 체력, 민첩, 매력 성장이 큽니다. &lt;/span&gt;&lt;span&gt;자동 이동시 속도가 증가합니다.&lt;/span&gt;&lt;span&gt;&amp;nbsp;3&lt;/span&gt;&lt;span&gt;명 다 채우면 반개 항해 시 자동 돛 조종됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;갑판요원&lt;/span&gt;&lt;/b&gt;&lt;span&gt;: 체력,민첩,매력 성장이 큽니다. &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;b&gt;&lt;span&gt;측량실&lt;/span&gt;&lt;/b&gt;&lt;span&gt;: 지력, 정신, 운 성장이 큽니다. 자동항해를 위해 필요합니다. &lt;/span&gt;&lt;span&gt;측량 &lt;/span&gt;&lt;span&gt;200 &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;b&gt;&lt;span&gt;조타수&lt;/span&gt;&lt;/b&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;b&gt;&lt;span&gt;해병대기실&lt;/span&gt;&lt;/b&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;&amp;nbsp;&lt;/span&gt;&lt;span&gt;전투가 아닐 때 레벨 업 느립니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;개인실&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;오락실&lt;/span&gt;&lt;/b&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;선박수리실&lt;/span&gt;&lt;/b&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;함장실&lt;/span&gt;&lt;/b&gt;&lt;span&gt;: 지력, 정신, 운의 성장이 높습니다. &lt;/span&gt;&lt;span&gt;주인공만 들어갈 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;부관실&lt;/span&gt;&lt;/b&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;&amp;nbsp;&lt;/span&gt;&lt;span&gt;설득력이 &lt;/span&gt;&lt;span&gt;200 &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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;회계실&lt;/span&gt;&lt;/b&gt;&lt;span&gt;: 지력, 정신, 운 성장이 큽니다. &lt;/span&gt;&lt;span&gt;교역품이나 아이템 구입 시 가격 할인 할 수 있습니다.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&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;b&gt;&lt;span&gt;진료실&lt;/span&gt;&lt;/b&gt;&lt;span&gt;: 비교적 고른 성장을 하지만 지력, 정신 성장이 높습니다. &lt;/span&gt;&lt;span&gt;관찰력 &lt;/span&gt;&lt;span&gt;150 &lt;/span&gt;&lt;span&gt;이상&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;선원의 피로도를 억제하고&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;레벨 업 잘 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;예배실&lt;/span&gt;&lt;/b&gt;&lt;span&gt;: 지력, 정신, 운 성장이 큽니다. 선원&amp;nbsp;&lt;/span&gt;&lt;span&gt;피로도를 억제합니다.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;광장에서 교역품을 풀면 유행창출 가능합니다.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;다른 해역에서만 파는 물품을 유행시키면 점유율을 빼앗아 올 수 있을뿐더러 비싼 물품이면 갑부대열 합류할 수 있습니다.&lt;/span&gt;&lt;span&gt;&amp;nbsp;설득력150 이상&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;참모실&lt;/span&gt;&lt;/b&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PzFqp/btqEWBukKhY/2ZMD5ijgIFhpnxyUEao0lk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PzFqp/btqEWBukKhY/2ZMD5ijgIFhpnxyUEao0lk/img.jpg&quot; data-alt=&quot;AACII&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PzFqp/btqEWBukKhY/2ZMD5ijgIFhpnxyUEao0lk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPzFqp%2FbtqEWBukKhY%2F2ZMD5ijgIFhpnxyUEao0lk%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;400&quot; height=&quot;300&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AACII&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>HD</category>
      <category>고전게임</category>
      <category>공략</category>
      <category>대항해시대4PK</category>
      <category>버그</category>
      <category>오류</category>
      <category>응답없음</category>
      <category>종료</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/85</guid>
      <comments>https://aacii.tistory.com/85#entry85comment</comments>
      <pubDate>Fri, 15 May 2026 15:09:48 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 릴 알고트 공략</title>
      <link>https://aacii.tistory.com/469</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북해&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;릴은 세계 제일의 부자가 되기 위해 드디어 통상허가증을 손에 넣고 무역을 시작합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;카밀, 페르난도, 에밀리오가 초기 동료입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한자콕 4대를 구입한 뒤 &lt;span style=&quot;background-color: #ffffff;&quot;&gt;카밀의 조언대로 암스테르담에서 가장 가까운 브뤼주와 암스테르담 사이를 왕복하면서 무역을 시작합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;함부르크에 기항하면 게르하르트가 동료가 됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;돈을 벌면 짐칸 5칸짜리 배를 구입하면서 돈을 벌다가 런던에 기항하면 클리퍼드의 초대를 받게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;클리퍼드는 이번에 취임한 스페인의 해군 총사령관인 페드로 발데스에 대해 이야기해 주고 자신과&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; 함께 스페인군에 대항하는 동맹을 맺을 것을 제의하고&amp;nbsp;&lt;/span&gt;우호의 표시로 암스테르담 술집으로 가면 홍색 안료를 준다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클리퍼드는 신대륙을 맡고 릴은 아프리카와 인도 동남아시아 쪽으로 향하기로 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;암스테르담 술집으로 가면 토지를 넓힐 연구를 하는 연구생을 만나는데 바다에 제방을 쌓아 토지를 넓힐 연구를 하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것을 폴더라고 부르는데 자금이 100만닢이 필요하지만 그만한 돈이 없어 폴더 연구를 진척시키지 못하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 클리퍼드가 주기로한 홍색안료를 손에 넣게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스톡홀름에서는 기항한 릴의 함대를 보고 해적이 아니길 바라는 호드람에게 군인을 싫어하는 릴이 독설을 내뱉고 카밀과 게르하르트가 호드람에게 사과합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;함부르크 항구에서는 슈파이어와 말싸움이 벌어지고 교전상태가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;슈파이어 함대와는 근접해서 백병으로 싸우는 것이 좋은데, 백병전을 위한 배를 구입 한 뒤 선원을 많이 채우고 싸우면 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;슈파이어를 해산시킨 뒤 암스테르담 조합에서 무지개빛 유리구슬과 환상 석주 유적지도를 구입합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;런던 술집의 마리에게 무지개빛 유리구슬을 선물하고 항구로 가면 런던 조합에서 찾는다는 전갈을 줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;런던 조합에서는 와인 200창고 즉 선창 2 창고분을 사 와 달라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;낭트에서 와인을 구입해서 런던 교역소로 가면 요즘 이상한 사람들이 와인을 구입해 간다면서 런던에 유적이 발생합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;환상 석주 유적지도를 가지고 런던 유적에서 고대거석 문명회라는 불온한 단체를 일망타진하고 낡은 양피지를 얻게 됩니다.&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;항구에 가면 탈레스의 종이 지도를 완성하게 되고 &lt;b&gt;북해 패자의 증거인 수렵신 울의 화살&lt;/b&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; text-align: start;&quot;&gt;패자의 증표를 얻었으면 북해의 아이템들을 파밍 합시다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/86&quot;&gt;https://aacii.tistory.com/86&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778984617767&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD - 구 케릭터(라파엘,릴,호드람,마리아) 아이템 정보&quot; data-og-description=&quot;무기* 북해1. 라오콘 소드 (34) : 함부르크의 유적에서 입수2. 백광의 플랑베르쥬 (33) : 북위 68。 동경 16。3. 속죄의 올크리스트 (40) : 북위 60。 동경 27。4. 소멸의 캇트바르겔 (47) : 북위 62。 동경 18&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/86&quot; data-og-url=&quot;https://blog.aacii.net/86&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dNTY9q/dJMb84X308S/d5TTy41Ks7EcgvefkKjys0/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/xN8kh/dJMb9cBNiB4/5jfBKCDA1SXVn4k7ixUPw1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/txJn6/dJMb8ZvGJBc/7mhm9xjxMsvoNlHZi9uN2k/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/86&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/86&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dNTY9q/dJMb84X308S/d5TTy41Ks7EcgvefkKjys0/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/xN8kh/dJMb9cBNiB4/5jfBKCDA1SXVn4k7ixUPw1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/txJn6/dJMb8ZvGJBc/7mhm9xjxMsvoNlHZi9uN2k/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD - 구 케릭터(라파엘,릴,호드람,마리아) 아이템 정보&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;무기* 북해1. 라오콘 소드 (34) : 함부르크의 유적에서 입수2. 백광의 플랑베르쥬 (33) : 북위 68。 동경 16。3. 속죄의 올크리스트 (40) : 북위 60。 동경 27。4. 소멸의 캇트바르겔 (47) : 북위 62。 동경 18&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;지중해&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리스본에 입항하면 제나스가 금화 1000닢을 요구하는데 승낙 시 등용하게 되면서 라티나급 배 한 척이 도크에 추가됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;낭트의 점유율이 5% 이상인 상태에서 리스본에 기항하여 항구로 가면 라파엘이 리스본 1%와 낭트 2%를 서로 맞바꾸자고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지중해로의 진출이 걸려있는 문제 이므로 승낙하는 것이 편합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 항구에서는 남지중해에서는 장사하지 말라는 충고도 듣게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하이레딘 이벤트를 보기 전에 제노바 술집에서 훌리오를 동료로 얻고 이스탄불 항구에서 안젤로를 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 알렉산드리아 항구에서 체자레 토니를 동료를 얻은 뒤 하이레딘 이벤트를 보는 것을 추천합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하이레딘 세력권 도시에서 다시 한번 남지중해에서 장사를 하지 말라는 충고를 듣게 되고, 이어서 해상에서 하이레딘 함대와 마주치면 싸울지 말지를 결정해야 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초반이라 도망친다를 선택하면 하이레딘이 자신과의 대결은 아프리카나 아시아에서 이름을 날리고 온 후에나 하라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 하이레딘은 상대하지 말고 지중해는 동료들만 얻은 후에 아프리카로 넘어갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 해역(아프리카)에 다녀오고 지중해나 북해에 돌아오면 훌리오가 손녀 크리스티나를 데려오자고 하는데 북해로 가서 런던에 기항하면 크리스티나를 고용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;아프리카&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;산죠르제의 항구에 가면 마누엘을 동료로 얻을 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;산죠르제에 계약을 하고 교역소로 가면 실비엘라가 시비를 걸어옵니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;릴이 &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;[알겠어.... 요]를&lt;/span&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;실베일라를 해산시킵니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;남아프리카 항구 광장에 가면 미하일을 동료로 얻을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;소팔라에 기항하면 여신의 유혹이라는 마약으로 고통스러워하는 사람을 볼 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;소팔라 술집에서는 돈이 없는 중독자에게 더 이상 약을 팔지 않는 에스피노사에게 &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;도전하게 되고 교전상태가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이 이벤트가 벌어진 다음 소팔라를 나가면 에스피노사가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;100%&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 점유하고 있는 소팔라에 의해 공격을 받게 되므로 미리 준비를 철저히 하고 나가야 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;소팔라 술집에 가면 이안을 동료로 얻을 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;에스피노사상회를 해산시키고 소팔라에 기항하면 수수께끼의 석판 하부를 얻게 됩니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;아프리카를 재패하면 통솔 150이 넘는 동료로 조선소에서 추가적인 배들을 구입한 뒤 지방 함대를 작성해서 운영합시다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;세력치가 1위가 되어 산죠르제 교역소에 가면 금이나 상아 같은 물품들은 단가가 비싸서 한정된 사람들만이 장사를 할 수 있다면서 보다 많은 사람들이 교역을 하려면 단가가 싼 특산품이 있어야 된다고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그러면서 신대륙에는 본 적이 없는 특산품이 나온다고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일단 친해진 여급하고 술집에서 아이템 정보를 모은 뒤 아프리카의 아이템들을 파밍 합시다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/86&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aacii.tistory.com/86&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778920954303&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD - 구 케릭터(라파엘,릴,호드람,마리아) 아이템 정보&quot; data-og-description=&quot;무기* 북해1. 라오콘 소드 (34) : 함부르크의 유적에서 입수2. 백광의 플랑베르쥬 (33) : 북위 68。 동경 16。3. 속죄의 올크리스트 (40) : 북위 60。 동경 27。4. 소멸의 캇트바르겔 (47) : 북위 62。 동경 18&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/86&quot; data-og-url=&quot;https://blog.aacii.net/86&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jiiJY/dJMb9lMgGdw/ximQLcD5uI0TjWJrVYCV10/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/cCNPPo/dJMb9gxqDIc/XCEuOwE0z0lgupkwaCm2A1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/QxAhp/dJMb9cBNe6g/MDljF7z26AkFHVtNE9lLWK/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/86&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/86&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jiiJY/dJMb9lMgGdw/ximQLcD5uI0TjWJrVYCV10/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/cCNPPo/dJMb9gxqDIc/XCEuOwE0z0lgupkwaCm2A1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/QxAhp/dJMb9cBNe6g/MDljF7z26AkFHVtNE9lLWK/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD - 구 케릭터(라파엘,릴,호드람,마리아) 아이템 정보&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;무기* 북해1. 라오콘 소드 (34) : 함부르크의 유적에서 입수2. 백광의 플랑베르쥬 (33) : 북위 68。 동경 16。3. 속죄의 올크리스트 (40) : 북위 60。 동경 27。4. 소멸의 캇트바르겔 (47) : 북위 62。 동경 18&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&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;h3 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;신대륙 - 아프리카&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;메리다에서 토마토를 거래 후 에밀리오 이벤트로 토마토 묘목을 받을 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;산토도밍고에서는 마찬가지로 바나나 거래 후 에밀리오 이벤트로 호박 씨앗을 받을 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;만약 베라크루스 조합에서 카카오 씨앗을 팔지 않는다면 세력치를 더 올려야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;신대륙 베라크루스 조합에서 카카오 씨앗을 사서 아프리카 산죠르제 교역소에 넘겨준 후 1 창고분 이상을 사면 교역소 주인이 고맙다면서 산죠르제의 유적을 알려줍니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;산죠르제 유적(진흙 모스크)에서 전갈은 도망가면 되고 수수께끼의 석판 상부를 얻게 됩니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;소팔라 여급과 친해지면 짐바브웨 신전 유적에 갈 수 있고 성모상을 가지고 가면 선수상을 얻을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아프리카 패자증표인 악숨왕의 금인&lt;/b&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;패자증표나 그 관련 아이템을 얻게 되면 나옵니다.&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;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;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;신대륙 - 지중해&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;신대륙에 기항한 뒤 술집에 방문하면 클리퍼드가 신대륙에는 3개 세력이 있다고 합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그중 에스칸테와 말도나도가 합쳐서 자신을 치려한다면서 릴에게 도움을 부탁합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;말도나도를 먼저 치자고 하고 말도나도의 세력권 도시의 술집에 가면 말도나도와 릴이 한판 말싸움을 벌입니다.&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;말도나도를 해산시키고 기항하면 이제 에스칸테를 쳐야 합니다.&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;에스칸테군의 함대를 만나면 에스칸테로부터 포격을 받으면서 교전 상태가 됩니다.&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;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;베라크루스 주점 여급과 친해진 뒤 갈 수 있는 유적에서는 돌아간다를 선택하면 되고 태양과 달의 피라미드를 발견합니다.&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;세력치가 1위가 되면 베라크루스 조합에서 신대륙산 토마토를 제노바에 유행시켜 달라고 합니다.&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;제노바에서 토마토만 유행시키면 됩니다.&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;토마토를 제노바 광장에서 배포하고 이것은 어디 어디 주변에서 팔아야겠다는 소리를 들어야 그 도시 주변에서 유행하게 됩니다.&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;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;제노바 조합에 보고하면 24만 닢이라는 수고비와 하바나조합에 가보라는 소리를 듣습니다.&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;/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;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이제&lt;b&gt; 신대륙 패자의 증거인 수정 해골&lt;/b&gt;을 찾으면 됩니다.&lt;/span&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;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;인도양&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인도양의 도시에 기항하여 항구로 가면 미하일이 패자의 증표에 관해 얘기를 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인도권의 도시(캘리컷)에 기항하면 고통받는 사람들은 고향뿐만이 아님을 알고 그 폴더를 만드는 사람이 궁금해져 암스테르담으로 돌아가자고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;캘리컷 광장에 가면 사무엘을 동료로 얻을 수 있습니다.&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;나갈플을 해산시키고 캘리컷 술집으로 가면 술집아저씨가 긍지를 알려준 릴에게 마르지 않는 연꽃잎을 줍니다.&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;캘리컷 유적에서는 불을 밝힌다를 선택하면 타지마할 묘를 발견하고 큰 독수리상을 얻을 수 있습니다.&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;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;북해 - 아프리카&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;암스테르담 술집에 돌아가 보면 아무도 알아주지 않아 낙담하는 연구생에게 릴은 자금을 자신이 내겠다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;막연히 부자가 되겠다던 릴이 인도의 사람들을 보고 세계의 모든 어려운 사람들을 행복하게 해 주겠다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연구생은 자금의 1/10만 모은 상태라 나머지 9할은 릴이 부담합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 자금이 90만 닢 이상이 있다면 이 자금을 주고 없다면 더 모아서 암스테르담으로 오면 자금을 건네주면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 폴더 연구를 위해 먼저 총독부를 건설하려 하나 정부는 원조하는 대신 금을 요구한다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역시 릴이 부담하기로하고 금을 3 창고분을 사가지고 암스테르담 옆의 레리스닷트로 옵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 그에게 금 3 창고분을 넘기게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이어 출항 후 다시 기항하면 총독부가 완성되고 다시 연구자금으로 40만 닢을 건네줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;레리스닷트에 투자를 하여 조선소가 나오면 조선소에서는 추가 장갑 연구를 위해 30만 닢을 건네고 다른 해역에 다녀오면 완성됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 조선소에서 개조를 하여 배에 추가 장갑을 달 수 있게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;지중해&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아프리카와 인도양에서 세력치가 1위가 되면 지중해로 돌아가 하이레딘에게 도전하자고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;세빌리아에서 점유율을 얻게 되면 발데스가 릴에게 시골 처녀라면서 위세를 부립니다.&lt;/span&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;발데스는 함대가 많아 어렵지만 해산시킵시다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&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;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;제노바 여급과 친해지면 유적을 갈수 있는데 콜로세움에서는 뱀을 만나면 도망치고 퀴즈의 정답은 59초가 정답입니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&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;하이레딘에게 선전포고하고 하이레딘의 함대를 만나면 그렇게 정중히 충고했지만 봐주지 않겠다고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;하이레딘 일족을 해산시키고 기항하면 하이레딘이 최강의 함대 외에도 여러 방면으로 관계하고 있다면서 카밀은 낡은 방법에 얽매여 있어서라면서 지금은 교역의 변천기여서 낡은 관습에 얽매이면 도태된다고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&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;amp; 스핑크스 유적을 갈 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;스핑크스는 역시나 수수께끼를 내는데 안다 &amp;gt; 인간 &amp;gt; 6명을 선택하면 잔월의 쇼텔을 얻을 수 있습니다.&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;파샤군을 해산 시키고 이스탄불에 기항하면 배덕의 반딧드 메일을 얻을 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&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;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;세력치가 1500을 넘어서면 이스탄불 조합에서 찾는다고 알려줍니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;이스탄불의 조합에서는 속국의 왕들을 초대하는 자리에서 수집품이 필요하다면서 천우의 리스트 밴드를 찾아와 달라고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;천우의 리스트 밴드는 북위 26 서경 82(하바나북쪽)에 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아이템 발견 후 이스탄불 조합으로 가면 이제 이스탄불에 카파도키아 유적에 갈수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&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;항구에 가면 쿠레오부로스 지도가 완성되고 &lt;b&gt;지중해 패자의 증표인 캄비세스의 관&lt;/b&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;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;동남아시아&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;동남아시아의 도시에 기항하면 게오르그 잘츠기커라는 자가 솔깃해질 말이 있다면서 바타비아에 와달라고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바타비아에 도착하면 일전의 그 남자가 릴의 일행을 술집으로 안내합니다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그리고는 자신을 쿤 상회의 총사령관인 안토니 쿤의 심부름꾼이라고 밝히며 릴에게 요즘 동남아시아에서 날뛰고 있는 악덕 상인인 페레일라를 없애 주지 않겠느냐고 부탁합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;50000&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 내놓으며 동맹을 맺자는 남자의 말에 릴이 고개를 갸웃거리고 있는 사이&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;카밀은 확실한 이유도 없이 그 계획에 대해 무작정 반대하다가 결국 남자의 의심을 받는 것을 견디지 못하고 그 자리를 뛰어나가 버립니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;놀란 릴이 뛰어나가 잡으려 하지만 남자는 릴을 붙잡아 그 계약서에 사인을 시킨 후&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;성립된 계약서를 들고 돌아가 버립니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;계약서에 사인한 릴은 서둘러 배로 돌아오지만 카밀은 기다려도 돌아오지 않아&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;릴은 카밀 없이 혼자서 움직이기로 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그 무렵&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;쿤의 아들인 카밀은 아버지의 계획에 속아 넘어간 릴을 걱정하&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;던 중&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;우연히 바타비아에 온 호드람을 만나 그의 배에 오르게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일단은 쿤과 맺은 계약에 따라 말라카를 근거지로 하는 페레일라 상회를 파산시키도록 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바타바야 볼로브둘 유적에 가면 물과 얼음 문제는 오른쪽으로 돌린다 -&amp;gt; 그렇다를 선택하면 되고 악마의 선수상을 얻을 수 있습니다.&amp;nbsp;&lt;/span&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;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;페레일라와 싸우다보면 게오르그 잘츠기커에게 동아시아에 있다는 악덕 상인인 마리아 리의 이야기를 듣게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이 이야기를 들은 후&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;동아시아 쪽으로 가장 가까운 항구인 마카오에 기항하면 수수께끼의 여인을 만날 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그 여자는 릴에게 교역권을 넓히는 이유에 대해서 물어오고&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;릴은 평소에 생각해 오던 대로 돈을 많이 벌어 세상의 모든 사람들을 행복하게 해 주기 위해서라고 대답합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그녀는 릴의 이야기에 황망해하며 웃고는 좀 더 자세한 이야기를 듣고 싶으면 항주의 술집으로 오라는 말을 남기고 사라집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;페르난도와 동료들의 의견에 따라&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;좀 더 자세한 이야기를 듣기 위해&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;릴은 항주로 갑니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;항주에 도착한 릴을 맞은 것은 자객이었고&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;큰 상처를 입지 않은 릴은 그 자객이 도망간 자리에서 이 씨 일족의 표적을 발견하게 됩니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일단 마카오에서 만난 여인의 이야기를 듣기 위해 술집으로 향한 릴의 일행은 한 군인을 따라 저택에 도착하게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그곳에서 그녀의 정체가 실은 이전에 이야기를 들었던 마리아 리라는 것을 알게 된 릴은 자객을 보내 자신을 죽이려고 했던 일에 대해 마리아 리에게 따지고 들지만&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오히려 마리아 리는 그것이 쿤의 일이라고 이야기합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;릴에게 마리아 리는 쿤의 본성에 관해 설명하지만 릴은 막무가내로 그녀의 이야기를 계속 부정해 버립니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;결국 마리아 리는 자신의 이야기를 믿게 하기 위해서 쿤에게 인연을 끊고 나간 아들이 있다는 말을 하며 그 아들을 만나고 싶다면 바타비아에 가 보라고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&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;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바타비아에 주점에 가면 쿤의 아들이 과거에 카밀이라는 애칭으로 불렸다는 것을 듣고는 바로 자신의 옆에 있었던 카밀 오펠아이셀이 그의 아들임을 깨닫습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그리고는 자신이 크게 잘못했음을 깨닫고 카밀이 돌아오기를 바라게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;한편&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;쿤 일당은 릴이 이 씨 일족과 접촉하여 비밀을 알아냈다는 것을 알아차리고는 마리아 리의 함대로 위장한 선단을 보내 릴을 죽일 계획을 실행하기 시작합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바타비아를 나와 아무 곳이나 향하면 릴의 함대는 마리아 리&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;로 위장한 쿤&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;의 함대를 만나 교전 직전까지 가게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그러나 때마침 나타난 카밀과 호드람 군대 그리고 마리아 리의 함대로 쿤의 계획은 무산되고&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;쿤은 황급히 그 자리를 뜨게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;믿지 못했음에도 자신의 옆으로 돌아와 준 카밀에게 릴은 미안하다고 사과합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;카밀은 그런 릴을 달래며 그동안 말하지 못하고 숨겨 왔던 자신의 과거&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;마리누스 쿤이라는 이름을 가진&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;쿤의 아들이라는&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 릴에게 솔직하게 고백하게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;모든 일을 알게 된 두 사람은 다시 좋은 사이로 돌아가고&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;카밀은 다시 릴의 배에 오릅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;릴에게서 희망을 발견한 마리아 리는 릴에게 동아시아 패자의 증거의 지도인 죽세공 조립도(케이론의 대나무지도)를 건네줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바타비야 여관과 술집에 들르면 잠을 동료로 얻을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이제부터는 쿤을 상대로 전투를 벌여 쿤 상회를 파산시키면 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&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;말라카의 루시아에게 인도양 광장에서 요염한 여자에게서 산 사쿤타라를 선물하고 술집에 다시 들어가면 루시아는 유적에 대해 모른다고 하나 웬 노인이 고대왕국의 사원을 찾을 생각이냐고 묻습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;릴은 그렇다고 하는데 왜 그러냐고 하자. 아니라고 하면서 자네라면 찾을 수 있을 것이라고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그러면 말라카에 유적을 가면 호랑이를 만나게 되는데 도망친다를 선택하면 앙코르 와트 유적을 발견합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;말라카 유적에서는 낯선 목소리가 자신을 신성처럼 깨끗하게 장식하라고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;인도양의 도시에 기항하며 항구로 가면 태양 같은 금, 달 같은 달, 별 같은.... 여기서 샤를르가 그것은 자신이 찾고 있던 백금이라는 것이라고 하고 아프리카 남부에서 난다고 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;1. 신대륙 산후안 광장에서 안젤로의 이벤트를 통해 일곱 빛깔 앵무새를 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;2. 하바나 여급에게 일곱 빛깔 앵무새를 줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. 이후 보급항인 코드항 (북위 41。 서경 70。) 에서 수도사가 저술한 연금술서를 받습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 이 연금술서를 소팔라 교역소에 주면 백금이 특산품이 됩니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. 백금을 1창고분 이상 사가지고 말라카 유적으로 가면 고대왕국의 화폐를 얻습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;6. 말라카 술집에서는 이것이 전설의 패자증표 지도라는 정보를 얻고 항구에서 유액이 든 항아리로 지도를 완성합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;동아시아 패자의 증표인 쿠딜리의 영원한 부적&lt;/b&gt;을 발견합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;인도양&lt;/h3&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;/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;바스라(바스리) 유적에서는 사막에서 휴식을 취하면 마스지트 이 셔를 발견한 후 오른쪽으로 돌린다를 선택하면 별빛 천구의를 얻게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;인도양 세력치가 1500 이상이고 바스라(바스리) 유적을 발견하면 인도양의 기항하는 도시의 술집에 가면 바스라(바스리) 조합에서 찾는다는 전갈을 줍니다.&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;table style=&quot;background-color: #ffffff; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; width=&quot;608&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width=&quot;145&quot;&gt;&lt;span&gt;인도양&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;131&quot;&gt;&lt;span&gt;동남아시아&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;163&quot;&gt;&lt;span&gt;지중해&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;141&quot;&gt;&lt;span&gt;신대륙&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;145&quot;&gt;&lt;span&gt;육두구(캘리컷)&lt;/span&gt;&lt;br /&gt;&lt;span&gt;후추(고아)&lt;/span&gt;&lt;br /&gt;&lt;span&gt;계피, 바닐라(세이론)&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;131&quot;&gt;&lt;span&gt;타마린드(아친)&lt;/span&gt;&lt;br /&gt;&lt;span&gt;정향(암보이나)&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;163&quot;&gt;&lt;span&gt;사프란(리스본,마르세이유)&lt;/span&gt;&lt;/td&gt;
&lt;td width=&quot;141&quot;&gt;&lt;span&gt;고추(메리다)&lt;/span&gt;&lt;br /&gt;&lt;span&gt;피멘트(베라크루스)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;9가지 향신료를 1창 고분씩 한 번에 사가지고 바스라(바스리) 조합으로 가면 쿠샨왕조의 큰 접시를 줍니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이후 바스라(바스리) 여관에 가면 인도양 패자의 증거 지도인 솔론의 나뭇잎지도를 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;br /&gt;이제 &lt;b&gt;인도양 패자의 증표 리그 베다&lt;/b&gt;를 발견 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&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;b&gt;&lt;span&gt;*아지자 누렌나할 동료 얻기 조건&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 알, 유키히사, 크리스티나가 메인함대 소속(지방함대 아님)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2.&amp;nbsp;피 묻은 샴시르를 갖고 있어야 함&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3.&amp;nbsp;돈 100만 닢 이상, 인도양 세력치 2000 이상&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 세빌리아에서 여해적 정보를 입수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 위 조건들을 만족하면 인도양에서 우선 누렌나할과 싸웁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 바스라(바스리) 술집에서 마주치는 이벤트를 봅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7.&amp;nbsp;바다에서 세 번 이기면 아지자를 구해주면서 동료로 얻게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;동아시아&lt;/h3&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;항주에 유적에서 이리를 만나면 도망친다를 선택하고 강에 빠진 아이를 구하면 휘종의 북송화를 얻을 수 있습니다.&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;br /&gt;오사카의 사쿠라에게 스톡홀름에서 구입한 가랑눈의 로브를 선물하고 다시 술집으로 들어가면 절에 참배하러 간다고 합니다.(황금사원 지도가 있어야 합니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오사카 유적에 가면 급류를 만나게 되는데 건너간다를 선택하면 금각사를 발견합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오사카 금각사 유적에서는 고승에게 잘못 보여 수행을 하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번에 걸쳐 물품을 구입해 와야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고승에게 쌀 1창고분을 가져다 주고, 그 다음 차와 설탕을 각 1창 고분씩 사 와야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;끝이 나면 고승은 북동쪽 마을에 대해 얘기해 줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보급항 코르프(북위 60, 동경165)에서 당대의 죽세공을 얻게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항구에서 케이론의 대나무 지도를 완성하고 이를 이용해&amp;nbsp;&lt;b&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;모든 패자의 증표를 찾고 기항하면 기다리고 있던 클리퍼드가 &quot;거기까지다&quot;며 배신을 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;카밀의 목숨을 담보로 그동안 모은 패자증표를 빼앗아 갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클리퍼드와는 교전상태가 되고 클리퍼드를 해산시킵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클리퍼드군을 해산시키고 기항한 후에 출항하면 클리퍼드의 기함 갤러핫호가 불타고 있고 클리퍼드는 릴의 도움을 거절합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 빼앗긴 모든 증표를 찾게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기항하면 모든 증표를 찾은 릴에게 암스테르담으로 돌아가자고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;암스테르담에 기항하면 릴과 카밀이 결혼하게 되는 엔딩을 보게 됩니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot;&gt;https://aacii.tistory.com/85&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778915589454&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD 게임 운영 팁&quot; data-og-description=&quot;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/85&quot; data-og-url=&quot;https://blog.aacii.net/85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD 게임 운영 팁&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; 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;기린아 5월 15일 오후 11_13_38.png&quot; data-origin-width=&quot;941&quot; data-origin-height=&quot;1672&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqCiH3/dJMcadaT2Qh/yKkEHPGOJIrfRK7eSrrFVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqCiH3/dJMcadaT2Qh/yKkEHPGOJIrfRK7eSrrFVK/img.png&quot; data-alt=&quot;Chat GPT 생성 이미지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqCiH3/dJMcadaT2Qh/yKkEHPGOJIrfRK7eSrrFVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqCiH3%2FdJMcadaT2Qh%2FyKkEHPGOJIrfRK7eSrrFVK%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;941&quot; height=&quot;1672&quot; data-filename=&quot;기린아 5월 15일 오후 11_13_38.png&quot; data-origin-width=&quot;941&quot; data-origin-height=&quot;1672&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Chat GPT 생성 이미지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>HD</category>
      <category>pk</category>
      <category>게임</category>
      <category>고전</category>
      <category>공략</category>
      <category>대항해시대4</category>
      <category>릴</category>
      <category>알고트</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/469</guid>
      <comments>https://aacii.tistory.com/469#entry469comment</comments>
      <pubDate>Thu, 14 May 2026 20:23:32 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 마리아 이 공략</title>
      <link>https://aacii.tistory.com/349</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;동아시아&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&gt;조선소가 있는 도시에 상업투자와 군사투자를 하다 보면 발전도가 9000이 넘으면 캐노네이드 대포를 구입할 수 있는데 캐노네이드 대포를 장착하면 포격전으로 구루시마도 이길 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&gt;항주 광장에서는 마리아에게 같이 놀자는 아이를 마리아를 두려워하는 부인이 데리고 서둘러 사라지는 이벤트를 봅니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;세력치가 2000을 넘어서면 항주 항구에서는 모처럼의 기술과 능력을 가지고도 밖으로 나가려 하지 않는 명 정부를 대신해 마리아가 대신 나가달라고 합니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&gt;한양 조합에서 &lt;span style=&quot;background-color: #ffffff;&quot;&gt;검은 유리그릇 구입하고 동남아시아로 내려갑니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;동남아시아&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;그러면 부상당한 선원 이벤트가 벌어지는데 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;항구에서는 드디어 선교사 일행이 오고 여기에 자코브 포르투나라는 자가 있는데 결국 그들이 가짜라는 것을 안 마리아는 총독부에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;오사카에 유적이 발생하는데 &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;일단 다른 해역으로 넘어가서 이벤트를 진행하도록 합니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff;&quot;&gt;동남아시아의 아무 광장에서 쿤의 부하가 쿤의 계획에 대해서 말하게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;릴이 있는 바타비아로 가면 릴은 쿤을 믿고 있다고 말합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;말라카 항구에 가면 호드람을 만나게 되고 교역소에서는 카를로를 동료로 얻을 수 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;다시 바타비아로 기항하면 릴이 공격받고 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;쿤이 마리아의 함대로 위장해서 릴을 공격하는데 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;마리아가 이에 맞서고 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;호드람의 군대까지 합류합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그러면 쿤이 도망가고 바타비아에 기항해서 릴이 사과합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그리고 마리아는 쿤에게 선전포고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;쿤을 파산시키면 말라카에서 한 노인이 괌까지 데려다 달라고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;초반에는 측량사의 능력이 200이 안 돼서 해역을 벗어난 지역은 좌표가???로 나오므로 나중으로 미루는 것을 추천합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;남은 패자의 증표 지도 중&amp;nbsp; 하나는 나중에 찾기로 하고 인도양으로 갑니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;인도양&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;캘리컷 광장에서 사무엘을 동료로 얻고&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;그리고 한양에서 산 검은 유리그릇을 캘리컷 술집 베나질에게 주면 유적을 가르쳐줍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아랍 쪽으로 가면 아무 항구에서 웃딘을 만날 수 있는데 동맹을&amp;nbsp;맺자고 제안하는데 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;해도 되고 안 해도 됩니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바스라 술집에서 알을 동료로 얻을 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;나갈플 파산시키면서 세&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;력치가 인도양의 1위가 되면 캘리컷 술집에서 베나질이 마르지 않는 연꽃잎을 줍니다.&amp;nbsp;&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;&quot;&gt;바스라 조선소에 가면 배와 대포에 능통한 사람(마누엘, 샤를르, 제나스, 체자레)을 데리고 오라 하는데 아직 그런 동료가 없으니까 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일단 아프리카로 내려갑니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;아프리카&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;에스피노사 상회의 계약 도시에 기항하면 지우베르토가 아프리카 인을 노예처럼 다루는 것을 보고 에스피노사에게 선전포고합니다.&amp;nbsp;&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;&quot;&gt;마다가스카르에 기항하면 우리도 이런 중계 무역항하나 만들자고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;에스피노사 상회를 해산시키고 기항하면 클리퍼드가 나타나서 에스피노사의 자리를 자기가 차지하겠다고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; 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;background-color: #ffffff;&quot;&gt;산죠르제 항구에서 마누엘을 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;산죠르제 조합에서는 밤에 도둑이 나타난다면서 갑옷과 투구를 선창 5개분만 사가지고 와달라고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;지중해&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;지중해의 첫 도시에 기항하면 라파엘을 만나는데 라파엘의&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;카스톨 상회와 동맹 상태가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&gt;발데스나 파샤, 하이레딘은 함대가 강력하므로 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;알렉산드리아에서 체자레를 동료로 얻을 수 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지중해 세력치가 1000 정도 이상 되면 이스탄불 조합에서 부릅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;..&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이스탄불 조합에 가기 전에 일단 이스탄불에서 세우타까지 항로를 만들어 놓습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;왜냐하면 이스탄불 조합에 가면 세우타까지&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일 안에 갔다 오라고 하기 때문입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그래서 이스탄불-세우타 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;항로를 연결시켜 놓고 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;큰 독수리상이 있으면 장착하고 함선도 이동용으로 개조한 뒤 갑판 선원들도 조범수, 조타수, 측량사를 배치해서 고속 자동이동이 가능하게 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span&gt;세우타-이스탄불을&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일 이내에 갔다 오면 이스탄불 유적에 대해 가르쳐 주고 유적에서 놋쇠로 만든 램프를 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;알렉산드리아 네리에게는 제노바 조합에서 구입한 스테인드 글라스를 선물하면 유적을 알려주고 세력치가 지중해 1위라면 알렉산드리아 유적에서 무늬가 그려진 천을 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;마리아의 경우 피라미드 수수께끼 정답은 안다 &amp;gt; 인간 &amp;gt; 2명입니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;북해&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;처음 기항하는 도시에서는 호드람이 마리아에게 진정한 목적이 무엇이냐며 다시 묻습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;함부르크에 기항하면 게르하르트를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 슈파이어 상회를 파산시키고 함부르크에 투자해서 발전도와 무장도를 9000 이상 만들어 최고의 배 쉽이나 전열함을 건조해 타고 다니도록 합시다. ㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;런던이나 코펜하겐에서 대포 2 창고분을 구입합시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오슬로에서 갑주를 5 창고분을 구입합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;북해 런던이나 지중해 리스본 등지에서 철포를 5 창고분을 구입합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단수이(거점 항구) 이벤트를 진행하기 위해 동아시아로 가는 길에 미루어두었던 아프리카, 인도양, 동남아시아 이벤트도 마저 진행하도록 합시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;아프리카&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;갑주, 철포 각 5 창고분 대포 2 창고분을 사가지고 산죠르제 조합으로 갑니다.&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;수수께끼의 석판 상부와 하부를 합치면 &lt;b&gt;아프리카 패자의 증&lt;/b&gt;표를 찾을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상투메 근처에서 라임 방울은 북위&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도 동경&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도에 있는데 그걸 일단 찾아야 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;신대륙&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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; text-align: start;&quot;&gt; 그러면 &quot;한 번 생각해 보죠&quot;를 택해 동맹을 맺는 것이 좋습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;하바나에 기항하면 샤를르를 동료로 얻을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;베라크루스의 술집에서 페르난도와 동전게임을 이기면 동료로 얻게 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;페르난도 동전게임&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오리지널 캐릭터의 경우는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;4n+1(4&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;의배수&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;+1)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 이용하면 되는데 룰을 둘 다 아는 경우 사실 먼저 시작하는 사람이 이기는 게임입니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;먼저 시작하는 사람이&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;4n+1&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개의 동전을 탁자에 유지하면 되면 먼저 시작하는 사람이 결국 승리하게 되지요&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;예를 들어 동전이&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개로 시작하는 경우&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(4*4)+2=18&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이므로 먼저 시작하는 사람이 한 개를 빼서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;17&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개 즉&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(4*4)+1=17&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개를 만들고 상대방이 몇 개를 빼는 가에 맞춰서 빼야 하는데 상대가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개를 빼면 나는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개를 빼고&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상대가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개를 빼면 나도&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상대가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개를 빼면 나는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개를 빼서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;의 배수 즉&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개를 맞춰서 빼다 보면 결국 남는 것은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개가 마지막에 남아 먼저 시작한 사람이 이기는 게임입니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/div&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&gt;카야오(&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;남위&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;도 서경&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;78&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;도)&lt;/span&gt;는 &lt;span style=&quot;background-color: #ffffff;&quot;&gt;페르남부쿠 남쪽으로 내려가서 신대륙 서쪽으로 거슬러 올라가면 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&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;background-color: #ffffff;&quot;&gt;패자의 증거 열쇠 나머지 하나는 하바나 조합에 가보면 유령선에 대한 얘기를 들을 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;유령선을 만나서 없애야 하는데 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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; text-align: start;&quot;&gt;신대륙에서 조합에서의 해적퇴치 요청 등을 하다가 수도사 얘기와 이에 관한 정보를 들어야 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&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; text-align: start;&quot;&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; text-align: start;&quot;&gt;하바나에 유적이 발생하고 유적에서 의식용 단도를 입수한 뒤 &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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지중해, 북해&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;샤를르가 메인함대 소속인 상태로 제노바 술집에 가면 훌리오를 동료로 얻을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;훌리오 등용 후 다른 해역에 다녀온 후 지중해 항구에 출항할 때 훌리오가 크리스티나를 데려오자는 말을 듣게 되면 북해 런던에서 크리스티나를 동료로 얻을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;인도양&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이전에 바스라 조선소에 가면 배와 대포에 능통한 사람을 데려 오라 했는데&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;제나스&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;마누엘&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;체자레&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;샤를르가 동료로 있으면 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;바스라(바스리) 유적에서는 도움을 청한다 &amp;gt; 오른쪽으로 돌린다 &amp;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;background-color: #ffffff;&quot;&gt;조합에 가면 쿠샨왕조의 큰 접시를 받고 &lt;b&gt;인도양 패자의 증표&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;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아지자 누렌나할 동료얻기 조건 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;알&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;유키히사&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;크리스티나가 메인함대 소속&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지방함대아님&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;피 묻은 샴시르를 갖고 있어야 함&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;3. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;돈 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;100만 닢 이상,&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; 인도양세력치 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2000 이상&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;4. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세빌리아에서 여해적 정보를 입수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;5. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;위 조건들을 만족하면 인도양에서 우선 누렌나할과 싸웁니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;6. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바스라술집에서 마주치는 이벤트를 봅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;7. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바다에서 세 번 이기면 아지자를 구해주면서 동료로 얻게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/div&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;동남아시아&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지금쯤이면 측량사의 측량이 200이 넘었을 것입니다.&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;background-color: #ffffff;&quot;&gt;괌(북위 15,&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;동경&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;145)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에 제주 노인을 데려다주면. 유액이 든 항아리를 얻을 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&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;background-color: #ffffff;&quot;&gt;&lt;span&gt;바타비야 유적 재입장 후 동굴에서 오른쪽의 돌 &amp;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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;일단 인도양에서 고용한 사무엘과 알이 동료로 있는 상태로&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&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;background-color: #ffffff;&quot;&gt;동남아시아 바다를 돌아다니다가 상어를 만나야 하는데 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상어를 무찌르면 상어 치어를 살리면 상어 치어를 얻게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상어 치어를 동아시아 천주 교역소에 갖다 주면 상어 지느러미가 특산품이 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상어 지느러미를 구입해서 말라카 조합에 갖다 주면 말라카 유적을 갈 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;말라카 유적에서 고대 왕국의 화폐를 얻습니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;이제 &lt;b&gt;동남아시아&lt;/b&gt; &lt;b&gt;패자의 증표&lt;/b&gt;를 찾을 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;동아시아 &amp;amp; 북해&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;항주에 가면 단수이 건설하는데 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;돈&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;50&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;만도 가지고 있어야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;단수이에 가면 리차드가 와인 5 창고 분만 갖다 달라고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;와인 5창고 분을 가져다주면 투자를 할 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;단수이 이벤트를 진행하고 릴의 함대를 만나면 클리퍼드에게서 배신당한 릴이 공격당하는 이벤트를 겪습니다.&amp;nbsp;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;그러면 &quot;도와 줘야 겠어요&quot;를 택합니다.&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;클리퍼드 군을 처리하고 기항하는 도시에서 리차드가 클리퍼드에게 붙었다는 소식을 접하고&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;항주의 50%, 천주, 마카오는 클리퍼드에게 빼앗깁니다.&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;동아시아에서는 클리퍼드의 제4함대 제독인 리처드가 활개를 치고 있을 것입니다.&amp;nbsp;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;클리퍼드에게 선전포고를 하고 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt; 동아시아에서 클리퍼드 세력을 없애고 빠른 시간 안에 북해로 돌아갑니다.&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&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;background-color: #ffffff;&quot;&gt;그러면 &lt;b&gt;북해 패자의 증표&lt;/b&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;&lt;span style=&quot;background-color: #ffffff; letter-spacing: 0px;&quot;&gt;오사카 술집에 가면 밀매상인에 대한 얘기가 나오고 마카오 술집에 가보라고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;마카오 술집에 갔다가 항구에 갔다가 총독부로 들어가면 선교사와 자코브가 가짜 밀매상인이라는 게 드러납니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그리고 오사카 술집에 가면 유적에 대해 가르쳐 주는데 금각사 유적에 들어가면 알래스카 가는 길 북동쪽의 코르프(북:60, 동:165)라는 보급항(마을)에 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;당대의 죽세공을 얻습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;동아시아 패자의 증표도 찾고 항주에 가면 엔딩입니다.&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 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;a href=&quot;https://aacii.tistory.com/85&quot;&gt;https://aacii.tistory.com/85&lt;/a&gt; &lt;/p&gt;
&lt;figure id=&quot;og_1778915607572&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD 게임 운영 팁&quot; data-og-description=&quot;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/85&quot; data-og-url=&quot;https://blog.aacii.net/85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD 게임 운영 팁&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;paiprev.jpg&quot; data-origin-width=&quot;150&quot; data-origin-height=&quot;113&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YlfOz/btsp8cOvtdI/ZqijK7daH39W0yteS4E47K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YlfOz/btsp8cOvtdI/ZqijK7daH39W0yteS4E47K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YlfOz/btsp8cOvtdI/ZqijK7daH39W0yteS4E47K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYlfOz%2Fbtsp8cOvtdI%2FZqijK7daH39W0yteS4E47K%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;150&quot; height=&quot;113&quot; data-filename=&quot;paiprev.jpg&quot; data-origin-width=&quot;150&quot; data-origin-height=&quot;113&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>HD</category>
      <category>KOEI</category>
      <category>pk</category>
      <category>게임</category>
      <category>고전</category>
      <category>공략</category>
      <category>대항해시대4</category>
      <category>마리아</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/349</guid>
      <comments>https://aacii.tistory.com/349#entry349comment</comments>
      <pubDate>Thu, 14 May 2026 14:53:45 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 아브라함 웃딘 공략</title>
      <link>https://aacii.tistory.com/83</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;인도양&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 바스라 항구에서 이안을 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 다음 항구에 기항하면 무어인의 천체 관측의를 보여 주며 패자의 증표에 대해 설명을 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 디우항에 가면 미하일이 쉘이라는 도둑 이야기를 해줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 캘리컷 술집에가면 베나질이 노래 힌트를 알려줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 마드라스 광장에서 노래하는 사람을 만납니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 마술리파트남에 가면 그 노래를 만든 사람이 해안으로 갔다는 이야기를 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 켈커타의 술집에 가면 시인과 이야기 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;8. 디우의 여관에서 무갈제국의 지도를 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;9. 캘리컷 유적 타지마할 묘에 가서 벽의 숫자를 보게 되고 쿠샨왕조의 접시도 얻습니다. 인도양 패자의 증표 지도가 완성되면 그 것으로 인도양 패자의 증표를 찾아 냅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;10. 다음 아무 항구에 가면 패자의 증표를 얻기 위해 인도가 아닌 타 대륙으로 가자는 이야기를 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;바스라 유적 12진수(10진수) 진수 변환 하는 문제:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;18(20), 25(29), 45(53), 71(85), 82(98)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;12진수를 10진수로 변환하는 법:&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;12진수의 10의 자리수에 12를 곱한 수에 해당 12진수의 일의 자리를 더합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span&gt;*아지자 누렌나할 동료얻기 조건&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 알, 유키히사, 크리스티나가 메인함대 소속(지방함대아님)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2.&amp;nbsp;피묻은 샴시르를 갖고 있어야 함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3.&amp;nbsp;돈 100만닢이상, 인도양세력치 2000이상&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 세빌리아에서 여해적 정보를 입수&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 위 조건들을 만족하면 인도양에서 우선 누렌나할과 싸웁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6.&amp;nbsp;바스라술집에서 마주치는 이벤트를&amp;nbsp;봅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;아프리카&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 아프리카 항구에 도착하면 소팔라에서 에스피노사가 기다린다고 연락합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 소팔라에가면 에스피노사의 불가침 협상을 거절 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 에스피노사와 전쟁이 일어나면 알 신과 이벤트(자금 10만 닢 이상)가 일어납니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 다음 항구에서 알신을 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 산조르제 조합에서 누가 기다린다는 이야기를 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 산조르제 조합에 가면 가면을 찾아달라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 산조르제 광장에서 시 대결을 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 백인이 훔쳐갔다는 이야기를 듣고 지중해의 세빌리아로 갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 지중해&amp;nbsp;세빌리아 교역소에 가면 암시장에 관해 모른다며 내쫓깁니다.&amp;nbsp;항구에서 암시장을 오렌지라고 부르는 것을 듣고 교역소에가면 가면을 찾을 수 있습니다. 술집에서는 친구를 찾는 페르난도를 동료로&amp;nbsp;얻습니다. 동전 게임에서 져도 상관 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 다시 인도양 산조르제에 가면을 가져다 주면 사하라 사막지도와 바방기다의 띠검을 얻을 수 있습니다. 유적에서 수수께끼의 석판 상부를 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 다른 항구에 기항하면 항구 사람이 유적을 뒤져보라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 소팔라 유적에 가면 수수께끼의 석판 하부를 얻고 두 개를 합친 뒤 패자의 증표 지도를 만들고 그 지도를 보고 아프리카 패자의 증표를 탐색해서 얻습니다.&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 가장 오른쪽에 있는 백-금 동전을 왼쪽으로 옮겨서 백-금-금-백-금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 다시 가장 오른쪽에 있는 백-금 동전을 왼쪽으로 옮겨서 백-금-백-금-금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 세 번째에 네 번째에 있는 백-금 동전을 다시 제일 왼쪽으로 옮겨서 백-금-백-금-금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 두 번째 세 번째에 있는 금-백 동전을 오른쪽으로 옮겨서 백---금-금-백-금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 최종적으로 제일 오른쪽 백-금을 왼쪽으로 옮기면 백-백-금-금-금이 되어 이길 수 있습니다.&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세가지 중에 어떤 것을 골라도 상관없습니다. 대답을 고르면 다시 두 번째 대답을 골라야 하는데 여기서부터는 신중히 결정합니다. 만약 첫 번째 질문을 &amp;lsquo;나는 아브라함. 한밤중의 가시나무&amp;rsquo;를 택했다면, &amp;lsquo;가시나무꽃을 통째로 움켜지는 것이 어리석은 자인가 신을 두려워하지 않는 자인가&amp;rsquo;를 골라야 하고, 두 번째 &amp;lsquo;나는 북의 태풍 아브라함&amp;rsquo;을 택했으면 &amp;lsquo;불어오는 태풍을 향해 무릎을 꿇을 것인가 뻣뻣이 설 것인가 현명한 자를 무릎을 꿇으리라&amp;rsquo;를, 마지막으로 &amp;lsquo;나는 아브라함 사막의 늑대다&amp;rsquo;를 택했으면 &amp;lsquo;늑대가 이빨을 드러내면 코끼리도 겁을 내는데 하물며 코뿔소는 어떠하리&amp;rsquo;를 골라야 합니다. 그리고 그 다음 질문은 세가지 모두 공통적으로 마지막 말인 &amp;lsquo;소는 날아가는 철새를 올려다본다. 내려다보는 것은 죽은 순간뿐이다&amp;rsquo;를 선택해야 합니다.&lt;span&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;&lt;b&gt;소팔라의 유적 강 건너기 게임:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;남자 세 명과 여자 세 명이 강을 건너야 하는데 이쪽 편이든 강 건너편이든 남자의 수가 여자의 수 보다 많으면 안됩니다. 힌트는 어느 쪽이든 여자가 없이 남자들만 있거나 여자들만 있어도 된다는 점 입니다. 먼저 남자 두 명이 강을 건너갔다가 한 명이 다시 돌아옵니다. 그 다음 다시 남자 두 명이 타고 건너갔다 남자 한 명이 돌아 옵니다. 그 다음 여자 두 명이 강을 건너서 남자 한 명 여자 한 명이 다시 건너 옵니다. 이제 여자 두 명이 강을 건너 갔다가 남자 한 명이 온 다음 마지막으로 남자들이 왔다 갔다 건너면 끝.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;지중해&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 알제의 술집에서 쉘이 유적에 갔다는 이야기를 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 알렉산드리아에 가면 체자레와 쉘을 동료로 얻고 수열 퀴즈를 풀어야 합니다. 항구를 떠나려고하면 하이레딘이 함께 싸우자를 이야기를 합니다. 그러면 지중해에서 파샤와 싸울 때 하이레딘이 합류합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 베이루스 유적에 가서 조상에 관한 구체적인 이야기를 듣습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 파샤를 이기면 파샤가 가지고 있던 램프를 얻을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 아테네에 가서 안젤로를 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 베네치아 교역소-&amp;gt;시라쿠사 교역소-&amp;gt;베네치아 항구에서&amp;nbsp;카를로를 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 리스본에 가서&amp;nbsp;어떤 여자(교타로 편에 나오는 세실리아의 어머니)를 만나고 제나스를 동료로 얻습니다.&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피보나치수열문제로 가로안의 수는 앞의 두 수를 더한 수이므로 쉽게 풀 수 있다. 답은 2,8,34&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;북해&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 낭트에서 잠을 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 런던에서 크리스티나(잠이 메인함대 소속)를 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 함부르크에서 게르하르트의 연설을 듣습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 코펜하겐 근처에서 게르하르트와 톨빈이 싸웁니다. 게르하르트를 도와 톨빈이 해산되면 항구에서 게르하르트를 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 리가의 광장에 가면 함부르크 조합에서 의뢰가 있다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 함부르크 조합에 가면 암스테르담 조합에 편지를 전해달라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 암스테르담에서 스톡홀룸으로, 스톡홀룸에서 런던으로, 런던에서 함부르크로 갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 함부르크에서 환성 석주 비밀 지도를 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 런던의 유적 스톤헨지에 가서 낡은 양피지를 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 세력치 2000 이 넘으면 스톡홀룸의 신부가 찾고 있다고 연락합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 비밀 정원을 보고 함부르크로 갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 함부르크에서 교회의 비밀을 풀고 안료를 얻고 북해 패자의 증표를 찾습니다.&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스톡홀롬의 정원과 배치가 똑같은데, 표시되어 있는 부분을 클릭하고 종료를 눌러야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;신대륙&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 포르투벨류에서 사무엘을 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 베라크루스에서 에밀리오(페르난도 메인함대 소속)를 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 세력치 90데에 메리다에서 상선을 공격하는 스페인 함선을 발견합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 포르투벨류에서 티알을 만나고 같이 에스칸테를 무찌르기로 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 베라크루스에 가면 술집에서 노인을 만납니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 포르투벨류 술집에 갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7.&amp;nbsp;산후안에가면 다시 베라크루스에 가라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 베라크루스의 장로는 자신의 힘으로 개척하라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 포르투베롤로 가면 장로가 지도를 줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 베라크루스 유적으로 가면 태양 무늬 칼집을 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 신대륙의 말도나도, 에스칸테 두 세력을 없애고 포르투벨리로 기항하면 티알을 만나서 축제를 감상하고 다음날 유적으로 가서 칼을 찾아냅니다. 칼집과 칼을 합쳐서 패자의 증표 지도를 만들고 신대륙 패자의 증표를 찾아 냅니다.&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포르트벨류에 들어가서 장로를 찾으면 먼저 산 속의 작은 집을 고르고 산후이 항구에서 장로를 찾아가면 평온과 조화를 골라야 합니다. 그 말을 가지고 다시 베루크루트로 돌아오면 마지막으로 자신의 신념을 표현하게 되는데 이때 동료를 골라야 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;마추피추 유적 문제:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거기도 돌들을 춤추는 스텝의 순서에 맞게 클릭해야 하는데 융단에 새겨진 연결된 순서대로 눌러야 합니다. 처음에 가운데, 아래, 왼쪽 아래, 가운데, 왼쪽 위, 오른쪽, 이런식으로 하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;동남아시아&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 부루나이에 가면 사이키 일족에 대한 소문을 듣습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 기아딘 교역소에서 샤를르를 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 말라카 술집에서 훌리오(크리스티나 메인 함대 소속)를 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 동남아에서의 세력치가 오르면&amp;nbsp;팔람방 근처에서 사이키와 오해를 풀면 금동화폐를 줍니다. 세력치가 1,000이 넘어가면 항구의 선원이 말라카에 가면 유적이 있다고 알려줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 말라카로 가서 술집에 가면 유적에 대한 것을 물어 봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 말라카 유적에서 유액이 든 항아리를 찾습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 말라카 술집에 가면 기아딘 유적인 아유타야에 가라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 기아딘 유적에서 퀴즈를 풀면 화폐지도를 만들고 이 지도를 이용해서 패자의 증표를 찾습니다.&amp;nbsp;&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말라카로 가서 바로 술집에 들어가면 유적에 대한 것을 물어보는데 신의 모습을 알아 맞추면 가르쳐 준다고 합니다. 세 가지 중에서 골라야 하는데 정답은 바로 &amp;lsquo;개구리&amp;rsquo; 입니다.&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;들어갈 때는 오른쪽-오른쪽-왼쪽-오른쪽 나오는 길을 들어간 길의 반대 즉 왼쪽-오른쪽-왼쪽-왼쪽 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;기아딘 유적 물의 잔 비율 문제:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10:7:3인 잔을 가지고 두 잔에 똑같이 5:5의 비율로 맞추어야 합니다. 먼저 큰잔의 물을 가장 작은 잔에 옮긴 다음 작은 잔의 물을 중간 잔에 옮기는 과정을 두 번 반복하면 4:6:0이 되는데 여기서 큰 잔의 물을 작은 잔에 따르면 1:6:3이 됩니다. 다시 작은 작의 물을 중간 잔에 부어서 1:7:2를 만들고 다시 중간잔에 물을 큰잔에 부어서 8:0:2를 만든 다음 작은 잔의 물을 중간잔에 부어 8:2:0을 만듭니다. 그리고 나서 큰잔의 물을 작은 잔에 부으면 5:2:3이 되니까 마지막으로 작은 작의 물을 중간 잔에 부으면 5:5로 만들 수 있습니다. 이것이 힘들면 쉘을 시켜도 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;동아시아&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 마카오에 가면 싸우고 있는 두 승려를 만나고 어느 쪽도 아니다를 선택하면&amp;nbsp;왕의 묘 지도를 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 항주 술집에가면 유리안이 미화에게 신라 금관을 가져다 준다고 약속합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 한양 광장에서 이화를 동료로 얻고 유적을 탐험합니다. 술집에 가면 유리안에게 신라 금관을 줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 항주에 가면 유리안을 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 오사카 술집에서 유키히사에 대한 소문을 듣고 보급항 에조(N: 42, E:141) 에서 유키히사를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 구루시마를 해산 시키면 한양에서 문 유 제독의 소개로 마리아와 시엔이 동료가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 세력치 3000 이상이 되면 천주에서 연락이 옵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;8. 천주 술집에서 할아버지가 열쇠를 주면서 자금성으로 가라고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;9. 항주로 가면 교타로와 린이 있습니다. 같이 유적으로 가서 문열기 퀴즈를 풀면 죽세공을 얻고 술집에가면 죽세공을 뜯어 지도를 얻게되고 이것으로 아시아 패자의 증표를 찾으면 됩니다.&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&gt;마카오 젊은 두 승려문제:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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;b&gt;&lt;span&gt;한양 유적 유령퇴치:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한양의 유적을 들어가면 왕의 묘에 접근하는 것을 방해하는 유령이 나타나는데 이 유령을 퇴치하기 위해서는 마카오에서 만난 고승이 가르켜 준 주문을 알아야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주문을 외우다 보면 틀린 글자가 나오는데 첫 번째 틀린 글자는 세가지 예시 중 첫 번째 戰을, 두 번째 틀린 글자는 세가지중 세 번째 人을, 세 번째 문제는 두 번째 行을, 마지막 없는 문자는 두 번째 한자(?)를 선택하면 유령이 없어지면서 죽세공 조립도를 손에 넣을 수 있습니다.&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 周(zhou)를 선택하면 되고, 두 번째는 唐(tang)을, 마지막 秦(qin)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;아프리카&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 산죠르제 술집에서 마누엘(이화가 메인함대 소속)을 동료로 얻습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;인도양&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 7개 패자의 증표를 모두 모으고 인도에 오면 서양 열강들이 인도를 노린다는 이야기를 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 페레일라에 선전포고를 하면 포르투칼의 페레일라와 실비엘라가 침입하는데 이들 세력을 없애면 엔딩을 볼 수 있습니다.&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;a href=&quot;https://aacii.tistory.com/85&quot;&gt;https://aacii.tistory.com/85&lt;/a&gt; &lt;/p&gt;
&lt;figure id=&quot;og_1778915627197&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD 게임 운영 팁&quot; data-og-description=&quot;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/85&quot; data-og-url=&quot;https://blog.aacii.net/85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD 게임 운영 팁&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0R5kq/btqEVZvFLlV/EbEXbRoS6B7qAw8HI2cYYk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0R5kq/btqEVZvFLlV/EbEXbRoS6B7qAw8HI2cYYk/img.jpg&quot; data-alt=&quot;AACII&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0R5kq/btqEVZvFLlV/EbEXbRoS6B7qAw8HI2cYYk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0R5kq%2FbtqEVZvFLlV%2FEbEXbRoS6B7qAw8HI2cYYk%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;400&quot; height=&quot;300&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AACII&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>고전게임</category>
      <category>공략</category>
      <category>대항해시대4PK</category>
      <category>아브라함웃딘</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/83</guid>
      <comments>https://aacii.tistory.com/83#entry83comment</comments>
      <pubDate>Thu, 14 May 2026 14:53:37 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 호드람 요아킴 베르그스트론 공략</title>
      <link>https://aacii.tistory.com/215</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;북해&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;호드람의 배인 브리간틴에 비해 슈파이어 상회의 배는 한자콕 한 대뿐이므로 선원만 어느 정도 고용되어 있다면 어렵지 않게 이길 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;슈파이어 상회의 배를 물리쳤다면 이제 다시 스톡홀름으로 돌아오도록 합시다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;동료들은 강력한 함대의 조직을 위해서는 세계적인 교역권을 갖는 것이 중요하다면서 호드람에게 건의합니다&lt;/span&gt;&lt;span&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;시작시 주어지는 자본금 &lt;/span&gt;&lt;span&gt;35000&lt;/span&gt;&lt;span&gt;으로 먼저 프류트 한 대 삽니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;호드람과 교타로는 백병전으로 물리치면 상대의 배를 나포할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;지중해&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;세빌리아에서 에밀리오를 동료로 삼습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; 제노바에서 홀리오를 동료로 삼습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이스탄불에서 안젤로를 동료로 삼슴니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;하이레딘 &lt;/span&gt;&lt;span&gt;1&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;만약 알렉산드리아에 아직 들어가 본 적이 없다면 이 하이레딘 이벤트를 보았을 지라도 하이레딘 세력권 도시와 계약이 가능함으로 지중해에 투자할 생각이 있다면 미리 해두는 것이 좋습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;h3 data-ke-size=&quot;size23&quot;&gt;북해&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;자금에 어느 정도 여유가 있다면 다른 해역으로 가도 상관은 없지만 일단은 북유럽에서 어느 정도의 부를 쌓아놓고 지중해로 향하는 것이 좋을 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;암스테르담으로 가서 릴을 만나면 그녀는 호드람에게 북해 패자의 증거가 있는 곳을 가르쳐주는 탈레스의 종이지도를 건네면서 북해의 패자 자리를 놓고 승부를 벌이자고 합니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;시라쿠사에 있는 유리스 휴이겐이라는 사람을 찾아달라고 합니다&lt;/span&gt;&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;시라쿠사 광장에서 그를 데려다 주면 런던 유적을 얘기해 주고 암스테르담에서 구입한 환상석주 유적지도가 있다면 유적에 들어갈 수 있습니다&lt;/span&gt;&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;세력치가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;위이고 양피지를 얻었다면&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;월이 되어 북해의 어느 도시건 기항하면 암스테르담에서 웬 여자가 기다린다고 합니다&lt;/span&gt;&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;암스테르담으로 가면 릴이 홍색안료를 주고 승부를 하자고 합니다&lt;/span&gt;&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;때에 따라서는 릴이 먼저 찾았다고 할 수도 있기 때문입니다&lt;/span&gt;&lt;span&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;만약 릴이 먼저 찾는다면 그녀가 원하는&lt;span&gt;&amp;nbsp;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;먼저 찾고서 암스테르담으로 가면 분하게 여기는 릴을 볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그녀는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&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&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;h3 data-ke-size=&quot;size23&quot;&gt;아프리카&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &lt;/span&gt;&lt;span&gt;공격을 선택하자 노예선을 물리치면 세라에게 호드람이 칼에 맞는 이벤트가 벌어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;또한 그 노예선이 에스피노사의 함대라는 것을 알고 게르하르트가 여기서 훈련 겸 자금 벌이로 신대륙으로 가자고 합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;이제 신대륙으로 향합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;가기 전에 크리스티나를 데리고 가는것이 좋습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &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&gt; &lt;/span&gt;&lt;span&gt;지나가는 이벤트로 라파엘 함대와 호드람 함대가 같은 도시에 동시에 기항하면 바이올린은 켜는 라파엘과 이를 물끄러미 쳐다보는 세라&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;신대륙&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;선택을 하게 되는데 어느 것을 선택하든 에스칸테와 협정을 맺게 됩니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &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&gt; &lt;/span&gt;&lt;span&gt;베라크루스 술집에서는 페르난도와 동전게임을 하게 되는데 거의 처음엔 페르난도가 선공입니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;페르난도가 선공일 때는 무조건 플레이어 패배이므로 머리 쓰지 말고 빨리 져주는게 좋습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;다시 술집에 들어가서 페르난도와 동전게임을 하면 플레이어가 선공일때가 있는데 &lt;/span&gt;&lt;span&gt;1, 5, 9, 13&lt;/span&gt;&lt;span&gt;&amp;hellip;&amp;hellip;&lt;/span&gt;&lt;span&gt;.(4n+1)&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&gt; &lt;/span&gt;&lt;span&gt;이제 빠른 시간 안에 말도나도를 해산시킵시다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;말도나도 &lt;/span&gt;&lt;span&gt;1&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&gt; &lt;/span&gt;&lt;span&gt;사실 초반이라 아무리 전열함급의 함선을 가지고 있더라도 좀 힘들 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &lt;/span&gt;&lt;span&gt;말도나도군을 해산 시키고 에스칸테&lt;/span&gt;&lt;span&gt;1&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&gt; &lt;/span&gt;&lt;span&gt;게르하르트가 에스피노사의 움직임이 있으므로 신대륙에서의 일을 빨리 마무리 짓자고 하므로 협정을 유지하는 쪽으로 선택을 합시다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;h3 data-ke-size=&quot;size23&quot;&gt;아프리카&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;일단 에스피노사와는 교전상태이므로 케이프타운에 도착하면 차례로 에스피노사의 세력을 없애면서 아프리카 동부를 모두 점령합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &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&gt; &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&gt;아프리카 남동부 도시의 광장에서 미하일을 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;한편&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;아프리카 세력치가 &lt;/span&gt;&lt;span&gt;1000 &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&gt;산죠르제 조합에서는 줄리안 페르멜을 토벌해 달라고 합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;줄리안을 토벌한 후 산죠르제 조합에 들르면 산죠르제에 유적이 생이고 유적에서 수수께끼의 석판 상부를 얻습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &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&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;h3 data-ke-size=&quot;size23&quot;&gt;인도양&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;인도양에서 웃딘 &lt;/span&gt;&lt;span&gt;1&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&gt;웃딘 상회를 해산시키는 것은 플레이어의 자유입니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &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&gt; &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&gt; &lt;/span&gt;&lt;span&gt;종합 세력치가 &lt;/span&gt;&lt;span&gt;1&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;국왕이 인도양의 이스칼 야살을 토벌해 달라고 합니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &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&gt;캘리컷에 기항하면 무례한 나갈풀과의 이벤트가 벌어집니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;동남아시아&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;동남아시아 도시에 기항하면 쿤과 페레일라의 싸움에 말려들지 말라는 충고를 듣습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &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&gt;북해에서만 나오는 바크를 운용하고 또한 계속적인 투자를 통해 플레이어가 빼앗은 도시도 다시 계약을 맺습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;세력치가 &lt;/span&gt;&lt;span&gt;2000&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&gt;괴어 같은 해상 이벤트는 무작위로 발생함으로 해상을 돌아다니다 보면 괴어를 만나게 됩니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &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&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;h3 data-ke-size=&quot;size23&quot;&gt;동아시아&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;항주에 기항하면 마리아가 쿤을 쓰러뜨린 것을 축하해주고 구루시마를 격퇴해 달라고 부탁합낟. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;한양에서 이화와 유리안 이벤트를 거쳐 그들을 동료로 맞이한 후에 나가사키로 갑시다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &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&gt; &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&gt;구루시마를 해산시키고 &lt;/span&gt;&lt;span&gt;항주에 기항하면 마리아가 죽세공 조립도라는 줍니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;마누엘 등이 메인함대에 있어야합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;황금사원 지도가 있어야 알려주고 유적이 생깁니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &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&gt; &lt;/span&gt;&lt;span&gt;기주근처에서 탐색하면 발견할 수 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이것을 가지고 금각사로 가면 고승이 북동쪽 마을에 대해 얘기해 줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;구캐릭터로 플레이 할 때 나오는 북동쪽 마을은 일본의 홋카이도에서 동북쪽으로 이어진 섬을 타고 가면 캄차카반도가 나오는데 그 반도의 동해안을 타고서 가다 보면 코르프&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;북&lt;/span&gt;&lt;span&gt;60 &lt;/span&gt;&lt;span&gt;동&lt;/span&gt;&lt;span&gt;165)&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&gt;여기서 당대의 죽세공을 얻게 됩니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&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;h3 data-ke-size=&quot;size23&quot;&gt;신대륙&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;동남아시아 도시에 기항하면 마리아가 오스만이 대공세에 나섰다고 알려줍니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;한편 세력치 &lt;/span&gt;&lt;span&gt;2000&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&gt;하바나 조합으로부터는 윌리엄이라는 해적을 잡아달라고 하나 자신은 숨어있고 부하를 내세운다고 합니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;그 부하 해적사설함대 &lt;/span&gt;&lt;span&gt;3&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&gt;격파한 후에 하바나 조합에 보고를 하면 촌민을 소개시켜주고 그 촌민은 유적 탐사를 의뢰합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&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;h3 data-ke-size=&quot;size23&quot;&gt;지중해&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;지중해권 도시에 기항하면 알렉산드리아에서 찾는다는 전갈을 받습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이제 알렉산드리아에 기항하면 파샤군에 포위되고 위험한 지경에 직면하지만 도시 무장포대를 탈취한 세라와 실우드의 도움을 받는데 곧바로 해전에 돌입하고&lt;/span&gt;&lt;span&gt;(2&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &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&gt;파샤군을 해산시키고 알렉산드리아 유적에 가면 무늬가 그려진 천을 얻습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;피라미드 수수께끼는 캐릭터 마다 정답이 다른데 호드람은 안다 &amp;gt; 인간 &amp;gt; 4명 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &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&gt;일단 도시를 발전시키기 위해 자위 수단이 필요하다면서 총포 &lt;/span&gt;&lt;span&gt;5&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&gt;이것을 사가지고 오면 총독부가 생기고 본격적으로 투자할 수 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;유적에서 길을 막고 있는 바위를 폭파하는 이벤트가 있습니&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &lt;/span&gt;&lt;span&gt;먼저 유황이 필요한데 유황은 이스탄불에서 바로 구입할 수 있습니다&lt;/span&gt;&lt;span&gt;(10&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&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;(5&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&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;(10&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&gt;폭약이 완성되고 막힌 길을 뚫은 후에 다시 유적으로 들어가면 놋쇠로 만든 램프를 얻게 됩니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; &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&gt; &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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;호드람 요아킴 베르그스트론 시나리오 플로우차트 &lt;/span&gt;&lt;/h3&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&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&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&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&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&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&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot;&gt;https://aacii.tistory.com/85&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778915650225&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD 게임 운영 팁&quot; data-og-description=&quot;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/85&quot; data-og-url=&quot;https://blog.aacii.net/85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD 게임 운영 팁&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>pk</category>
      <category>공략</category>
      <category>대항해시대4</category>
      <category>베르그스트론</category>
      <category>요아킴</category>
      <category>호드람</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/215</guid>
      <comments>https://aacii.tistory.com/215#entry215comment</comments>
      <pubDate>Thu, 14 May 2026 14:53:25 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 라파엘 카스톨 공략</title>
      <link>https://aacii.tistory.com/198</link>
      <description>&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&gt;라파엘 카스톨은 튜토리얼적인 캐릭터로 처음 플레이 하는 사용자들에게 적합하게 해설을 해줍니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;시작 레벨도 낮고 연합 함대를 상대할 일이 있기 때문입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;라파엘은 다른 캐릭터와 다르게 시작 능력치를 세 가지 선택할 수 있는데, 생명력, 검투술, 통솔력을 추천합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;왜냐하면 백병전때 결투 시 유리하기 때문입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;지중해&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;시작하자마자 라티냐급 &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;척을 구입하고&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;선원을 모으고 교역품을 삽니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; 훌리오에게 리스본 항구의 조합에서 파는 육분의를 장착해 주고 측량사로 임명해 주면 자동항해가 가능하니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;마데이라와 라스팔마스를 돌아다니면서 무역을 하면서 돈을 모읍니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;아테네에가면 패자의 증표를 얻는 것을 목표로 하자고 정합니다&lt;/span&gt;&lt;span&gt;.&amp;nbsp;&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&gt;이스탄불 항구에 가면 안젤로 푸치니가 동료가 됩니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;북해&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;크리스티나가 주인공 함대 소속인 상태로 지중해 세빌리아에 가면 에밀리오 페로그를 추가로 동료로 얻을 수 있습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;암스테르담 항구를 나서면 해적 벨스와 이벤트가 생깁니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;오슬로에서 라파엘의 바이올린 연주하는 장면을 볼 수 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;세력치를 늘리다 보면 릴이 자기가 졌다며 홍색 안료를 줍니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;런던 조합에서 부른다는 메시지를 본 후 런던 조합에 들르고 런던 유적으로 갑니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;술집 여급에게 무지개빛 유리구슬 구입해서 주고 친해진 후 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;스톤헨지를 발견한 후&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;술집 여급과 친해졌다면 유적에 관한 정보를 얻을 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;런던 조합에 들르면 유적문제를 해결해 줘서 고맙다며 점유율을 1%1% 얻을 수 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;함부르크 발전도와 무장도를 &lt;/span&gt;&lt;span&gt;8000 &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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;아프리카&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;산죠르제에 가면 본국(리스본)에서 부르게 되고 제나스가 주인공 함대 소속인 경우 마누엘 아르메이다를 동료로 얻습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;letter-spacing: 0px;&quot;&gt;돈이 어느 정도 모이면 배를 전투형&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;대포&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;해병대기실&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;으로 개조 시킨 뒤 에스피노사를 공격해서 파산시키고 소팔라에 가면 실비엘라가 배신하게 됩니다&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;산죠르제 조합 찾아서 가보면 배신자를 잡아달라고 부탁하는데 지중해에서 잡아오면 술집에서 고려청자에 관한 힌트를 줍니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그러면 사설해적이 생기는데 이기면 고려청자 향로를 얻을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;산죠르제 유적에서 전갈을 만나면 쫓아버리면 되고 나머지 석판하부를 얻을 수 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;다음은 인도양을 가자고 하지만 북해먼저 클리어해서 전열함이나 쉽을 타고 다닙시다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;)을&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;인도양&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;(지명 대로라는 바스라가 맞지만 바스리로 표기되는 것은 번역 오류로 보입니다.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;바스라 조합에 들어가면 웃딘과 협정을 맺으면 소코트라와 무스카트 점유율을 &lt;/span&gt;&lt;span&gt;1% &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&gt;디우 술집에서 알이 붉은 샴쉬르에 대해 언급하는데 아지자 누렌나할을 동료로 얻으려면 필요합니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;나갈플을 파산시키면 웃딘으로부터 마르지 않는 연꽃잎을 얻고 캘리컷 조합에서 도자기 귀걸이를 사다가 바스라 술집 아가씨에게 주면 바스라 유적에 대해 가르쳐줍니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;바스라유적에서는&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;왼쪽 &amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;유적발견 &amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&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&gt;다른 항구 술집에 가면 바스라 술집에서 부른다고 합니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;아프리카 모가디슈 교역소에서 유향을 &lt;/span&gt;&lt;span&gt;1&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&gt;이제부터는 전투가 조금씩 어려워지기 시작하니 이쯤 해서 본격적으로 재패한 해역에 있는 아이템(무기, 방어구)들을 모으시기 바랍니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/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&gt;*아지자 누렌나할 동료얻기 조건&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 알, 유키히사, 크리스티나가 메인함대 소속(지방함대 아님)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2.&amp;nbsp;피 묻은 샴시르를 갖고 있어야 함&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3.&amp;nbsp;돈 100만 닢 이상, 인도양 세력치 2000 이상&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 세빌리아에서 여해적 정보를 입수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 위 조건들을 만족하면 인도양에서 우선 누렌나할과 싸웁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6.&amp;nbsp;바스라술집에서 마주치는 이벤트를&amp;nbsp;봅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7.&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;동남아시아&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;동남아시아에 도착하면 포르투갈이 스페인에게 합병되었다고 소식을 듣습니다.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&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&gt;말라카 교역소에서 카를로를 동료로 얻을 수 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;말라카에서 페레일라가 동아시아에서 더 힘을 기르고 오라고 했기 때문에 동아시아로 갑니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;동아시아&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;항주 주점으로 가면 유리안이 신라금관을 구해온다는 이야기를 하기 때문에 조합에서 지도를 구입합니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;에서 돌아간다&amp;gt; 신라 금관을 발견하고 광장에서 이화를 동료로 얻습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;구루시마는 철갑선을 사용하고 두 함대가 동시에 덤비기 때문에 매우 강력하므로 주의해야 합니다..&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;캐노네이드의 긴 사정거리를 이용해 아웃복싱으로 상대합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;오사카에 가면 유키히사를 동료로 구할 수 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;지도 구해서 유적에 가면 북동쪽 마을에 패자의 증거 유품이 있다고 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;코르프(북위60, 동경165)라는 보급항인데 너무 멀어서 에조(북위42, 동경141) 보급항을 발견해서 에조에서 보급한 뒤 코르프까지 가야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;코르프까지 가면 패자의 증표를 얻을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;항주유적에서는 &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&gt;오사카유적에서는&lt;/span&gt;&lt;span&gt;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;동남아시아&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;마리아에게 동아시아 패자의 증표의 열쇠를 가진 채 동남아시아에 다시 오면 쿤이 유액이 든 항아리를 주며 &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;번 선택지 포르투갈을 위해 &lt;/span&gt;&lt;span&gt;2&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&gt;동남아시아에서 쿤과 페레일라의 전투에 참여하게 됩니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;말라카 조합에 가면 페리롱소 아기레라는 놈을 잡아오라 합니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;말라카유적에서&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;호랑이를 만나면 도망간다를 선택하면 &lt;/span&gt;&lt;span&gt;노인에게 인도양의 패자의 증거인 리그베다를 보여 주고 고대왕국의 화폐를 받습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;바타비아유적에서&lt;/span&gt;&lt;span&gt;&amp;nbsp;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;신대륙&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;주점에서 말도나도를 쓰러뜨린다고 합니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;b&gt;&lt;span&gt;*&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;span&gt;오리지널 캐릭터의 경우는 4n+1(4의배수+1)을 이용하면 되는데 룰을 둘 다 아는 경우 사실 먼저 시작하는 사람이 이기는 게임입니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;먼저 시작하는 사람이 &lt;/span&gt;&lt;span&gt;4n+1&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&gt; &lt;/span&gt;&lt;span&gt;예를 들어 동전이 &lt;/span&gt;&lt;span&gt;18&lt;/span&gt;&lt;span&gt;개로 시작하는 경우 &lt;/span&gt;&lt;span&gt;(4*4)+2=18&lt;/span&gt;&lt;span&gt;이므로 먼저 시작하는 사람이 한 개를 빼서 &lt;/span&gt;&lt;span&gt;17&lt;/span&gt;&lt;span&gt;개 즉 &lt;/span&gt;&lt;span&gt;(4*4)+1=17 &lt;/span&gt;&lt;span&gt;개를 만들고 상대방이 몇 개를 빼는 가에 맞춰서 빼야 하는데 상대가 &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;개를 빼면 나는 &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;개를 빼고&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;상대가 &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;개를 빼면 나도 &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;개&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;상대가 &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;개를 빼면 나는 &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;개를 빼서 &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;의 배수 즉 &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;개를 맞춰서 빼다 보면 결국 남는 것은 &lt;/span&gt;&lt;span&gt;1&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt; &lt;/span&gt;&lt;span&gt;말도나도나 에스칸테 아무나 파산시키고 세력치 1위가1 되면 태양무늬 칼집을 얻을 수 있습니다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;하바나에서 어떤 촌민이 나타나 도라롯크의 나이프(북22 서97)를 가지고 광장에 오라고 합니다&lt;/span&gt;&lt;span&gt;. &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&gt;하바나 위에 도시가 하나 있는데 라파엘에만 있는 이벤트로 바로 라파엘의 여자 친구 샤를롯트가 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;목재를 1 창고분 사다가 줍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt; 다른 항구 교역소에서 클라우디오가 펜서콜라에 적합한 특산품으로 옥수수가 어떠냐고 말합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&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;span&gt;다른 길로 간다를 선택하면&lt;/span&gt;&lt;span&gt;&amp;nbsp;&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;지중해&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;세빌리아의 발데스와 첫 전투는 알브켈케도 같이 덤비기 때문에 자신 있으면 덤벼보는 것도 좋지만 도망갔다가 하나씩 각개격파 하는 것을 추천합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;각개격파 하더라도 4함대나 되기 때문에 난이도가 높습니다만 지금까지 재패한 해역에 지방함대나 위압으로 산하 함대를 많이 두었다면 엄청난 자금력으로 지중해 재패는 어려운 일이 아닐 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;지중해에 세력 1위가 되면 무늬가 그려진 천을 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;발데스를 무너뜨리면 파샤 세력도 같이 정리하는 것이 좋겠죠.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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&gt;제노바 콜로세움 유적&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;뱀 만나면 도망가고 콩주머니 문제 정답은 &lt;/span&gt;&lt;span&gt;59&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&gt;알렉산드리아 유적에서는&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;질문에 안다 &amp;gt;&amp;gt; 인간 순으로 대답하면 잔월의 쇼텔을 얻을 수 있습니다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;이스탄불유적에서는&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;강을 거슬러 올라간다를 선택하면&lt;/span&gt;&lt;span&gt;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;신대륙&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;펜서콜라에 투자하다 보면 이런저런 시설들이 생기면서 축제 때 샤를롯트와 이벤트를 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 해역의 패자의 증표를 모아서 리스본 왕궁에 가면 앤딩입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;a href=&quot;https://aacii.tistory.com/85&quot;&gt;https://aacii.tistory.com/85&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778915668458&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD 게임 운영 팁&quot; data-og-description=&quot;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/85&quot; data-og-url=&quot;https://blog.aacii.net/85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD 게임 운영 팁&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>pk</category>
      <category>공략</category>
      <category>대항해시대4</category>
      <category>라파엘</category>
      <category>스토리</category>
      <category>카스톨</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/198</guid>
      <comments>https://aacii.tistory.com/198#entry198comment</comments>
      <pubDate>Thu, 14 May 2026 14:53:15 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 티알 와만 챠스카 공략</title>
      <link>https://aacii.tistory.com/84</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;신대륙&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 자메이카에서 페르난도를 얻고(동전게임에서 승리) 베라크루즈에서 에밀리오(페르난도 메인함대 소속)를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 산토도밍고항에서 말도라도 이벤트를 봅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 포르투벨류,트루히요 등지(맥시코지방)에서 료케 시사 이벤트 본 후, 세력치 700이상 되면 동료로 합류합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 세력치 800 이상이면 테오베르드 멜카드에게 태양무늬 칼집을 얻어 패자의 증표를 모으기로 합니다. 바다로 나가면 쿤비제의 판초를 얻고 아프리카로 향하기로 합니다.&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;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 가장 오른쪽에 있는 백-금 동전을 왼쪽으로 옮겨서 백-금-금-백-금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 다시 가장 오른쪽에 있는 백-금 동전을 왼쪽으로 옮겨서 백-금-백-금-금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 세 번째에 네 번째에 있는 백-금 동전을 다시 제일 왼쪽으로 옮겨서 백-금-백-금-금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 두 번째 세 번째에 있는 금-백 동전을 오른쪽으로 옮겨서 백---금-금-백-금&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 최종적으로 제일 오른쪽 백-금을 왼쪽으로 옮기면 백-백-금-금-금이 되어 이길 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;아프리카&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 산죠르제에서 마누엘 아르메이다를 동료로 얻고 실베일라를 만나 경고를 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 케이프타운(동아프리권 항구)에서 미하엘 리첼을 만나 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 동아프리카에서 노예상인 에스피노사를 만난 후 전투를 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 근처 항구에 기항하면 이벤트가 생기면서 알 페라 신(자금 10만 닢 이상)을 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 세력 1위가 되면 케이프타운 술집으로 가서 수수께끼의 석판 상부를 5만닢을 주고 삽니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 소팔라의 짐바브웨 유적에서 배건너기 퀴즈가 나오는데 남자들부터 옮기면 됩니다. 그리곤 수수께끼 석판 하부를 얻을 수 있으며 지도를 가지고 아프리카 패자의 증표를 찾습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 에스피노사를 해산 시킨 뒤 산죠르제 조합에 가면&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;b&gt;소팔라의 유적 강 건너기 게임:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;남자 세 명과 여자 세 명이 강을 건너야 하는데 이쪽 편이든 강 건너편이든 남자의 수가 여자의 수 보다 많으면 안됩니다. 힌트는 어느 쪽이든 여자가 없이 남자들만 있거나 여자들만 있어도 된다는 점 입니다. 먼저 남자 두 명이 강을 건너갔다가 한 명이 다시 돌아옵니다. 그 다음 다시 남자 두 명이 타고 건너갔다 남자 한 명이 돌아 옵니다. 그 다음 여자 두 명이 강을 건너서 남자 한 명 여자 한 명이 다시 건너 옵니다. 이제 여자 두 명이 강을 건너 갔다가 남자 한 명이 온 다음 마지막으로 남자들이 왔다 갔다 건너면 끝.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;인도양&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 소코트라에 기항하면 웃딘이 바스라에서 만나자고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 바스라에가면 웃딘과 협정을 맺으면서 무어인의 천문관측의를 받고 이안 두코프를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 나갈플을 해산시키고 세력치가 1위가 되면 에스칸테로부터 말도나도를 치라는 독촉이 오고 타지마할묘로 가보라는 말을 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 무갈국제국의 지도를 가지고 캘리컷으로 가면 타지마할 묘를 볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 타지마할 묘의 글을 숫자로 바꾸면 06,14,34,50,61 입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 바스라 유적으로 가면 촛대의 숫자가 써있는 것을 보는데 켜지지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 캘리컷 유적으로 가면 튀어나온 돌이 있습다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;8. 바스라 유적에서 12진수를 10진수로 바꾸고(20,29,53,85,98) 마르지 않는 연꽃을 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;9. 캘리컷으로 돌아가면 나갈플의 저택에서 쿠샨왕조의 접시가 나옵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;10. 솔론의 나뭇잎 지도를 이용해 인도양 패자의 증표를 찾고 바스라에 가면 웃딘과 헤어집니다.&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&gt;*아지자 누렌나할 동료얻기 조건&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 알, 유키히사, 크리스티나가 메인함대 소속(지방함대아님)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 피묻은 샴시르를 갖고 있어야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 돈 100만닢이상, 인도양세력치 2000이상&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 세빌리아에서 여해적 정보를 입수&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 위 조건들을 만족하면 인도양에서 우선 누렌나할과 싸웁니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 바스라술집에서 마주치는 이벤트를 봅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 바다에서 세 번 이기면 아지자를 구해주면서 동료로 얻게 됩니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;신대륙&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 말도나군에게 선전포고를 하고 벨스와 싸우는 이벤트를 봅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 말도나도를 파산시키면 신대륙의 점유율을 모두 뺏기지만 에스칸테로부터 독립하게 되고 후안이 신대륙을 떠나라고 합니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;동남아시아&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 아친에 도착하면 동남아시아 상황에 대해 들을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 말라카 주점에서 훌리오 에르네코(크리스티나가 메인함대 소속)를 동료로 얻고 또, 쿤에 대해 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 팔렘방 총독에게가면 티알이 불량 상인 이라는 이야기를 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 바타비아에 가면 쿤의 계략이라는 것을 알게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 쿤과 전쟁을 선포하고 1함대를 이기면 유액이 든 항아리를 얻고 점유율을 올릴 수 있게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 쿤을 해산시키면 마닐라에서 쿄타로를 만나야하는데 2년 안에 금동 천화폐를 받지 못하면 쿄타로 사이키가 선전포고를 해오고 쿄타로를 이기면 금동의 천화폐를 줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 기아딘 교역소에서 샤를르 장 로슈폴이 동료가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;8. 세력치가 1위가 되면 동남아시아 모든 유적을 발견한 후 기아딘 유적으로 갑니다. 석상이 힌두교 동물모양과 비슷하다는 것을 알게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 말라카의 앙코르와트로 갑니다. 말라카 유적 노래의 공통점을 찾아내서 순서가 같다는 것을 알게됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;8. 기아딘 유적으로 갑니다. 아유타야에서 고대 왕국의 화폐를 찾으면 비아스의 화폐지도가 완성되고 패자의 증표를 찾습니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;동아시아&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 항저우 술집에서 유리안 로페스를 만나 신라의 금관에 대해 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 한양의 광장에서 이화 설를 등용합니다. 자금성 지도를 구입합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 오사카 유적에서 정창원의 물병을 얻고 조합에서 왕의 묘지도를 구입한 뒤 술집에서 검객에 관한 이야기를 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 보급항 에조 N42,E141에서 유키히사 시라키 등용합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 한양 유적에서 신라금관을 유리안에게 주고 항저우 술집에가면 유리안을 등용할 수 있습니다. 유리안을 등용하면 항주 항구에서 이씨일족에 관한 이야기를 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 동남아시아의 말라카에가면 마리아 이와 시엔 얀이 동료가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 구루시마를 해산시키고 세력1위가 되면 한양 술집에 가면 부산개항 이야기를 하고 돈 20만닢을 가지고 왕궁으로 가면 부산이 개항됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;8. 부산에 가면 죽세공 설계도를 주고 다음 항구에 가면 세이론의 대나무 지도를 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;9. 천주 술집에 가면 정체불명의 노인을 만나고 다시 항주 유적으로 가서 중국 시를 이용한 퀴즈가 나오는 데 답은 zhou,tang,qin이고 맞추면 당대의 죽세공을 얻게되며 케이론의 대나무 지도를 이용해서 패자의 증표를 찾습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;10. 며칠이 지나면 마리아가 새 도시를 만들어 본다면서 잠시 떠나면서 돈 30만을 마리아에게 줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;11. 다른 해역에 가면 도시가 완성되었다는 메시지가 나오고 단수이가 생깁니다. 술집이 나올 때까지 계속 투자해서 다시 마리아가 합류하면서 신대륙에도 새 도시를 만들겠다고 다짐합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;12. 오사카 유적에가면 고승이 에도막부를 세운다고 돈 30만을 가져가면 에도가 생기고 신대륙으로 갑니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;신대륙&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 신대륙에 도착하면 후안과 에스칸테의 이야기를 듣고 술집에가면 카라카스라는 말라카이보와 카엔 사이의 신도시 장소를 알려줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 카옌근처에 가면 후안이 공격하며 에스칸타와 교전상태가 됩니다. 적이 많으므로 일단 후퇴했다가 정비하고 다시 공격하는 것이 좋습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 카라카스에 가서 투자를 해서 발전 시킵니다. 술집에 가면 축제를 연다고 하고 광장에 가면 축제에서 패자의 증표에 관한 단서를 찾게되고 마추픽추를 향하라고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 세력치가 어느정도 오르면 트루히요 술집에서 다양한 모양의 칼에 대해 이야기를 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 포르투벨류 유적에서 스탭에 따라 클릭하면 의식용 단도를 얻을 수 있습니다. 이를 태양무늬 칼집과 합치면 피타코스의 칼날지도를 얻게되고 패자의 증표 치무의 도끼를 찾습니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;지중해&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 리스본에서 제나스 파샤를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 세빌리아에가면 이벤트 발생, 교회에 가면 마누엘에 태고의 십자가를 받습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 아테네 항구에서 안젤로 푸치니를 등용하고 파르테논신전에서 호언장담의 입을 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 알렉산드리아에 기항하면 이벤트가 발생하고 체자레 토니를 등용합니다. 유적에 가면 피보나치 수열을 물어보는데 답은 2,8,34이고 맞추면 무늬가 그려진 천을 얻고&amp;nbsp;쉘 네딤이 동료가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 세빌리아에 가면 시몬을 만날 수 있고 알제로 가면 하이레딘을 만납니다. 튀니스 술집에 가면 쉘 이란 사람이 피라미드로 증표를 찾으러 갔다고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;세력치가 오른 후 트리폴리에가면 하이레딘을 만나는데 뱅가지라는 도시를 건설해 주기로 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 뱅가지에 투자해서 투자율이 5000이 넘으면 항구에서 하이레딘을 만나고 알렉산드리아에서 다시 하이레딘을 만납니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 이스탄불에 기항하면 흑사병이 돌고 프랑스 마르세유나 낭트에 가서 흑사병에 대한 정보를 모아로 가기로 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;8. 이스탄불에 흑사병에 대한 정보를 전해주고 아테네까지 퍼졌다는 이야기를 듣고 아테네로 갑니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;9. 아테네 흑사병을 진정시켰으면 다시 이스탄불 상황도 확인하면 조합에서 암굴 취락 지도를 받게 됩니다. 유적에 가면 놋쇠로 만든 램프를 얻습니다. 그러면 쿠레오부로스 무명지도를 얻게되고 이 것을 이용해 패자의 증표를 찾습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;10. 베네치아 교역소에서 카를로의 처자식의 위급함을 듣고 그를 불러달라고 부탁을 받습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;11. 시라쿠사 교역소에서 카를로를 만나 베네치아에 데려오고나서 항구에서 등용합니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;북해&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1. 낭트에서 쟘 루도와이얀를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2. 영국에가면 클리퍼드와 반 스페인 동맹을 맺고 파티에도 참석합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;3. 런던 술집에가면 크리스티나 에르네코(잠이 메인함대 소속)를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;4. 함부르크에서 게르하르트 아데른캇쓰 이벤트를 볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;5. 톨빈대를 해산하거나 산하로 넣은 후 기항하는 항구에서 게르하르트를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;6. 스톡홀롬 교회에서 함부르크 유적지도를 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;7. 함부르크 교회에서 미술품 배치 문제 맞추면(틀려도 계속 시도할 수 있음) 홍색안료를 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;8. 클리퍼드에게 양피지를 받으려면 런던에서 이벤트를 보던지 클리퍼드를 해산시켜야합니다. 클리퍼드를 해산시키면 암스테르담 술집에서 양피지를 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;9. 양피지와 홍색안료 모두 얻었다면 패자의 증표 지도가 완성되고 이를 이용해 북해 패자의 증표를 찾습니다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;신대륙&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;패자의 증표 7개를 모두 모았다면 신대륙에가서 티알이 만든 도시에 기항하면 앤딩을 볼 수 있습니다.&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;a href=&quot;https://aacii.tistory.com/85&quot;&gt;https://aacii.tistory.com/85&lt;/a&gt; &lt;/p&gt;
&lt;figure id=&quot;og_1778915691675&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD 게임 운영 팁&quot; data-og-description=&quot;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/85&quot; data-og-url=&quot;https://blog.aacii.net/85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD 게임 운영 팁&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vDoBv/btqEVY4zBE7/H8lBQqGiyUccW2xE8GTgck/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vDoBv/btqEVY4zBE7/H8lBQqGiyUccW2xE8GTgck/img.jpg&quot; data-alt=&quot;AACII&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vDoBv/btqEVY4zBE7/H8lBQqGiyUccW2xE8GTgck/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvDoBv%2FbtqEVY4zBE7%2FH8lBQqGiyUccW2xE8GTgck%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;400&quot; height=&quot;300&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AACII&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>고전게임</category>
      <category>공략</category>
      <category>대항해시대4PK</category>
      <category>티알</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/84</guid>
      <comments>https://aacii.tistory.com/84#entry84comment</comments>
      <pubDate>Thu, 14 May 2026 14:52:44 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 교타로 사이키 공략</title>
      <link>https://aacii.tistory.com/357</link>
      <description>&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;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;교타로는 전투 시 적 선박을 나포할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PK버전의 경우 이벤트 패치를 해야 시나리오가 진행되므로 참고하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;동남아시아&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;시작하면 물도&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;식량도 없는 해상입니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;계약을 해야만 출항이 가능하므로&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;처음으로 기항하는 도시가 본거지가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;첫 기항 도시에에 따라 동료가 되는 자들이 다릅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;만약 테르나테&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;메나도 기항시 제나스가 동료가, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;브루네이 기항시 이안이 동료가&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;마닐라 기항시 마누엘이 동료가 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일단 동아시아로 넘어가기 위해 마닐라로 향합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;기아딘 교역소에 가면 샤를르 장로슈폴을 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;페레일라의 세력권 도시의 항구에서는 린을 알아보는 자가 페레일라는 말라카에 있다고 전해줍니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;동남아시아 말라카로 향합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;페레일라가 금 10만 닢을 요구하는 것은 들어줄 필요는 없습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;만약 금 10만 닢을 주면 쿤에 대항하는 동맹을 맺습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;우선 동아시아로 가서 동료도 얻고 세력을 키우는 편이 더 낫습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;교역은 마닐라와 기아딘&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;마카오의 삼각무역을 하면서 점차 동아시아 방면으로 진출합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;틈나는대로 동남아시아 조선소에서 나오를 구입 합니다.. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;나오는 짐칸 5칸까지5 개조 가능하고 교역용 배중에 가격대 성능비가 좋습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;동아시아&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;항주의 술집에서 유리안을 만나 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이야기를 듣고 한양으로 갑니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;한양 광장에서 이화 설을 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오사카 조합에서 왕의 묘 지도&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;무령왕릉&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 구입합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;한양 술집에 들렀다가 무령왕릉으로 가서 신라 금관을 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;항주 술집에서 유리안을 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오사카 술집에서 유키히사 이야기를 듣고 보급항 에조&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(N:42 E:141)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;로 가서 유키히사를 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세력치가 대략 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1500&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 넘어서면 중국 문화권 도시의 항구에서는 이백의 시를 읊습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이백의 시는 금동의 천 화폐에 기입된 것과 같은 내용입니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;종합 세력치가 대략 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1500&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 넘어서면 오사카의 술집에서는 일족을 죽인 원수에 대한 정보를 수집합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;종합 세력치가 2000을 넘어가면 조선수군절도사를 언급한&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; 후 한양에서 문 유와 동맹을 맺습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;항주 광장과 조합에서 호아메이 이(이씨일족 마리아&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에 관한 소문을 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;동남아시아 말라카로 향하면 말라카 항구에서는 이 씨 일족의 당주가 귀국했다고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;다시 항주로 돌아와 조합으로 가면 이 씨 일족의 당주가 한양에서 기다린다는 전갈을 줍니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;한양에서는 마리아와 시엔이 동료가 됩니다&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세력치가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2000&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 넘어서고 천주에 기항하면 술집에서 누군가가 기다린다고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;천주 술집에서 정체 불명의 노인이 자금성 열쇠를 주면서 각오 단단히 하고 가라고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;항주 유적에서는 이 열쇠와 금동의 천화폐로 문제를 맞혀야 하는데 이 것은 한시 문제로 그 운율을 맞추어야 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;답은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;周 &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;zhou&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;唐 &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;tang&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;秦 &lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;qin&lt;/span&gt; 입니&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;문제를 풀고 나면 당대의 죽세공을 얻게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그런데 실패해도 천주술집으로 가면 다시 열쇠를 주니 크게 걱정하지 않아도 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;구루시마와 선전포고를 하고 구루시마를 해산시킵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;나가사키에 기항하면 교타로는 고향에 다녀오겠다고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;고향의 거처에서 소쿠로를 만나고 패자증표인 시황제의 보물에 관한 얘기를 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일본문화권 도시&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오사카&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;나가사키&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;나하&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;의 조선소에서는 그 철갑선을 만든 곳이라면서 추가장갑을 달 수 있게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;한양으로 가면 문유가 죽세공 조립도를 줍니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;패자의 증표의 열쇠를 합쳐서 지도로 만든 뒤 동아시아 패자의 증표 은대의 방형솥을 찾으면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;*&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지방함대를 거느리면 교역소에서 선수상 이야기를 해줍니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;동남아시아&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;쿤의 세력권 도시에 기항하면 쿤상회가 팔렘방과 기아딘 총독을 매수해 점유율을 높였다는 얘기를 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;술집등에서 정보를 취합하면 정체불명의 사설 함대가 출몰합니다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;사설함대를 격파하고 기항하여 술집으로 가면 사설함대가 쿤이 고용한 자였음을 알 수 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;여기서 선택을 하는데 쿤과 아직 싸울 기력이 없다면&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아직은 힘을 기를 때다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 택하고 그렇지 않다면 교전을 택합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;결국 쿤을 해산시켜야 하므로 적당한 때에 쿤에 대해 선전포고를 해서 해산시키도록 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; 쿤상회를 해산시키고 바타비아에 기항하면 유액이 든 항아리를 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;말라카에 기항하면 페레일라가 우열을 가릴 생각이라면 언제든지 덤비라고 한다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세력치가 대략&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1000&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 넘어서면 바타비아 조합주인이 찾는다고 알려줍니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바타비아의 조합으로 가면 의뢰인을 데리고 여관으로 가겠다고 하고&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;여관으로 찾아온 의뢰인은 세실리아입니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그녀는 교타로에게 엄마,아빠를 찾아달라고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세실리아는 동료가 되고 태양무늬의 칼집을 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세실리아 합류 후 말라카 술집으로 가면 홀리오가 동료로 들어옵니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세력치가 2000&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 넘고 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;기아딘&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;말라카 유적을 발견 후 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;기항하는 도시에서 항구에서 아유타와에 가보았느냐고 묻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;말라카 유적으로 갔다가 다시 기아딘 유적으로 가서 고대 왕국의 화폐를 얻고 유액이 든 항아리와 합쳐서 패자의 증표 지도&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;비아스의 화폐 지도&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 만든 후 동아시아 패자의 증표(츈챠크 왕관&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 찾으면 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;인도양&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;인도양 도시(아바)에서 미하일을 만나고 이집트 도둑인 쉘에 대해서 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;나갈플 세력권(마술리파트남) 술집에 가면 세실리아를 시녀로 팔라면서 나갈풀과 선전포고 상태가 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;웃딘 세력권 항구에 가면 웃딘과 만나 동맹을 맺고 무어인의 천문 관측의를 받습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바스라에서 이안 두코프를 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;나갈풀을 해산시키고 캘리컷에 가면 금화 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;만 닢을 지불하고 쿠샨왕조의 큰 접시를 얻을 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바스라(바스리)에 가면 웃딘이 나갈풀이나 아프리카 에스피노사에 대항해 함께 싸울 것을 제의합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바스라의 유적 지도는 아프리카 소팔라에서 구입해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바스라에서 천구의와 똑같은 모양을 타지마할 묘에서 보았다는 사람을 만납니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;캘리컷 유적에 가면 숫자와 관련이 있음을 알아냅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바스라 유적에서 촛대에 불을 붙여보지만 뭔가 틀렸다며 캘리컷 유적 타지마할로 갑니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;캘리컷 유적에 가면 숫자들이 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;진수로 되어있다는 것을 알아냅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;다시 바스라 유적으로 가면 십의 자리 숫자에 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 곱한 후 일의 자리 숫자를 더해서 문제를 풉니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;예를 들어 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;진수의 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;진수로 변환하면 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1*12 + 8 = 20 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그래서 문제의 답은&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: 20, 29, 53, 85, 98 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;입니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;마르지 않는 연꽃잎을 얻고 쿠샨왕조의 큰 접시와 합치면서 패자의 증표지도&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;솔론의 나뭇잎 지도&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;가 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이 지도를 이용해서 패자의 증표를 찾습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;인도양 패자의 증표가 찾기 어려운 경우 파수꾼 아이템이나 레벨이 어느 정도 오른 후 탐색범위가 넓어지면 다시 찾으시기 바랍니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아지자 누렌나할 동료 얻기 조건 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;알&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;유키히사&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;크리스티나가 메인함대 소속&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지방함대아님&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;피 묻은 샴시르를 갖고 있어야 함&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;3. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;돈 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;만닢이상&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, 인도양세력치 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2000&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이상&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;4. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세빌리아 등에서 여해적 정보를 입수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;5. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;위 조건들을 만족하면 인도양에서 우선 누렌나할과 싸웁니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;6. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바스라술집에서 마주치는 이벤트를 봅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;7. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바다에서 세 번 이기면 아지자를 구해주면서 동료로 얻게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아프리카&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에스피노사 세력권 도시(모가디슈)에 가서 에스피노사를 만난 후 동아프리카 모가디슈 술집에 가면 에스피노사에 대한 소문을 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;소팔라 술집에 가면 술에 독을 타는 사람이 있는데 웃딘이 시켰다고 하지만 부정한다를 선택해야 웃딘과 협정을 유지합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에스피노사에 전쟁을 선포하고 해상에서 알 페라 신을 만납니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;기항하면 에스피노사가 항구에서 기다리다가 공격하는데 알 페라 신이 도와주면서 돈 5만 닢을 내고 동료가 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에스피노사 상회를 해산시키고 소팔라로 오면 한 노인이 석판의 상부를 줍니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;산죠르제 유적과 소팔라 유적을 발견하고 세력치가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2000&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 넘어서면 기항하는 도시에서 유서 깊은 물건이라면 유적지로 가라는 말을 듣습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;소팔라의 짐바브웨 유적으로 가면 할아버지들과 강 건너기 퀴즈를 하면 석판하부를 줍니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;강 건너는 법&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;두 노인이 건너고 한 노인이 돌아옵니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;사이키가 타서 강을 건넌 후 노인이 돌아옵니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;3. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;다시 두 노인이 타고 건너서 한 노인만 내리고 다른 노인이 타고 와서 내립니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;4. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;린이 타서 건너고 거기 있던 노인이 다시 타고 돌아옵니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;5. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;두 노인이 같이 타고 건너옵니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;산조르제의 술집에 가면 주인공의 시를 짓습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;시에라이온에 기항하면 훌리오가 세실리아의 이름을 세우타의 술집에서 들었다는 이야기를 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;패자의 증표를 찾고 지중해로 갑시다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지중해&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아프리카의 서북부인 시에라리온&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;베르데와 지중해 남부인 라스팔마스에서 교타로가 홀리오에게 멜카드에 대해 이야기 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;홀리오는 세우타 술집이었다고해서&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세우타 술집에서 멜카드에 관해 묻지만 모른다고 합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;여관에서 하루 자고 술집으로 가면 세실리아의 어머니가 리스본의 알브켈케 후작의 교외의 별장에 머물고 있다고합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;리스본에 기항하면 세실리아는 엄마를 만나고 아버지는 신대륙에 있다는 말을 듣습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세실리아의 엄마는 알브켈케의 후원으로 패자증표에 대해 연구를 하는 학자를 안다면서 실물이 있다면 연구에 도움이 될 것이라면서 패자증표를 빌려달라고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그동안 모은 패자증표는 일단 아이템 정보에서 사라집니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;리스본에서 출항할 때 제나스 파사를 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세빌리아의 술집에서 페르난도를 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;페르난도 동전 게임 대결&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(1) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;가장 오른쪽에 있는 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금 동전을 왼쪽으로 옮겨서 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(2) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;다시 가장 오른쪽에 있는 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금 동전을 왼쪽으로 옮겨서 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(3) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세 번째에 네 번째에 있는 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금 동전을 다시 제일 왼쪽으로 옮겨서 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(4) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;두 번째 세 번째에 있는 금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;백 동전을 오른쪽으로 옮겨서 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;---&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(5) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;최종적으로 제일 오른쪽 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금을 왼쪽으로 옮기면 백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;백&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;금이 되어 이길 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;튀니스에 가면 하이레딘이 파샤군과 전쟁을 선포하는 모습을 봅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;알제에서 쉘의 행방을 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;체자레 토니 해적으로부터 구해주는 이벤트 후 알렉산드리아 기항하면 동료가 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;알렉산드리아 유적에 가면 쉘 아리 네딤을 만나서 동료가 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;수열 퀴즈를 푸는데 답은 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2, 8, 34&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;입니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. 그러면&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;무늬가 그려진 천을 받습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아테네에 가면 항구에서 안젤로 푸치니를 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;베네치아와 시라쿠사를 왕복하면서 카를로 이벤트를 거치면 카를로를 동료로 얻습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일단 지중해에서 동료만 얻고 전열함을 만들기 위해 북해를 갑니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북해는 따로 이벤트가 진행되고 동료도 셋이나 추가되므로 먼저 진행하는 것이 좋습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;북해&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;낭트에 기항하면 잠 루도와이얀을 동료로 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;술집에서는 영국과 스페인의 전투이야기와 보물지도 이야기를 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;런던 술집에 가면 크리스티나 에르네코가 동료로 합류합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;런던의 왕궁으로 가면 크레아와 클리퍼드가 만나는 것을 구경합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;슈파이어상회와 선전포고를 하고 해산시킵니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세력치 2000&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이 넘으면 함부르크 교회에서 패자의 증표에 관한 이야기를 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;암스테르담에 투자해 쉽&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;전열함&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;과 캐노네이드 대포를 구입합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;함부르크 항구에서 게르하르트의 연설을 하고 전투 중 설교화는 것을 봅니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;톨빈대에 선전포고하고 파산시키면 항구에서 게르하르트가 동료로 합류합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;함부르크 교회에서 오르골 여자인형 잡기 퍼즐은 구석으로 몰아서 잡으면 되니 어렵지 않습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;완료하면 홍색안료를 얻을 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;낭트로 가면 클리퍼드와 크레아의 이벤트를 보는데 도와준 대가로 낡은 양피지를 얻을 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이 완성된 탈레스의 종이지도로 북해 패자의 증표를 발견합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이제 패자의 증표를 찾고 신대륙으로 가는 길에 리스본에 기항합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그러면 패자의 증표를 찾은 김에 세실리아 엄마에게 그동안 찾은 패자증표를 건네주고 실마리를 찾았냐고 물어봅니다만&amp;nbsp; 이렇다 할 성과가 없다고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;신대륙&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt;신대륙 도시에 기항하면 세실리아 아버지를 찾을 단서를 찾지만 일단 신대륙 정세를 알아보기로 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;신대륙 항구(말라카이보)를 다니다 보면 무거운 세금으로 괴롭힘을 받고 있는 원주민을 보고 티알을 만납니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;트루히요 술집에 가면 다른 칼을 찾아보라는 이야기를 듣습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;베라크루스에 기항하면 에밀리오 페로그와 동료가 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;술집에 가면 에스칸테와 후안이 티알의 이야기를 하고 있습니다 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;포루투벨류에 가면 티알과 동맹을 맺고 에스칸테를 무찌르기로 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그리고 포루투베류에서 사무엘 다 칸을 동료로 얻을 수 있습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에스칸테를 해산시킨 뒤 포르투벨류로 가면 세실리아 아빠와 만납니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그리고 독립을 달성한 티알은 축제준비를 하고 여관으로 가면 테오베르도가 와서 마추픽추 유적에 증표의 열쇠가 있다며&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; 마추픽추로 자신을 같이 데려가 달라고 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;여관을 나오면 이제 축제가 시작되고 판쵸의 무늬와 스텝&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;테오베르도가 여기서 힌트를 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;마추픽추에서는 판쵸 무늬를 보고 돌을 끼워 맞추는 게임을 한 후에 의식용 단도를 얻게 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;순서는 가운데&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;뒤&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;왼쪽 뒤&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;가운데&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;왼쪽 앞&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;왼쪽&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;앞&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오른쪽&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오른쪽 앞 순으로 돌들을 클릭하면 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;유적에서 패자의 증표지도를 완성한 뒤 패자의 증표를 찾습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;세실리아 엄마가 있는 리스본으로 갑니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지중해&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;리스본에 기항해서 세실리아 가족을 만나게 하면 발데스군과 전쟁상태가 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;발데스 함대와 교전하게 되면 연이어&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;번의 전투를 치러야 하고 함대도&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개씩 상대해야 하기 때문에 어렵습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그래서 조선소 있는 도시를 중심으로 차례로 정비하면서 격파해 나갑니다.. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;발데스를 해산시키면 세빌리아로 가서 빼앗긴 패자의 증표와 놋쇠로 만든 램프를 얻습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;전에 쉘에게 받았던 무늬가 그려진 천과 합친 후 완성된 쿠레오부로스의 무명지도로 지중해 패자의 증표를 발견합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;앤딩&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일곱 개의 패자의 증표를 가지면 세실리아를 부모에게 데려다 주자는 이야기를 합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지중해 세빌리아에 도착하면 엔딩입니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot;&gt;https://aacii.tistory.com/85&lt;/a&gt; &lt;/p&gt;
&lt;figure id=&quot;og_1778915708995&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;대항해시대4 HD 게임 운영 팁&quot; data-og-description=&quot;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/85&quot; data-og-url=&quot;https://blog.aacii.net/85&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/85&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/85&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r2yjt/dJMb887d2gV/G5HkrkDgGX1v6X2jvpk2L1/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/bxawGe/dJMb9aKKgS6/cXHFaCcVvduwBFJuhSfekk/img.jpg?width=400&amp;amp;height=300&amp;amp;face=0_0_400_300,https://scrap.kakaocdn.net/dn/NJ1Lh/dJMb88Gabwx/gADsJJAix9hojeX7hoeK21/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대4 HD 게임 운영 팁&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;대항해시대 4 HD 응답 없음 후 프로세스 종료 안 되는 현상제어판 &amp;gt; 장치관리자 &amp;gt; 휴먼인터페이스 장치에서 HID로 시작하는 항목들을 모두 사용안함으로 바꿔줘야 합니다.알려진 바로는 HD버전이 P&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>HD</category>
      <category>KOEI</category>
      <category>pk</category>
      <category>공략</category>
      <category>교타로</category>
      <category>대항해시대4</category>
      <category>사이키</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/357</guid>
      <comments>https://aacii.tistory.com/357#entry357comment</comments>
      <pubDate>Thu, 14 May 2026 14:52:32 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD - 신캐릭터(웃딘,티알,교타로) 아이템 정보</title>
      <link>https://aacii.tistory.com/87</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;무기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 백광의 플랑베르쥬 (33) : 북위 68。 동경 16。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 속죄의 올크리스트 (40) : 북위 60。 동경 27。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 라오콘 소드 (34) : 북위 55。 동경 11。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 소멸의 캇트바르겔 (47) : 처음부터 게르하르트가 소지하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 로엔그린의 샤벨 (44) : 북위 53。 동경 9。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 베팔할바드 (45) : 북위 64。 서경 15。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 성검 액스컬리버 (57) : 북위 50。 서경 4。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 황금 커트라스 (15) : 북위 34。 동경 32。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 칠흑색 레이피아 (24) : 북위 39。 동경 1。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 잔월의 쇼텔 (39)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 조합의뢰로 해적퇴치 후에 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 미노타우로스의 도끼 (37) : 북위 35。 동경 26。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 유다의 마검 (50) : 북위 32。 동경 34。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 아레스의 성창 (54) : 북위 37。 동경 26。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 충성의 포르숑 (30) : 남위 25。 동경 46。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 남색 탈와르 (32) : 남위 10。 동경 40。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 바방기다의 띠검 (37) : 산죠르제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 웃딘 : 산죠르제의 가면을 찾아주고 나면 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 티알, 교타로 : 아프리카의 패자의 증표를 찾고 산죠르제 조합에 가면 얻는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 용자의 시미타 (29) : 북위 18。 동경 57。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 피묻은 샴시르 (43) : 북위 16。 동경 41。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 타락 천사의 카타르 (36)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 조합의뢰로 해적퇴치 후에 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. 황홀한 크리슈나가 (45) : 북위 25。 동경 63。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 캘리컷 유적에서 이안이 가지고 있는 칼에 이야기하다 크리슈나가란 칼에 대해 듣는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;21. 용약의 베가토와 (27) : 북위 1。 동경 120。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;22. 암살의 쟈만다하르 (43) : 남위 1。 동경 117。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 마술리파트남의 술집에서 알에게 쟈만다하르에 대해 이야기를 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;23. 나마하게의 칼 (19) : 나가사키 여관 or 북위 39。 동경 139。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 주인공의 메인함대에 유키히사가 있고, 나가사키의 여관에서 이벤트를 통해 입수한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입수가 안될 땐 그 이벤트 이후에 위의 좌표 탐색으로 입수한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;24. 쿠빌라이의 대검 (48) : 북위 34。 동경 120。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;25. 조자룡의 창 (52) : 북위 21。 동경 108。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;26. 요도 무라사마 (60) : 북위 45。 동경 149。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;27. 도라롯크의 나이프 (31) : 북위 22。 서경 97。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 신대륙 패자 증표의 열쇠나 칼날지도 중 하나를 소유한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;트루히요의 술집에서 신대륙에는 다양한 모양의 칼이 있다고 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;28. 빨간 머리 여해적의 보검 (41) : 북위 24。 서경 75。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 크리스티나가 메인함대에 있다. 세빌리아의 술집에서 크리스티나에게 카리브해에서 빨간머리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여해적이 전투 중 잃어버린 검에 대해 이야기를 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;방어구&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 푸른 떡갈나무의 방패 (24) : 북위 43。 서경 4。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 불사조의 바시넷트 (38) : 북위 54。 서경 0。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 앗티라 슈트 (55) : 북위 55。 동경 20。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 미네르바의 방패 (48) : 북위 37。 동경 28。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 배덕의 반딧드 메일 (50)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 조합의뢰로 해적 퇴치 후에 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 스키피오의 갑옷 (51) : 북위 33。 동경 10。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 유키히사의 지방함대가 이집트권의 도시에 기항, 주인공이 조합에서 편지를 받고 좌표 탐색.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 칼 마르텔의 갑옷 (60) : 북위 43。 동경 3。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 아르마딜로의 철피 (18) : 남위 15。 동경 46。(술집에서 한턱내면 가르쳐준다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 실버 사렛트 (22) : 북위 21。 서경 17。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 카넴 용사의 방패 (26) : 북위 3。 동경 9。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 광신자의 큐이라스 (28) : 북위 5。 서경 3。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 공작옷 (31) : 남위 47。 동경 37。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 진홍색 링메일 (36) : 남위 4。 동경 39。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 크리스티나가 메인함대에 있다. 소팔라의 조합에서 조합주인이 크리스티나의 붉은 머리에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘 어울리는 갑옷에 대해 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 호박색 브리간디 (43) : 북위 16。 서경 24。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 함대에 교역품으로 호박(장식품)을 싣고 있고, 샤를르가 메인함대에 있을 때 베르데에 기항.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항구의 젊은이와 샤를르가 호박에 대 해 이야기를 하고 항구 젊은이는 근처 섬안에 호박색으로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빛이 나는 장소가 있다고 이야기 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 거대코끼리거북 방패 (23) : 북위 8。 동경 78。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 티무르의 쇠사슬 옷 (37) : 북위 27。 동경 49。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 축복의 방패 (42) : 북위 23。 동경 38。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 주인공의 메인함대에 유리안이 있고, 소코트라 광장에서 적의 넋을 잃게 하는 방패에 대해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이야기를 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 살라딘의 은 갑옷 (58) : 북위 29。 동경 32。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 시원한 갑옷 (34) : 남위 8。 동경 126。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 동남아시아의 항구에 기항하면 안젤로와 게르하르트가 통기성 좋은 갑옷에 대해 이야기한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. 메두사의 방패 (52) : 남위 40。 동경 144。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 바스라 여급, 사피아에게 도자기 귀걸이를 주면 유리안이 메두사 방패에 대해 이야기한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;21. 칼날을 막는 도복 (33) : 북위 51。 동경 141。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 인도 항구의 여관에서 이화가 칼날을 막아주는 도복에 대해 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;22. 패왕의 투구 (39) : 북위 37。 동경 122。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항주에서 마누엘이 항우의 유품에 대해 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;23. 밀정의 흑장속 (41) : 북위 34。 동경 136。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;24. 여왕의 가운 (45) : 북위 38。 동경 117。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 말라카의 여급인 루시아에게 샤쿤타라를 주면 유리안이 여왕의 가운에 대해 이야기한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;25. 노리쓰네의 갑옷 (48) : 북위 33。 동경 130。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;26. 정령의드레스 (26) : 북위 15。 서경 61。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;27. 투라 전사의 투구 (30) : 북위 28。 서경 95。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;28. 재규어신이 깃든 옷 (40) : 북위 19。 서경 104。&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&gt;장비품&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 회중 시계 (측량사 18) : 함부르크 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 금제 디바이더 (측량사 57) : 함부르크 교회에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 갈리아 전기 (돌격대장 28) : 런던 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 마법의 가죽 장갑 (조범수 40) : 북위 55。 동경 8。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 악마를 쏘는 화살 (포격수 68) : 북위 58。 서경 6。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 육분의 (측량사 15) : 리스본 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 한니발 전기 (참모 24) : 리스본 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 롯꼬의 조선지침서 (조타수 40) : 리스본 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 나침반 (측량사 24) : 세빌리아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 태고의 십자가 (선교사 30) : 세빌리아 교회에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 동방견문록 (부관 34) : 제노바 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 다빈치의 인체 해부도 (의사 37) : 제노바 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 정려의 굵은 줄 (조범수 54) : 아테네 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 호언 장담의 입 (부관 63) : 아테네 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 호라티우스의 시집 (갑판요원 34) : 이스탄불 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 천일 야화 (갑판요원 45) : 알렉산드리아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 알렉산더 원정기 (돌격대장 32) : 알렉산드리아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 포세이돈의 외침 (돌격대장 40) : 북위 38。 서경 28。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 멋진 장화 (사육사 45) : 북위 31。 동경 26。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. 페이디아스의 끌 (선박수리공 56) : 북위 38。 동경 20。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;21. 그레고리우스의 관 (선교사 50) : 북위 40。 동경 15。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 주인공의 메인함대에 카를로가 있다. 베네치아의 교역소에서 교황에 대한 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;22. 베자스의 천칭 (회계사 58) : 북위 40。 동경 25。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;23. 헤스티아의 솥 (조리사 60) : 북위 32。 동경 20。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;24. 헤로필로스의 의학서 (의사 74) : 북위 43。 동경 38。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;25. 가제가 붙은 마스크 (사육사 30) : 산죠르제 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;26. 삽화가 들어 있는 성경 (선교사 24) : 남위 18。 동경 36。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;27. 의학 전범 (의사 48) : 북위 8。 동경 50。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;28. 구프타의 신성한 짐승 (-- 45) : 북위 21。 동경 72。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;29. 별빛 천구의 (파수꾼 63) : 북위 7。 동경 81。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;30. 아리스타르코스의 망원경 (파수꾼 65) : 북위 28。 동경 51。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;31. 선도의 지팡이 (함장 70) : 북위 15。 동경 80。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;32. 세계의 익살집 (갑판요원 12) : 북위 1。 동경 104。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;33. 은하수의 성좌도 (파수꾼 32) : 북위 0。 동경 132。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;34. 사자의 엄니로 만든 톱 (선박수리공 32) : 북위 11。 동경 125。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;35. 화약 정제의 비전서 (포격수 47) : 항주 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;36. 진북 (돌격대장 15) : 오사카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;37. 기노쿠니야의 주판 (회계사 39) : 오사카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;38. 분홍색 에이프런 (조리사 20) : 북위 39。 동경 127。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;39. 날갈 필요없는 대패 (선박수리공 21) : 북위 36。 동경 137。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;40. 손자병법서 (참모 30) : 북위 30。 동경 120。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;41. 전사들의 오카리나 (돌격대장 35) : 남위 4。 서경 35。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;42. 후라밍고의 날개구두 (-- 36) : 북위 21。 서경 76。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 산토도밍고 광장에서 사무엘이 후라밍고란 새에 대해 이야기를 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;43. 천우의 리스트밴드 (-- 50) : 북위 26。 서경 82。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;44. 기적 탄환의 펜던트 (포격수 52) : 남위 14。 서경 38。&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&gt;항해용구&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 헤르메스의 기도 : 북위 43。 동경 31。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 폭풍우 발생을 억제한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 라임 방울 : 북위 0。 동경 6。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 발생하는 괴혈병을 치료한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 금빛 고양이 : 캘리컷 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 쥐 발생시 쥐 퇴치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 화타의 한약 : 북위 28。 동경 121。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 발생하는 전염병 치료한다.&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&gt;원산물&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 베틀 : 암스테르담 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 유리 제조법 사전 : 암스테르담 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 커피나무 : 바스라 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 계피나무 : 캘리컷 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 꿀벌집 : 북위 25。 동경 66。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 후추나무 열매 : 말라카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 정향나무 열매 : 바타비아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 진주조개 : 북위 12。 동경 102。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 망고스틴 씨앗 : 북위 0。 동경 123。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 바나나 나무 : 북위 0。 동경 109。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 차나무 : 항주 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 한의사 성전 : 한양 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 누에 : 북위 39。 동경 123。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 연금술서 : 하바나 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 피멘트 열매 : 하바나 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 호박 씨앗 : 베라크루스 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 카카오 씨앗 : 북위 11。 서경 83。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 담배 묘목 : 북위 10。 서경 75。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 토마토 묘목 : 북위 18。 서경 94。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 기타&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. *상어 치어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 주인공의 메인함대에 알과 사무엘이 있고 항해 중 상어를 만나 퇴치하면 이벤트를 통해 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선택문에서 기른다를 선택한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;선수상&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 제독의 상 (제독의 통솔력 상승) : 북위 54。 동경 16。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 동남아시아의 교역소에서 옛 선원들은 위인의 상을 달았다는 말을 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 새끼돼지상 (식량 소비가 줄어듬) : 북위 57。 서경 1。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 왕자상 (백병전시 위력 증가, 전투시 용기를 줌) : 북위 62。 동경 6。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 오슬로에서 알이 왕자상에 대해 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 성모상 (전염병 발생 억제) : 남위 23。 동경 14。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 큰 독수리상 (자동 이동시 스피드 증가) : 북위 5。 동경 72。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 용상 (전투시 포격 위력 증가) : 북위 7。 동경 117。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 돌고래상 (탐색범위의 증가) : 남위 6。 동경 115。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 악마상 (여러가지 효과가 나타남) : 남위 11。 동경 130。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 고래상 (폭풍우를 만날 확률을 감소) : 북위 34。 동경 137。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 처녀상 (피로도 상승 억제) : 북위 26。 서경 77。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. *흰고래상 (함선의 내구력 +10)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 흰고래를 만날 경우에, 끝까지 공격하지 않으면 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. *괴이한 물고기의 상 (백병전시 위력 증가)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 적이 도망다니고 적의 함장이 혼란에 빠진다.&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&gt;여성이 동경하는 물건&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 최고의 돋보기 (베라크루스 - 실비아) : 런던 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 무지개빛 유리구슬 (런던 - 마리) : 암스테르담 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 가랑눈의 로브 (오사카 - 사쿠라) : 스톡홀름 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 얼어붙은 장미 (스톡홀름 - 프란시스카) : 스톡홀름 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 스테인드 글라스의 작은 꽃 (알렉산드리아 - 네리) : 제노바 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 사포 시집 (제노바 - 마틸다) : 아테네 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 빵 만드는 맷돌 (암스테르담 - 완다) : 알렉산드리아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 선녀의 터번 (세빌리아 - 도나) : 북위 36。 동경 35。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 밀로의 비너스 (이스탄불 - 파티시아) : 북위 43。 동경 12。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 샤쿤타라 (말라카 - 루시아) : 소팔라 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 큰 꽃을 수놓은 융단 (한양 - 여희) : 바스라 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 도자기 귀걸이 (바스라 - 사피아) : 캘리컷 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 비탄의 항아리 (아테네 - 뮤리네) : 북위 28。 동경 33。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 검은 유리 그릇 (캘리컷 - 베나질) : 항주 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 신라 금관 (항주 - 미화) : 한양 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항주의 술집에서 유리안 이벤트를 통해 얻는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 정창원의 물병 (바타비아 - 티티스) : 오사카 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 휘종의 북송화 (리스본 - 줄리아) : 북위 24。 동경 118。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 고려 청자 향로 (산죠르제 - 베리사) : 북위 36。 동경 126。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 큰 비취 구슬 (소팔라 - 하토라) : 메리다 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. 일곱 색깔 앵무새 (하바나 - 이사벨) : 북위 18。 서경 77。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;21. 사금 (함부르크 - 마르그레테) : 북위 15。 서경 85。&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&gt;유적지도&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 환상 석주 유적 지도 (런던 - 스톤헨지)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 웃딘 : 북해 조합 심부름 후에 함부르크 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 티알, 교타로 : 스톡홀름 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 아스테카왕국 그림 지도 (베라크루스 - 태양과 달의 피라미드)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 웃딘 : 신대륙의 장로들의 시험에 통과하면 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 티알, 교타로 : 세빌리아의 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 암굴 취락 지도 (이스탄불 - 카파도키아) : 아테네 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 고대 투기장 지도 (제노바 - 콜로세움) : 이스탄불 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 사하라 사막 지도 (산죠르제 - 진흙 모스크)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 웃딘 : 잃어 버린 가면을 찾아주면 산죠르제 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 티알, 교타로 : 산죠르제 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 왕의 모스크 지도 (바스라 - 마지스트 이샤) : 소팔라 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 무갈제국 지도 (캘리컷 - 타지마할묘)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 웃딘 : 게임 초반에 시인 이벤트를 통해서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 티알, 교타로 : 바스라 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 황금 사원 지도 (오사카 - 금각사) : 말라카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 고대사원 지도 (말라카 - 앙코르 와트) : 바타비아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 북경 지도 (항주 - 자금성) : 한양 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 왕의 묘 지도 (한양 - 무녕왕릉)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 웃딘 : 마카오에서 승려들과의 이벤트 후에 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 티알, 교타로 : 오사카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 고대 도시 유적 지도 (하바나 - 투라의 전사상) : 베라크루스 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 기타&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. *보물 지도 : 조합의 일을 달성한 후, 보수대신 보물 지도를 받는 경우가 있는데, 이 지도의 해당 위치에서 아이템 발견&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brVKul/btqEW4Xkzqh/pJWnXwEUYgEldH7SaX3ta1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brVKul/btqEW4Xkzqh/pJWnXwEUYgEldH7SaX3ta1/img.jpg&quot; data-alt=&quot;AACII&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brVKul/btqEW4Xkzqh/pJWnXwEUYgEldH7SaX3ta1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrVKul%2FbtqEW4Xkzqh%2FpJWnXwEUYgEldH7SaX3ta1%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;400&quot; height=&quot;300&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AACII&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>고전게임</category>
      <category>공략</category>
      <category>대항해시대4PK</category>
      <category>아이템</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/87</guid>
      <comments>https://aacii.tistory.com/87#entry87comment</comments>
      <pubDate>Thu, 14 May 2026 14:51:58 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대 4 HD - 패자의 징표 위도 경도 정보</title>
      <link>https://aacii.tistory.com/216</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;지중해&lt;/h3&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 width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북36 동35&lt;br /&gt;키프로스 북동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;지중해001.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uF41a/btrAj3ugYac/qL3CaHel1zEvhIlEN81Li0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uF41a/btrAj3ugYac/qL3CaHel1zEvhIlEN81Li0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uF41a/btrAj3ugYac/qL3CaHel1zEvhIlEN81Li0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuF41a%2FbtrAj3ugYac%2FqL3CaHel1zEvhIlEN81Li0%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;278&quot; height=&quot;266&quot; data-filename=&quot;지중해001.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;266&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북34 동10&lt;br /&gt;트리폴리 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;지중해002.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;268&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blfQB6/btrAeOehExw/Q17hh1iS0cfJV8hSpIIlH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blfQB6/btrAeOehExw/Q17hh1iS0cfJV8hSpIIlH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blfQB6/btrAeOehExw/Q17hh1iS0cfJV8hSpIIlH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblfQB6%2FbtrAeOehExw%2FQ17hh1iS0cfJV8hSpIIlH0%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;280&quot; height=&quot;268&quot; data-filename=&quot;지중해002.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;268&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북31 동32&lt;br /&gt;알렉산드리아 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;지중해003.png&quot; data-origin-width=&quot;281&quot; data-origin-height=&quot;263&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nw8K6/btrAmyHjA58/xQz1EtJyb4HtjygGmfDRsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nw8K6/btrAmyHjA58/xQz1EtJyb4HtjygGmfDRsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nw8K6/btrAmyHjA58/xQz1EtJyb4HtjygGmfDRsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnw8K6%2FbtrAmyHjA58%2FxQz1EtJyb4HtjygGmfDRsK%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;281&quot; height=&quot;263&quot; data-filename=&quot;지중해003.png&quot; data-origin-width=&quot;281&quot; data-origin-height=&quot;263&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북38 동36&lt;br /&gt;이스탄불 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;지중해004.png&quot; data-origin-width=&quot;279&quot; data-origin-height=&quot;267&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NGpLf/btrAjpK51sG/vwUyF6bKzex2gPaVsGPjmk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NGpLf/btrAjpK51sG/vwUyF6bKzex2gPaVsGPjmk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NGpLf/btrAjpK51sG/vwUyF6bKzex2gPaVsGPjmk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNGpLf%2FbtrAjpK51sG%2FvwUyF6bKzex2gPaVsGPjmk%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;279&quot; height=&quot;267&quot; data-filename=&quot;지중해004.png&quot; data-origin-width=&quot;279&quot; data-origin-height=&quot;267&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 32 동 20&lt;br /&gt;트리폴리 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;지중해005.png&quot; data-origin-width=&quot;286&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6DAEB/btrAlf2jtaH/UPYAFMjszbbVy11GmHR2SK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6DAEB/btrAlf2jtaH/UPYAFMjszbbVy11GmHR2SK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6DAEB/btrAlf2jtaH/UPYAFMjszbbVy11GmHR2SK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6DAEB%2FbtrAlf2jtaH%2FUPYAFMjszbbVy11GmHR2SK%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;286&quot; height=&quot;273&quot; data-filename=&quot;지중해005.png&quot; data-origin-width=&quot;286&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 39 동 27&lt;br /&gt;이스탄불 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;지중해006.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgPbwq/btrAmz7hGcC/oTAqNzmRlMKQsViz3bNpTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgPbwq/btrAmz7hGcC/oTAqNzmRlMKQsViz3bNpTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgPbwq/btrAmz7hGcC/oTAqNzmRlMKQsViz3bNpTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdgPbwq%2FbtrAmz7hGcC%2FoTAqNzmRlMKQsViz3bNpTK%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;293&quot; height=&quot;276&quot; data-filename=&quot;지중해006.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 35 동 35&lt;br /&gt;키프로스 남서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;지중해007.png&quot; data-origin-width=&quot;286&quot; data-origin-height=&quot;272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcd7Kd/btrAmzMZskL/stsSlYJZ3lc9gUpOPPvCH1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcd7Kd/btrAmzMZskL/stsSlYJZ3lc9gUpOPPvCH1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcd7Kd/btrAmzMZskL/stsSlYJZ3lc9gUpOPPvCH1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbcd7Kd%2FbtrAmzMZskL%2FstsSlYJZ3lc9gUpOPPvCH1%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;286&quot; height=&quot;272&quot; data-filename=&quot;지중해007.png&quot; data-origin-width=&quot;286&quot; data-origin-height=&quot;272&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 36 동 38&lt;br /&gt;키프로스 북동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;지중해008.png&quot; data-origin-width=&quot;288&quot; data-origin-height=&quot;270&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TftBc/btrAgo0sS6Y/UCcp4gyBfKRwbyPTwMs1sk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TftBc/btrAgo0sS6Y/UCcp4gyBfKRwbyPTwMs1sk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TftBc/btrAgo0sS6Y/UCcp4gyBfKRwbyPTwMs1sk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTftBc%2FbtrAgo0sS6Y%2FUCcp4gyBfKRwbyPTwMs1sk%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;288&quot; height=&quot;270&quot; data-filename=&quot;지중해008.png&quot; data-origin-width=&quot;288&quot; data-origin-height=&quot;270&quot;/&gt;&lt;/span&gt;&lt;/figure&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;h3 data-ke-size=&quot;size23&quot;&gt;아프리카&amp;nbsp;&lt;/h3&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 width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;남4 동11&lt;br /&gt;르완다 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아프리카001.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brUcoL/btrAj2ICFKH/EEpJ2hyHdsCfTrNQ0p53OK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brUcoL/btrAj2ICFKH/EEpJ2hyHdsCfTrNQ0p53OK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brUcoL/btrAj2ICFKH/EEpJ2hyHdsCfTrNQ0p53OK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrUcoL%2FbtrAj2ICFKH%2FEEpJ2hyHdsCfTrNQ0p53OK%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;280&quot; height=&quot;264&quot; data-filename=&quot;아프리카001.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북15 서22&lt;br /&gt;베르데 군도&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아프리카002.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HRS5n/btrAb9wiilG/YtOiXYsN79KUasPzhKpFJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HRS5n/btrAb9wiilG/YtOiXYsN79KUasPzhKpFJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HRS5n/btrAb9wiilG/YtOiXYsN79KUasPzhKpFJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHRS5n%2FbtrAb9wiilG%2FYtOiXYsN79KUasPzhKpFJ1%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;280&quot; height=&quot;264&quot; data-filename=&quot;아프리카002.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;남7 서39&lt;br /&gt;몸바사 남쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아프리카003.png&quot; data-origin-width=&quot;281&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HTRSw/btrAmyUSEmo/rq4yXdOjZ5uYLjvZrXooGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HTRSw/btrAmyUSEmo/rq4yXdOjZ5uYLjvZrXooGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HTRSw/btrAmyUSEmo/rq4yXdOjZ5uYLjvZrXooGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHTRSw%2FbtrAmyUSEmo%2Frq4yXdOjZ5uYLjvZrXooGk%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;281&quot; height=&quot;264&quot; data-filename=&quot;아프리카003.png&quot; data-origin-width=&quot;281&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 6 동 2&lt;br /&gt;산죠르제 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아프리카004.png&quot; data-origin-width=&quot;277&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QZruX/btrAdHleWzj/KiRTqwbvl7Eiq4uyA5s7F1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QZruX/btrAdHleWzj/KiRTqwbvl7Eiq4uyA5s7F1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QZruX/btrAdHleWzj/KiRTqwbvl7Eiq4uyA5s7F1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQZruX%2FbtrAdHleWzj%2FKiRTqwbvl7Eiq4uyA5s7F1%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;265&quot; data-filename=&quot;아프리카004.png&quot; data-origin-width=&quot;277&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북10 서14&lt;br /&gt;시에라리온 북서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아프리카005.png&quot; data-origin-width=&quot;277&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clLvEN/btrAlfVy6ey/jedohobMyAC5wkr6W6KhOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clLvEN/btrAlfVy6ey/jedohobMyAC5wkr6W6KhOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clLvEN/btrAlfVy6ey/jedohobMyAC5wkr6W6KhOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclLvEN%2FbtrAlfVy6ey%2FjedohobMyAC5wkr6W6KhOK%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;265&quot; data-filename=&quot;아프리카005.png&quot; data-origin-width=&quot;277&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;남3 동 42&lt;br /&gt;모가디슈 남동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아프리카006.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;271&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t0OsY/btrAj319YZQ/KzIgwBL4unHcXm7Tx96KrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t0OsY/btrAj319YZQ/KzIgwBL4unHcXm7Tx96KrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t0OsY/btrAj319YZQ/KzIgwBL4unHcXm7Tx96KrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft0OsY%2FbtrAj319YZQ%2FKzIgwBL4unHcXm7Tx96KrK%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;293&quot; height=&quot;271&quot; data-filename=&quot;아프리카006.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;271&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;남 27 동 32&lt;br /&gt;소팔라 남쪽 해안&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아프리카007.png&quot; data-origin-width=&quot;294&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dp8eNx/btrAmF7sdMT/Vmr78htipUWwpLr2gz4NeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dp8eNx/btrAmF7sdMT/Vmr78htipUWwpLr2gz4NeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dp8eNx/btrAmF7sdMT/Vmr78htipUWwpLr2gz4NeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdp8eNx%2FbtrAmF7sdMT%2FVmr78htipUWwpLr2gz4NeK%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;294&quot; height=&quot;273&quot; data-filename=&quot;아프리카007.png&quot; data-origin-width=&quot;294&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;남 23 동 47&lt;br /&gt;마다가스카르 동부&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아프리카008.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;268&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lfIqr/btrAh8JFL6r/Bx8CqV2VmGQiJ3nsylyHi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lfIqr/btrAh8JFL6r/Bx8CqV2VmGQiJ3nsylyHi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lfIqr/btrAh8JFL6r/Bx8CqV2VmGQiJ3nsylyHi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlfIqr%2FbtrAh8JFL6r%2FBx8CqV2VmGQiJ3nsylyHi1%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;290&quot; height=&quot;268&quot; data-filename=&quot;아프리카008.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;268&quot;/&gt;&lt;/span&gt;&lt;/figure&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;h3 data-ke-size=&quot;size23&quot;&gt;인도양&lt;/h3&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 width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북9 동79&lt;br /&gt;세이론 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인도양001.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnh3XK/btrAmzGocK6/QDYYK16a1Qt4LskUCbhSh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnh3XK/btrAmzGocK6/QDYYK16a1Qt4LskUCbhSh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnh3XK/btrAmzGocK6/QDYYK16a1Qt4LskUCbhSh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdnh3XK%2FbtrAmzGocK6%2FQDYYK16a1Qt4LskUCbhSh1%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;259&quot; data-filename=&quot;인도양001.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북12 동79&lt;br /&gt;마드라스 남쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인도양002.png&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btUZiQ/btrAnD9BwBq/9zC8mKNvneOMuK60Etmufk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btUZiQ/btrAnD9BwBq/9zC8mKNvneOMuK60Etmufk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btUZiQ/btrAnD9BwBq/9zC8mKNvneOMuK60Etmufk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtUZiQ%2FbtrAnD9BwBq%2F9zC8mKNvneOMuK60Etmufk%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;282&quot; height=&quot;265&quot; data-filename=&quot;인도양002.png&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북25 동64&lt;br /&gt;디우 북서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인도양003.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UPCMa/btrAjpdpqdo/ugd9KidiF7RCVPkTwKCVSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UPCMa/btrAjpdpqdo/ugd9KidiF7RCVPkTwKCVSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UPCMa/btrAjpdpqdo/ugd9KidiF7RCVPkTwKCVSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUPCMa%2FbtrAjpdpqdo%2Fugd9KidiF7RCVPkTwKCVSk%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;260&quot; data-filename=&quot;인도양003.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북21 동 89&lt;br /&gt;캘커타 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인도양004.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;263&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbLAIt/btrAnFGlMmp/YLbCouXUjMQcUJDmN1ZUHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbLAIt/btrAnFGlMmp/YLbCouXUjMQcUJDmN1ZUHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbLAIt/btrAnFGlMmp/YLbCouXUjMQcUJDmN1ZUHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbLAIt%2FbtrAnFGlMmp%2FYLbCouXUjMQcUJDmN1ZUHK%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;263&quot; data-filename=&quot;인도양004.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;263&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 22 동 93&lt;br /&gt;캘커타 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인도양005.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dD9GPc/btrAmzsPkXA/w4nmUZxYqPsd4cRRBPcTSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dD9GPc/btrAmzsPkXA/w4nmUZxYqPsd4cRRBPcTSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dD9GPc/btrAmzsPkXA/w4nmUZxYqPsd4cRRBPcTSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdD9GPc%2FbtrAmzsPkXA%2Fw4nmUZxYqPsd4cRRBPcTSk%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;292&quot; height=&quot;280&quot; data-filename=&quot;인도양005.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;280&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 14 동 74&lt;br /&gt;고아 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인도양006.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;283&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7AzCw/btrAhei9rUh/ocXj4Spq840EPABwRwcbcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7AzCw/btrAhei9rUh/ocXj4Spq840EPABwRwcbcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7AzCw/btrAhei9rUh/ocXj4Spq840EPABwRwcbcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7AzCw%2FbtrAhei9rUh%2FocXj4Spq840EPABwRwcbcK%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;292&quot; height=&quot;283&quot; data-filename=&quot;인도양006.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;283&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 17 동 82&lt;br /&gt;캘커타 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인도양007.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;278&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qZInI/btrAnFTSotM/CH2etLWz9KRiwNvNLkfkk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qZInI/btrAnFTSotM/CH2etLWz9KRiwNvNLkfkk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qZInI/btrAnFTSotM/CH2etLWz9KRiwNvNLkfkk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqZInI%2FbtrAnFTSotM%2FCH2etLWz9KRiwNvNLkfkk0%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;292&quot; height=&quot;278&quot; data-filename=&quot;인도양007.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;278&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 20 동 72&lt;br /&gt;디우 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인도양008.png&quot; data-origin-width=&quot;305&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KXpBr/btrAfDwWFl5/egpZM3ffol0OzXh11ZsZck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KXpBr/btrAfDwWFl5/egpZM3ffol0OzXh11ZsZck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KXpBr/btrAfDwWFl5/egpZM3ffol0OzXh11ZsZck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKXpBr%2FbtrAfDwWFl5%2FegpZM3ffol0OzXh11ZsZck%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;305&quot; height=&quot;286&quot; data-filename=&quot;인도양008.png&quot; data-origin-width=&quot;305&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&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;h3 data-ke-size=&quot;size23&quot;&gt;동남아시아&lt;/h3&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 width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 7 동 122&lt;br /&gt;필리핀 남부&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동남아001.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;263&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uSTLJ/btrAh9aSE4r/wGXg7xPOkHOnKfi9roebl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uSTLJ/btrAh9aSE4r/wGXg7xPOkHOnKfi9roebl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uSTLJ/btrAh9aSE4r/wGXg7xPOkHOnKfi9roebl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuSTLJ%2FbtrAh9aSE4r%2FwGXg7xPOkHOnKfi9roebl0%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;278&quot; height=&quot;263&quot; data-filename=&quot;동남아001.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;263&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;남2 동126&lt;br /&gt;암보이나 북서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동남아002.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2clCd/btrAczBxOvF/euAfjaXirtjKz2i6hFBVLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2clCd/btrAczBxOvF/euAfjaXirtjKz2i6hFBVLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2clCd/btrAczBxOvF/euAfjaXirtjKz2i6hFBVLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2clCd%2FbtrAczBxOvF%2FeuAfjaXirtjKz2i6hFBVLk%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;280&quot; height=&quot;264&quot; data-filename=&quot;동남아002.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북0 동120&lt;br /&gt;테르나테 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동남아003.png&quot; data-origin-width=&quot;277&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oIejL/btrAgfIzPM5/6Kyb8kuV0Xu6db1skkw1C1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oIejL/btrAgfIzPM5/6Kyb8kuV0Xu6db1skkw1C1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oIejL/btrAgfIzPM5/6Kyb8kuV0Xu6db1skkw1C1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoIejL%2FbtrAgfIzPM5%2F6Kyb8kuV0Xu6db1skkw1C1%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;260&quot; data-filename=&quot;동남아003.png&quot; data-origin-width=&quot;277&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;남 16 동141&lt;br /&gt;오스트레일리아 북동부&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동남아004.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;275&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4dj7U/btrAlgG2Ao8/FpkRkVYaMirkZK4Axt4570/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4dj7U/btrAlgG2Ao8/FpkRkVYaMirkZK4Axt4570/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4dj7U/btrAlgG2Ao8/FpkRkVYaMirkZK4Axt4570/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4dj7U%2FbtrAlgG2Ao8%2FFpkRkVYaMirkZK4Axt4570%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;292&quot; height=&quot;275&quot; data-filename=&quot;동남아004.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;275&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 14 동 99&lt;br /&gt;기아딘 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동남아005.png&quot; data-origin-width=&quot;287&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xY4fA/btrAj1iJVjF/66h9qVE8NLK5Kpp65QkYj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xY4fA/btrAj1iJVjF/66h9qVE8NLK5Kpp65QkYj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xY4fA/btrAj1iJVjF/66h9qVE8NLK5Kpp65QkYj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxY4fA%2FbtrAj1iJVjF%2F66h9qVE8NLK5Kpp65QkYj1%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;287&quot; height=&quot;276&quot; data-filename=&quot;동남아005.png&quot; data-origin-width=&quot;287&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 14 동 126&lt;br /&gt;마닐라 남동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동남아006.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;278&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LxGnJ/btrAfEbDA5V/kOhKBKa3Sg2qw2QP9rI4yK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LxGnJ/btrAfEbDA5V/kOhKBKa3Sg2qw2QP9rI4yK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LxGnJ/btrAfEbDA5V/kOhKBKa3Sg2qw2QP9rI4yK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLxGnJ%2FbtrAfEbDA5V%2FkOhKBKa3Sg2qw2QP9rI4yK%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;292&quot; height=&quot;278&quot; data-filename=&quot;동남아006.png&quot; data-origin-width=&quot;292&quot; data-origin-height=&quot;278&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 12 동 109&lt;br /&gt;기아딘 북동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동남아007.png&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JPxvp/btrAnGeb9bZ/b9MthLpOedEsktw6PlU6m0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JPxvp/btrAnGeb9bZ/b9MthLpOedEsktw6PlU6m0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JPxvp/btrAnGeb9bZ/b9MthLpOedEsktw6PlU6m0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJPxvp%2FbtrAnGeb9bZ%2Fb9MthLpOedEsktw6PlU6m0%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;291&quot; height=&quot;272&quot; data-filename=&quot;동남아007.png&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;272&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;남 2 동 100&lt;br /&gt;팔렘방 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동남아008.png&quot; data-origin-width=&quot;284&quot; data-origin-height=&quot;269&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EsIb7/btrAdHMofGO/EakxvrrqWggUVn9x5H095K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EsIb7/btrAdHMofGO/EakxvrrqWggUVn9x5H095K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EsIb7/btrAdHMofGO/EakxvrrqWggUVn9x5H095K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEsIb7%2FbtrAdHMofGO%2FEakxvrrqWggUVn9x5H095K%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;284&quot; height=&quot;269&quot; data-filename=&quot;동남아008.png&quot; data-origin-width=&quot;284&quot; data-origin-height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;/figure&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;h3 data-ke-size=&quot;size23&quot;&gt;동아시아&lt;/h3&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 width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북24 동124&lt;br /&gt;나하 남서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동아시아001.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q6lwt/btrAh836dOF/zz0cQkqwyMA3u8SokHkObK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q6lwt/btrAh836dOF/zz0cQkqwyMA3u8SokHkObK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q6lwt/btrAh836dOF/zz0cQkqwyMA3u8SokHkObK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq6lwt%2FbtrAh836dOF%2Fzz0cQkqwyMA3u8SokHkObK%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;260&quot; data-filename=&quot;동아시아001.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북37 동129&lt;br /&gt;한반도 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동아시아002.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgKW3D/btrAhepXOjb/OthkgSEoQw9DlOxxQQkuUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgKW3D/btrAhepXOjb/OthkgSEoQw9DlOxxQQkuUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgKW3D/btrAhepXOjb/OthkgSEoQw9DlOxxQQkuUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgKW3D%2FbtrAhepXOjb%2FOthkgSEoQw9DlOxxQQkuUK%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;262&quot; data-filename=&quot;동아시아002.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북31 동 122&lt;br /&gt;항주 북동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동아시아003.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Guiri/btrAlf9d9HZ/rVvPYeO4M9KWIeCHKFtftK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Guiri/btrAlf9d9HZ/rVvPYeO4M9KWIeCHKFtftK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Guiri/btrAlf9d9HZ/rVvPYeO4M9KWIeCHKFtftK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGuiri%2FbtrAlf9d9HZ%2FrVvPYeO4M9KWIeCHKFtftK%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;280&quot; height=&quot;262&quot; data-filename=&quot;동아시아003.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북40 동 121&lt;br /&gt;한양 북서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동아시아004.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qJdjo/btrAjpEvMY0/NuKQfMvfAZAvSjjGvhRzP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qJdjo/btrAjpEvMY0/NuKQfMvfAZAvSjjGvhRzP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qJdjo/btrAjpEvMY0/NuKQfMvfAZAvSjjGvhRzP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqJdjo%2FbtrAjpEvMY0%2FNuKQfMvfAZAvSjjGvhRzP0%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;259&quot; data-filename=&quot;동아시아004.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 19 동 112&lt;br /&gt;마카오 남동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동아시아005.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d6AT1S/btrAnEtUK56/eIv54vQBeRkxkMd9G8L140/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d6AT1S/btrAnEtUK56/eIv54vQBeRkxkMd9G8L140/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d6AT1S/btrAnEtUK56/eIv54vQBeRkxkMd9G8L140/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd6AT1S%2FbtrAnEtUK56%2FeIv54vQBeRkxkMd9G8L140%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;293&quot; height=&quot;273&quot; data-filename=&quot;동아시아005.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 39 동 118&lt;br /&gt;기주 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동아시아006.png&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bggWdy/btrAmyAIxtu/ijoQBezgdKUrNGg9ScBGck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bggWdy/btrAmyAIxtu/ijoQBezgdKUrNGg9ScBGck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bggWdy/btrAmyAIxtu/ijoQBezgdKUrNGg9ScBGck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbggWdy%2FbtrAmyAIxtu%2FijoQBezgdKUrNGg9ScBGck%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;304&quot; height=&quot;287&quot; data-filename=&quot;동아시아006.png&quot; data-origin-width=&quot;304&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 21 동 112&lt;br /&gt;마카오 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동아시아007.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JEuU6/btrAgqxpFpq/NLNJmxnJhgXKiOiAUiDd01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JEuU6/btrAgqxpFpq/NLNJmxnJhgXKiOiAUiDd01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JEuU6/btrAgqxpFpq/NLNJmxnJhgXKiOiAUiDd01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJEuU6%2FbtrAgqxpFpq%2FNLNJmxnJhgXKiOiAUiDd01%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;290&quot; height=&quot;276&quot; data-filename=&quot;동아시아007.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 27 동 128&lt;br /&gt;나가사키 남쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;동아시아008.png&quot; data-origin-width=&quot;288&quot; data-origin-height=&quot;272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bukj66/btrAjpqYSDK/ZgZykDzufOpRcuwNa4skM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bukj66/btrAjpqYSDK/ZgZykDzufOpRcuwNa4skM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bukj66/btrAjpqYSDK/ZgZykDzufOpRcuwNa4skM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbukj66%2FbtrAjpqYSDK%2FZgZykDzufOpRcuwNa4skM1%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;288&quot; height=&quot;272&quot; data-filename=&quot;동아시아008.png&quot; data-origin-width=&quot;288&quot; data-origin-height=&quot;272&quot;/&gt;&lt;/span&gt;&lt;/figure&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;h3 data-ke-size=&quot;size23&quot;&gt;신대륙&lt;/h3&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 width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북18 서94&lt;br /&gt;베라쿠르즈 남동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;신대륙001.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k21Af/btrAeOlelT8/wgprikcuvMZgZlEnMKCOik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k21Af/btrAeOlelT8/wgprikcuvMZgZlEnMKCOik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k21Af/btrAeOlelT8/wgprikcuvMZgZlEnMKCOik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk21Af%2FbtrAeOlelT8%2FwgprikcuvMZgZlEnMKCOik%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;278&quot; height=&quot;261&quot; data-filename=&quot;신대륙001.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 9 서 82&lt;br /&gt;포르투벨류 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;신대륙002.png&quot; data-origin-width=&quot;279&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3ATMu/btrAfDDJYHg/o8epuxDNRCJXPJm9UVKVKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3ATMu/btrAfDDJYHg/o8epuxDNRCJXPJm9UVKVKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3ATMu/btrAfDDJYHg/o8epuxDNRCJXPJm9UVKVKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3ATMu%2FbtrAfDDJYHg%2Fo8epuxDNRCJXPJm9UVKVKK%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;279&quot; height=&quot;262&quot; data-filename=&quot;신대륙002.png&quot; data-origin-width=&quot;279&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 17 서 88&lt;br /&gt;트루히요 북서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;신대륙003.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nyTsf/btrAmzl4NLf/HTMCWAMAlM6J6BNlBCtkkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nyTsf/btrAmzl4NLf/HTMCWAMAlM6J6BNlBCtkkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nyTsf/btrAmzl4NLf/HTMCWAMAlM6J6BNlBCtkkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnyTsf%2FbtrAmzl4NLf%2FHTMCWAMAlM6J6BNlBCtkkk%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;280&quot; height=&quot;262&quot; data-filename=&quot;신대륙003.png&quot; data-origin-width=&quot;280&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 25 서 96&lt;br /&gt;베라크루즈 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;신대륙004.png&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;271&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bT3Lyp/btrAfEipsti/QG3KhOtxEncrFz0aZrx5h1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bT3Lyp/btrAfEipsti/QG3KhOtxEncrFz0aZrx5h1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bT3Lyp/btrAfEipsti/QG3KhOtxEncrFz0aZrx5h1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbT3Lyp%2FbtrAfEipsti%2FQG3KhOtxEncrFz0aZrx5h1%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;291&quot; height=&quot;271&quot; data-filename=&quot;신대륙004.png&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;271&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 30 서 93&lt;br /&gt;하바나 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;신대륙005.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8meu5/btrAeH6r9a2/Gk7oBK42ZmgMn4fOK3njZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8meu5/btrAeH6r9a2/Gk7oBK42ZmgMn4fOK3njZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8meu5/btrAeH6r9a2/Gk7oBK42ZmgMn4fOK3njZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8meu5%2FbtrAeH6r9a2%2FGk7oBK42ZmgMn4fOK3njZk%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;293&quot; height=&quot;276&quot; data-filename=&quot;신대륙005.png&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 26 서 78&lt;br /&gt;하바나 북동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;신대륙006.png&quot; data-origin-width=&quot;288&quot; data-origin-height=&quot;270&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JCIQn/btrAhFUxJvB/zHvdbO5aPVdEjMLa1qSi01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JCIQn/btrAhFUxJvB/zHvdbO5aPVdEjMLa1qSi01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JCIQn/btrAhFUxJvB/zHvdbO5aPVdEjMLa1qSi01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJCIQn%2FbtrAhFUxJvB%2FzHvdbO5aPVdEjMLa1qSi01%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;288&quot; height=&quot;270&quot; data-filename=&quot;신대륙006.png&quot; data-origin-width=&quot;288&quot; data-origin-height=&quot;270&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 18 서 63&lt;br /&gt;산후안 동쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;신대륙007.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dY2SXc/btrAhejafIN/R7YaNl5ymJca3jtcKUsrt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dY2SXc/btrAhejafIN/R7YaNl5ymJca3jtcKUsrt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dY2SXc/btrAhejafIN/R7YaNl5ymJca3jtcKUsrt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdY2SXc%2FbtrAhejafIN%2FR7YaNl5ymJca3jtcKUsrt0%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;290&quot; height=&quot;273&quot; data-filename=&quot;신대륙007.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 11 서 73&lt;br /&gt;말라카이보 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;신대륙008.png&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;270&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zy9Iq/btrAlgf2qRM/kEnhd2e0oxY0HP1QEPdHCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zy9Iq/btrAlgf2qRM/kEnhd2e0oxY0HP1QEPdHCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zy9Iq/btrAlgf2qRM/kEnhd2e0oxY0HP1QEPdHCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fzy9Iq%2FbtrAlgf2qRM%2FkEnhd2e0oxY0HP1QEPdHCk%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;289&quot; height=&quot;270&quot; data-filename=&quot;신대륙008.png&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;270&quot;/&gt;&lt;/span&gt;&lt;/figure&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;h3 data-ke-size=&quot;size23&quot;&gt;북해&lt;/h3&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 width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 54 동 16&lt;br /&gt;스톡홀름 남쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;258&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mIlvr/btrAh8bYmyZ/XmNLUJ2qZIzZ3k8sr9iTqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mIlvr/btrAh8bYmyZ/XmNLUJ2qZIzZ3k8sr9iTqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mIlvr/btrAh8bYmyZ/XmNLUJ2qZIzZ3k8sr9iTqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmIlvr%2FbtrAh8bYmyZ%2FXmNLUJ2qZIzZ3k8sr9iTqK%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;258&quot; data-filename=&quot;001.png&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;258&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 53 동 18&lt;br /&gt;함부르크 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;263&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KVSLo/btrAhF75tfQ/HkbVfBkJSwulzQi588Nfo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KVSLo/btrAhF75tfQ/HkbVfBkJSwulzQi588Nfo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KVSLo/btrAhF75tfQ/HkbVfBkJSwulzQi588Nfo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKVSLo%2FbtrAhF75tfQ%2FHkbVfBkJSwulzQi588Nfo1%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;278&quot; height=&quot;263&quot; data-filename=&quot;002.png&quot; data-origin-width=&quot;278&quot; data-origin-height=&quot;263&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 62 동 5&lt;br /&gt;암스테르담 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDv6Y6/btrAeOS5KEe/TqyWNW6hy1LnaAJ4cc6IJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDv6Y6/btrAeOS5KEe/TqyWNW6hy1LnaAJ4cc6IJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDv6Y6/btrAeOS5KEe/TqyWNW6hy1LnaAJ4cc6IJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDv6Y6%2FbtrAeOS5KEe%2FTqyWNW6hy1LnaAJ4cc6IJ0%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;260&quot; data-filename=&quot;003.png&quot; data-origin-width=&quot;276&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 52 동 10&lt;br /&gt;브리스틀 남쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blz0Lc/btrAeJpDsS5/snsRgwTgzqO4VqJhoE2eo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blz0Lc/btrAeJpDsS5/snsRgwTgzqO4VqJhoE2eo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blz0Lc/btrAeJpDsS5/snsRgwTgzqO4VqJhoE2eo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fblz0Lc%2FbtrAeJpDsS5%2FsnsRgwTgzqO4VqJhoE2eo1%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;291&quot; height=&quot;273&quot; data-filename=&quot;004.png&quot; data-origin-width=&quot;291&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북56 동 20&lt;br /&gt;리가 서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsI05k/btrAnE8wG0q/Hkjg5oztsP38fEuM7Hbq31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsI05k/btrAnE8wG0q/Hkjg5oztsP38fEuM7Hbq31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsI05k/btrAnE8wG0q/Hkjg5oztsP38fEuM7Hbq31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsI05k%2FbtrAnE8wG0q%2FHkjg5oztsP38fEuM7Hbq31%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;289&quot; height=&quot;276&quot; data-filename=&quot;005.png&quot; data-origin-width=&quot;289&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 63 동 8&lt;br /&gt;오슬로 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIxQaU/btrAlg1nNGG/uhokLFVMCi9KTbHHMXkMo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIxQaU/btrAlg1nNGG/uhokLFVMCi9KTbHHMXkMo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIxQaU/btrAlg1nNGG/uhokLFVMCi9KTbHHMXkMo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIxQaU%2FbtrAlg1nNGG%2FuhokLFVMCi9KTbHHMXkMo0%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;290&quot; height=&quot;272&quot; data-filename=&quot;006.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;272&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 57 동 12&lt;br /&gt;코펜하겐 북쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cG0Lip/btrAhcFE731/BMdY7VnwVQsQrCUrlk5u3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cG0Lip/btrAhcFE731/BMdY7VnwVQsQrCUrlk5u3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cG0Lip/btrAhcFE731/BMdY7VnwVQsQrCUrlk5u3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcG0Lip%2FbtrAhcFE731%2FBMdY7VnwVQsQrCUrlk5u3K%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;290&quot; height=&quot;273&quot; data-filename=&quot;007.png&quot; data-origin-width=&quot;290&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;td width=&quot;236&quot;&gt;&lt;span&gt;&lt;span&gt;북 58 동 23&lt;br /&gt;리가 북서쪽&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;294&quot; data-origin-height=&quot;274&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDEzHH/btrAhGy9hzv/qO6jJZwVUY4ARZr4ubqWe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDEzHH/btrAhGy9hzv/qO6jJZwVUY4ARZr4ubqWe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDEzHH/btrAhGy9hzv/qO6jJZwVUY4ARZr4ubqWe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDEzHH%2FbtrAhGy9hzv%2FqO6jJZwVUY4ARZr4ubqWe0%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;294&quot; height=&quot;274&quot; data-filename=&quot;008.png&quot; data-origin-width=&quot;294&quot; data-origin-height=&quot;274&quot;/&gt;&lt;/span&gt;&lt;/figure&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;</description>
      <category>GAME/대항해시대</category>
      <category>pk</category>
      <category>경도</category>
      <category>공략</category>
      <category>대항해시대4</category>
      <category>위도</category>
      <category>위치</category>
      <category>패자의 증거</category>
      <category>패자의 증표</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/216</guid>
      <comments>https://aacii.tistory.com/216#entry216comment</comments>
      <pubDate>Thu, 14 May 2026 14:51:33 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD - 구 케릭터(라파엘,릴,호드람,마리아) 아이템 정보</title>
      <link>https://aacii.tistory.com/86</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;무기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;1. 라오콘 소드 (34) : 함부르크의 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 백광의 플랑베르쥬 (33) : 북위 68。 동경 16。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 속죄의 올크리스트 (40) : 북위 60。 동경 27。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 소멸의 캇트바르겔 (47) : 북위 62。 동경 18。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 브뤼주에 기항하면 게르하르트가 옛날에 해적과 싸우다 잃어버린 검을 회상한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 로엔그린의 샤벨 (44) : 북위 52。 동경 4。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 함부르크 광장에서 크리스티나가 한쌍의 백조 이벤트를 보고 백조가 입에 무엇을 물고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;암스테르담 쪽으로 갔으니 한번 가보자고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 베팔할바드 (45) : 북위 64。 서경 15。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 주인공의 메인함대에 마누엘이 있고, 아프리카의 소팔라의 점유율이 5％이상시 소팔라의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유적에서 솔로몬왕의 전설과 마왕의 무기에 대한 이야기를 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 성검 엑스컬리버 (57) : 북위 50。 서경 4。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 일단 어떤 주인공이던 검투술이 200이상이어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 라파엘 : 북해, 아프리카, 동아시아, 신대륙의 패자의 증표 소지.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 호드람 : 북해, 아프리카, 동아시아, 동남아시아, 동아시아 패자의 증표 소지.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 릴 : 지중해, 아프리카, 인도양, 동아시아 패자의 증표 소지, 신대륙의 세력치가 1위&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 마리아 : 지중해, 아프리카, 인도양, 동남아시아, 동아시아의 패자의 증표를 소지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 브리스틀 광장에서 요염한 여자에게 아더왕의 이야기를 듣고 술집에서 아발론에 대해 듣는다.&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&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 황금 커트라스 (15) : 이스탄불 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 칠흑색 레이피아 (24) : 북위 39。 동경 1。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 남색 탈와르 (32) : 북위 30。 동경 18。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 잔월의 쇼텔 (39)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 알렉산드리아 유적의 문제를 맞추면 획득, 문제를 맞추지 못하면 바스라 조합에 나온다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 라파엘: 안다 &amp;gt; 인간&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 릴: 안다 &amp;gt; 인간 &amp;gt; 6명&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 호드람: 안다 &amp;gt; 인간 &amp;gt; 4명&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 마리아: 안다 &amp;gt; 인간 &amp;gt; 2명&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 나머지 피보나치 수열문제: 2, 8, 34&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 미노타우로스의 도끼 (37) : 북위 35。 동경 26。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 크레타 술집에서 에밀리오가 자신도 강해지고 싶다며 미노타우로스의 도끼를 이야기한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 유다의 마검 (50) : 북위 32。 동경 34。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 제나스의 지방함대가 이탈리아 항구에 기항, 주인공이 조합에서 편지를 받고 좌표 탐색.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 아레스의 성창 (54) : 북위 37。 동경 26。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 이스탄불의 술집에서 이안이 아레스의 성창에 대해 이야기를 한다. 이 이벤트가 나오지 않으면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지중해의 패자의 증표를 얻고 이스탄불의 술집에 가면 이야기를 들을 수 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 충성의 포르숑 (30) : 남위 25。 동경 46。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 바방기다의 띠검 (37) : 남위 34。 동경 23。&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&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 용자의 시미타 (29) : 북위 18。 동경 57。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 타락 천사의 카타르 (36) : 북위 22。 동경 59。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 황홀한 크리슈나가 (45) : 북위 25。 동경 63。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. 피묻은 샴시르 (43) : 북위 16。 동경 41。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 인도항구의 술집에서 알이 붉은 칼에 대해 이야기한다.&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&gt;* 동남아시아 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;21. 용약의 베가토와 (27) : 북위 1。 동경 120。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;22. 암살의 쟈만다하르 (43) : 남위 1。 동경 117。&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&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;23. 나마하게의 칼 (19) : 나가사키 여관 or 북위 39。 동경 139。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 주인공의 메인함대에 유키히사가 있고, 나가사키의 여관에서 이벤트를 통해 입수한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입수가 안될땐 위쪽의 좌표 탐색으로 입수한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;24. 쿠빌라이의 대검 (48) : 북위 34。 동경 120。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 아프리카의 패자의 증표가 있고, 천주의 광장에서 한 노인에게서 쿠빌라이의 검에 대해 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;25. 조자룡의 창 (52) : 북위 21。 동경 108。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 매월 10일에 항주 조합에 가면 조합주인이 삼국지에 대해 질문을 하고, 각각 삼국지를 안다,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 좋아하는 장수를 조운으로 하면 조자룡의 창에 대한 소문을 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;26. 요도 무라사마 (60) : 북위 45。 동경 149。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 유키히사의 지방함대가 일본 항구에 기항, 주인공이 조합에서 편지를 받고 좌표 탐색&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&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;27. 도라롯크의 나이프 (31) : 북위 22。 서경 97。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;28. 빨간 머리 여해적의 보검 (41) : 북위 24。 서경 75。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 세빌리아 술집에서 크리스티나가 빨간머리 여해적이 잃어버린 검에 대해 이야기를 듣는다.&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&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&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 푸른 떡갈나무의 방패 (24) : 북위 43。 서경 4。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 불사조의 바시넷트 (38) : 북위 54。 서경 0。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 주인공의 메인함대에 사무엘이 있고, 케이프타운의 항구에서 이야기를 듣는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 앗티라 슈트 (55) : 북위 55。 동경 20。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 라구사 광장에서 마누엘이 훈족 앗티라 왕에 대해 이야기를 한다&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&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 스키피오의 갑옷 (51) : 북위 33。 동경 10。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 미네르바의 방패 (48) 북위 37。 동경 28。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 크리스티나의 지방함대가 동남아시아 항구에 기항, 주인공의 메인함대에 훌리오가 있고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지중해의 항구에 기항하면 크리스티나를 걱정하는 훌리오와 주인공과의 대화에서 훌리오가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미네르바의 방패에 대해 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 배덕의 반딧드 메일 (50) : 유적 또는 이벤트로 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 라파엘, 마리아 : 파샤군을 해산 또는 산하로 만든 후에 알렉산드리아 유적에서 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 릴 : 파샤군을 해산 또는 산하로 만든 후에 이스탄불에 기항하면 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 호드람 : 오슬람 세력인 파샤에 패한 하이레딘의 이벤트를 보고 하이레딘에게서 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 칼 마르텔의 갑옷 (60) : 북위 43。 동경 3。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 낭트의 광장에서 칼 마르텔의 놀이를 하는 어린이를 보고 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 아프리카, 인도양, 동아시아의 패자의 증표를 가지고 있어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 실버 사렛트 (22) : 북위 21。 서경 17。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 카넴 용사의 방패 (26) : 북위 3。 동경 9。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 광신자의 큐이라스 (28) : 북위 5。 서경 3。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 진홍색 링메일 (36) : 남위 4。 동경 39。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 아르마딜로의 철피 (18) : 남위 15。 동경 46。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 사무엘이 인도양의 무스카트에서 이야기를 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 공작옷 (31) : 남위 47。 동경 37。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 사무엘이 브뤼주에서 매월 1~15일 사이 공작새에 대한 이야기를 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 호박색 브리간디 (43) : 북위 16。 서경 24。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 함대에 교역품으로 호박(장식품)을 싣고 있고, 샤를르가 메인함대에 있을 때 베르데에 기항.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항구의 젊은이와 샤를르가 호박에 대 해 이야기를 하고 항구 젊은이는 근처 섬안에 호박색으로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빛이 나는 장소가 있다고 이야기 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 축복의 방패 (42) : 북위 23。 동경 38。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 거대코끼리거북 방패 (23) : 북위 8。 동경 78。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 사무엘이 동남아시아의 마닐라에서 거대 코끼리 거북 방패에 대해 이야기를 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 티무르의 쇠사슬 옷 (37) : 북위 27。 동경 49。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 이안의 지방함대가 아랍 항구에 기항, 주인공이 조합에서 편지를 받고 좌표 탐색.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 살라딘의 은 갑옷 (58) : 북위 29。 동경 32。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 베이루트의 광장에서 알이 십자군을 물리친 살라딘에 대해 이야기를 한다&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&gt;* 동남아시아 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 시원한 갑옷 (34) : 남위 8。 동경 126。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. 메두사의 방패 (52) : 남위 40。 동경 144。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 바스라 여급에게 도자기 귀걸이를 선물하면 유리안이 메두사 방패에 대해 이 야기를 한다.&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&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;21. 패왕의 투구 (39) : 북위 37。 동경 122。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;22. 칼날을 막는 도복 (33) : 북위 51。 동경 141。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 인도 항구의 여관에서 이화가 칼날을 막아주는 도복에 대해 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;23. 노리쓰네의 갑옷 (48) : 북위 33。 동경 130。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 나가사키의 항구에서 게르하르트가 노리쓰네란 무사에 대해 이야기를 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;24. 밀정의 흑장속 (41) : 북위 34。 동경 136。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 터키 항구의 조합에서 안젤로와 유키히사가 누케닌이란 검은 갑옷에 대해 이야기를 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;25. 여왕의 가운 (45) : 북위 38。 동경 117。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 말라카 여급, 루시아에게 샤쿤타라를 주고 나면 유리안이 여왕의 가운에 대해 이야기를 한다.&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&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;26. 투라 전사의 투구 (30) : 북위 28。 서경 95。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;27. 정령의 드레스 (26) : 북위 15。 서경 61。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;28. 재규어신이 깃든 옷 (40) : 북위 19。 서경 104。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 사무엘이 튀니스에서 매월 16~30일 사이에 재규어 신이 깃든 옷에 대해 말하며 신대륙으로 찾으로가자고한다.&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&gt;장비&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 북해 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 회중 시계 (18) : 함부르크 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 갈리아 전기 (28) : 런던 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 마법의 가죽 장갑 (40) : 북위 55。 동경 8。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 코펜하겐 항구에서 다친 제나스에게 항구의 젊은이가 마법의 가죽 장갑에 대해 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 악마를 쏘는 화살 (68) : 북위 58。 서경 6。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 런던 조선소에서 체자레가 악마를 쏘는 화살에 대한 이야기를 한다&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&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 동방견문록 (34) : 리스본 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 육분의 (15) : 리스본 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 한니발 전기 (24) : 세빌리아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 나침반 (24) : 세빌리아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 태고의 십자가 (30) : 세빌리아 교회에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 다빈치의 인체 해부도 (37) : 제노바 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 금제 디바이더 (57) : 제노바 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 호라티우스의 시집 (34) : 아테네 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 호언 장담의 입 (63) : 아테네 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 천일 야화 (45) : 이스탄불 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 알렉산더 원정기 (32) : 알렉산드리아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 롯꼬의 조선지침서 (40) : 리스본 여관에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 라파엘 - 세우타에 1번 이상 기항한 후 리스본 여관에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 릴 - 사무엘이 메인함대에 있을 때 리스본 여관에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 호드람 - 게르하르트와 샤를르가 메인함대에 있을 때 리스본 여관에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 마리아 - 리스본 여관에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 입수가 않된다면 지중해 항구의 점유율이 어느 정도 있어야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 포세이돈의 외침 (40) : 북위 38。 서경 28。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 샤를르의 지방함대가 서아프리카에 기항, 주인공이 조합에서 편지를 받고 좌표 탐색.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 그레고리우스의 관 (50) : 북위 40。 동경 15。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 메인함대에 카를로가 있고, 베네치아의 교역소에서 카를로와 교역소 주인이 이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 페이디아스의 끌 (56) : 북위 38。 동경 20。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 아테네 조선소에서 마누엘이 페이디아스의 끌에 대해 이야기를 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. 베자스의 천칭 (58)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 알렉산드리아 광장에서 수상한 사람이 금화 20만닢에 판다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;천칭을 살 정도의 돈이 있어 야 이 이벤트가 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;21. 헤스티아의 솥 (60) : 북위 32。 동경 22。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 그리스 주변도시에 기항하면 에밀리오가 맛있는 음식을 찾는다며 헤스티아의 솥에 대해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이야기를 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;22. 헤로필로스의 의학서 (74) : 북위 43。 동경 38。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 인도양의 호르무즈 술집에서 카를로가 헤로필로스에 대해 이야기를 한다&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&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;23. 가제가 붙은 마스크 (30) : 산죠르제 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;24. 삽화가 들어 있는 성경 (24) : 소팔라 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;25. 의학 전범 (48)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 카를로가 산죠르제 항구에서 행로병자를 돌보아 주고 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;26. 멋진 장화 (45)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 말라카 교역소에서 카를로가 동료가 되며 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;27. 기적 탄환의 펜던트 (52)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 주인공의 메인함대에 페르난도가 있고, 베르데에 기항.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항구의 젊은이가 기적을 믿느냔 말에 믿는다를 선택하면 입수.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 다른것을 선택하면 베라크루스 조합에서 금화 14 만닢에 사야한다&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&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;28. 별빛 천구의 (63) : 바스라 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;29. 아리스타르코스의 망원경 (65) : 북위 28。 동경 51。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 호르무즈에서 제나스가 포르투갈 선원들이 조난당할 때 잃어버린 망원경에 대해 이야기한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;30. 구프타의 신성한 짐승 (45) : 북위 21。 동경 72。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 잠의 지방함대가 인도양의 항구에 기항, 주인공이 조합에서 편지를 받고 좌표 탐색&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;31. 정려의 굵은 줄 (54)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 인도양의 항구에서 정려의 굵은 줄을 파는 사람과 카를로가 흥정을 통해서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;32. 선도의 지팡이 (70) : 북위 15。 동경 80。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 라파엘 - 주인공의 메인함대에 클라우디오와 훌리오가 있고, 동남아시아 패자의 증표를 얻은&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;후 출항하면 정보를 들을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 릴 - 주인공의 메인함대에 카밀이 있고, 인도양 패자 증표를 얻고 출항한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;카밀의 물음에 고민이 있다를 선택. 만약 없다를 선택하면 카밀과 릴의 정신력이 +1되나&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선도의 지팡이에 대한 힌트는 없다. 인도양의 세력치가 1위이여야 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 호드람 - 주인공의 메인함대에 게르하르트와 샤를르가 있고, 동남아시아 패자 증표를 얻은 후&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마닐라 항에서 출항.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 마리아 - 주인공의 메인함대에 시엔이 있고, 아프리카의 패자의 증표를 찾은 다음에 아프리카&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항구에서 출항한다. 시엔의 물음에 고민이 있다를 선택. 만약 고민이 없다고 하면 마리아의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정신이 +1됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 만약 이렇게 해도 선도의 지팡이의 이벤트가 나오지 않는다면 아프리카, 인도양, 동남아시아의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패자의 증표를 모아야 한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;33. 세계의 익살집 (12) : 북위 1。 동경 104。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;34. 은하수의 성좌도 (32) : 북위 0。 동경 132。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;35. 사자의 엄니로 만든 톱 (32) : 북위 9。 동경 99。&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&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;36. 화약 정제의 비전서 (47) : 항주 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;37. 진북 (15) : 오사카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;38. 기노쿠니야의 주판 (39) : 오사카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;39. 분홍색 에이프런 (20) : 북위 39。 동경 127。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;40. 손자병법서 (30) : 북위 30。 동경 120。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;41. 날갈 필요없는 대패 (21)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 북위 42。 동경 141。의 보급항인 에조에서 육분의와 교환한다&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&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;42. 전사들의 오카리나 (35) : 남위 4。 서경 35。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;43. 후라밍고의 날개구두 (36) : 북위 21。 서경 76。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;44. 천우의 리스트밴드 (50) : 북위 26。 서경 82。&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&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&gt;* 지중해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 헤르메스의 기도 : 북위 42。 동경 29。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 폭풍우 발생을 억제한다&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&gt;* 아프리카 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 라임 방울 : 북위 0。 동경 6。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 발생하는 괴혈병을 치료한다&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&gt;* 인도양 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 금빛 고양이 : 북위 23。 동경 35。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 쥐 발생시 쥐 퇴치한다&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&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 화타의 한약 : 항주 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 발생하는 전염병 치료한다&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&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&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 베틀 : 런던 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;* 지중해 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 유리 제조법 사전&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 샤를르를 동료로 하고, 베네치아 광장에 가면 도망가던 아시아인이 넘겨준다&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&gt;* 아프리카 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 꿀벌집 : 소팔라 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 커피나무 : 남위 9。 동경 39。&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&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 후추나무 열매 : 캘리컷 조합에서 입수&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&gt;* 동남아시아 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 진주조개 : 말라카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 망고스틴 씨앗 : 말라카 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 바나나 나무 : 바타비아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 정향나무 열매 : 바타비아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 계피나무 : 북위 3。 동경 101。&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&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 누에 : 한양 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 차나무 : 북위 24。 동경 120。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 한의사 성전&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항주광장에서 매월 7, 10, 15일에 가면 정체불명의 노인이 준다&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&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 담배 묘목 : 하바나 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 피멘트 열매 : 하바나 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 카카오 씨앗 : 베라크루스 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 호박 씨앗&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 산토도밍고에서 바나나를 사면 에밀리오의 바나나를 훔쳐 달아나는 원숭이에게 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 토마토 묘목&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 메리다의 교역소에서 토마토를 사면 (선창 2개) 토마토를 먹으며 맛있다는 에밀리오에게&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교역소 주인이 토마토가 마음에 들었냐고 하며 토마토 묘목을 준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 연금술서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 하바나의 술집여급에게 일곱 빛깔 앵무새를 선물하고 나면 북쪽으로 간 수도사 얘길 듣는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 코드항 (북위 41。 서경 70。) 에서 그 수도사가 저술한 연금술서를 받음&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&gt;* 기타&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. *상어 치어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 메인함대에 알과 사무엘이 있고 항해 중 상어를 만나 퇴치하면 이벤트를 통해 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선택문에서 기른다를 선택한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 제독의 상 (제독의 통솔력 상승) : 북위 54。 동경 16。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 새끼돼지상 (식량 소비가 줄어듬)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 다른 해역에 갔다 런던에 기항하면 물에 빠진 어린이를 구한 크리스티나와 미셸의 이벤트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 왕자상 (백병전시 위력 증가, 전투시 용기를 줌)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 훌리오가 메인 함대에 있고, 스톡홀름 유적에서 입수 (리그베다 소지:인도양 패자 증표)&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&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 성모상 (전염병 발생 억제)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 체자레가 동료로 있고, 소팔라의 유적에서 입수&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&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 큰 독수리상 (자동 이동시 스피드 증가) : 캘리컷 유적에서 입수&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&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 용상 (전투시 포격 위력 증가) : 북위 7。 동경 117。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 돌고래상 (탐색범위의 증가) : 남위 6。 동경 115。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 악마상 (여러가지 효과가 나타남)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 페르난도가 동료로 있고, 바타비아의 유적에서 입수&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&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 고래상 (폭풍우를 만날 확률을 감소)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 잠이 동료로 있고, 오사카 여관에서 잠이 영주의 성에서 고래상을 훔친다&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&gt;* 신대륙&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 처녀상 (피로도 상승 억제) : 북위 10。 서경 61。&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&gt;* 기타&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. *흰고래상 (함선의 내구력 +10)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항해 중 흰고래를 만나는 이벤트에서 얻는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. *괴이한 물고기의 상 (백병전시 위력 증가)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o '적이 도망다니고 적의 함장이 혼란에 빠진다.&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&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&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 무지개빛 유리구슬 (런던 - 마리) : 암스테르담 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 가랑눈의 로브 (오사카 - 사쿠라) : 스톡홀름 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 최고의 돋보기 (베라크루스 - 실비아) : 스톡홀름 조합에서 입수&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&gt;* 지중해 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 스테인드 글라스의 작은 꽃 (알렉산드리아 - 네리) : 제노바 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 사포 시집 (제노바 - 마틸다) : 아테네 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 빵 만드는 맷돌 (암스테르담 - 완다) : 알렉산드리아 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 선녀의 터번 (세빌리아 - 도나) : 북위 36。 동경 35。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 밀로의 비너스 (이스탄불 - 파티시아) : 북위 43。 동경 12。&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&gt;* 아프리카&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 고려 청자 향로 (산죠르제 - 베리사) : 북위 36。 동경 126。 (동아시아)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 베리사를 보고, 다시 술집에 들어가면 두가지의 경우가 발생한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 이 지역에 해적이 자주 출몰한다는 말을 들으면, 아프리카 해상에서 사설함대 격파 후 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 동아시아 어딘가에 있다는 말을 들으면, 위의 위치로 가서 탐색한다&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&gt;* 인도양 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 도자기 귀걸이 (바스라 - 사피아)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 캘리컷에서 수상한 사람이 크리스티나에게 도자기 귀걸이를 사라고 하며, 사면 입수.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 사지 않을시 조합에 나온다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 샤쿤타라 (말라카 - 루시아)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 인도권의 항구 도시의 광장에서 요염한 여자가 이안에게서 샤쿤타라를 준다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 비탄의 항아리 (아테네 - 뮤리네) : 북위 28。 동경 33。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. 큰 꽃을 수놓은 융단 (한양 - 여희) : 바스라 조합에서 입수&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&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;14. 검은 유리 그릇 (캘리컷 - 베나질) : 한양 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;15. 신라 금관 (항주 - 미화) : 한양 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항주의 술집에서 유리안 이벤트를 통해 얻는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16. 휘종의 북송화 (리스본 - 줄리아)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 항주 유적에서 아이를 구해주고 사례로 받는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;17. 정창원의 물병 (바타비아 - 티티스) : 북위 34。 동경 135。&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&gt;* 신대륙 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;18. 큰 비취 구슬 (소팔라 - 하토라) : 베라크루스 유적에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;19. 사금 (함부르크 - 마르그레테) : 북위 15。 서경 85。&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;20. 일곱 색깔 앵무새 (하바나 - 이사벨)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 산후안 광장에서 안젤로의 이벤트를 통해 얻는다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;21. 얼어붙은 장미 (스톡홀름 - 프란시스카)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;o 프란시스카를 보고, 다시 술집에 들어가면 자신이 잃어버린 얼어붙은 장미를 가지고 간 사람이&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하바나에 있을거라며 찾아달라고 한다. 호드람의 경우는 스톡홀름 조합에서 협정 위반한&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가브리엘을 잡아 달라고 한다. 신대륙의 하바나의 술집에서 가브레엘 잡으면 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&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&gt;* 북해&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 환상 석주 유적 지도 (런던 - 스톤헨지) : 암스테르담 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 고대 투기장 지도 (제노바 - 콜로세움) : 함부르크 조합에서 입수&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&gt;* 지중해 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 암굴 취락 지도 (이스탄불 - 카파도키아) : 아테네 조합에서 입수&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&gt;* 아프리카 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 사하라 사막 지도 (산죠르제 - 진흙 모스크) : 산죠르제 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 왕의 모스크 지도 (바스라 - 마지스트 이샤) : 소팔라 조합에서 입수&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&gt;* 인도양&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 무갈제국 지도 (캘리컷 - 타지마할묘) : 바스라 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 황금 사원 지도 (오사카 - 금각사) : 캘리컷 조합에서 입수&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&gt;* 동남아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 고대사원 지도 (말라카 - 앙코르 와트) : 바타비아 조합에서 입수&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&gt;* 동아시아&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9. 왕의 묘 지도 (한양 - 무녕왕릉) : 항주 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. 북경 지도 (항주 - 자금성) : 한양 조합에서 입수&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&gt;* 신대륙 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 고대 도시 유적 지도 (하바나 - 투라의 전사상) : 베라크루스 조합에서 입수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;12. 아스테카왕국 그림 지도 (베라크루스 - 태양과 달의 피라미드) : 하바나 조합에서 입수&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&gt;* 기타&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;13. *보물 지도 : 조합의 일을 달성한 후, 보수대신 보물 지도를 받는 경우가 있는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 지도의 해당 위치에서 아이템 발견&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eURKX3/btqEWr6zicG/XQd9yhDbEb3nWC7wipmTgk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eURKX3/btqEWr6zicG/XQd9yhDbEb3nWC7wipmTgk/img.jpg&quot; data-alt=&quot;AACII&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eURKX3/btqEWr6zicG/XQd9yhDbEb3nWC7wipmTgk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeURKX3%2FbtqEWr6zicG%2FXQd9yhDbEb3nWC7wipmTgk%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;400&quot; height=&quot;300&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AACII&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>고전게임</category>
      <category>공략</category>
      <category>대항해시대4PK</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/86</guid>
      <comments>https://aacii.tistory.com/86#entry86comment</comments>
      <pubDate>Thu, 14 May 2026 14:51:06 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대4 HD 유적들의 행사날짜</title>
      <link>https://aacii.tistory.com/88</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;-북해- &lt;br /&gt;&lt;br /&gt;&amp;nbsp;런던의&amp;nbsp;스톤헨지&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;2일 &lt;br /&gt;&amp;nbsp;함부르크의&amp;nbsp;성&amp;nbsp;마르틴&amp;nbsp;교회&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;7일 &lt;br /&gt;&amp;nbsp;스웨덴의&amp;nbsp;스테브&amp;nbsp;교회&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;9일 &lt;br /&gt;&lt;br /&gt;-지중해- &lt;br /&gt;&lt;br /&gt;&amp;nbsp;세빌리아의&amp;nbsp;산티아고&amp;nbsp;대성당&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;15일 &lt;br /&gt;&amp;nbsp;제노바의&amp;nbsp;콜로세움&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;17일 &lt;br /&gt;&amp;nbsp;아테네의&amp;nbsp;파르테논&amp;nbsp;신전&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;21일 &lt;br /&gt;&amp;nbsp;이스탄불의&amp;nbsp;카파도키아&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;25일 &lt;br /&gt;&amp;nbsp;알렉산드리아의&amp;nbsp;스핑크스와&amp;nbsp;피라미드&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;27일 &lt;br /&gt;&lt;br /&gt;-아프리카- &lt;br /&gt;&lt;br /&gt;&amp;nbsp;산죠르제의&amp;nbsp;진흙모스크&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;3일 &lt;br /&gt;&amp;nbsp;소팔라의&amp;nbsp;짐바브웨&amp;nbsp;신전&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;8일 &lt;br /&gt;&lt;br /&gt;-인도양-&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;바스라의&amp;nbsp;마스지트&amp;nbsp;이&amp;nbsp;샤&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;12일 &lt;br /&gt;&amp;nbsp;캘리컷의&amp;nbsp;타지마할&amp;nbsp;묘&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;16일&amp;nbsp; &lt;br /&gt;&lt;br /&gt;-동남아시아-&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;말라카의&amp;nbsp;앙코르와트&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;23일 &lt;br /&gt;&amp;nbsp;바타비아의&amp;nbsp;볼로브둘&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;24일 &lt;br /&gt;&lt;br /&gt;-동아시아- &lt;br /&gt;&lt;br /&gt;&amp;nbsp;한양의&amp;nbsp;무녕왕릉&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;4일 &lt;br /&gt;&amp;nbsp;항주의&amp;nbsp;자금성&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;28일 &lt;br /&gt;&amp;nbsp;나가사키의&amp;nbsp;금각사&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;5일 &lt;br /&gt;&lt;br /&gt;-신대륙- &lt;br /&gt;&lt;br /&gt;&amp;nbsp;하바나의&amp;nbsp;투라의&amp;nbsp;전사상&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;7일 &lt;br /&gt;&amp;nbsp;베라크루스의&amp;nbsp;태양과&amp;nbsp;달의&amp;nbsp;피라미드&amp;nbsp;-&amp;nbsp;매월&amp;nbsp;11일 &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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qgRDa/btqEW3c4DBw/G0UP2gIKFIXUA9dlVzkIa0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qgRDa/btqEW3c4DBw/G0UP2gIKFIXUA9dlVzkIa0/img.jpg&quot; data-alt=&quot;AACII&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qgRDa/btqEW3c4DBw/G0UP2gIKFIXUA9dlVzkIa0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqgRDa%2FbtqEW3c4DBw%2FG0UP2gIKFIXUA9dlVzkIa0%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;400&quot; height=&quot;300&quot; data-filename=&quot;400X300-default.jpg&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AACII&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>고전게임</category>
      <category>공략</category>
      <category>대항해시대4PK</category>
      <category>유적</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/88</guid>
      <comments>https://aacii.tistory.com/88#entry88comment</comments>
      <pubDate>Thu, 14 May 2026 14:50:42 +0900</pubDate>
    </item>
    <item>
      <title>AI 이미지 생성 프롬프트 연구</title>
      <link>https://aacii.tistory.com/461</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원하는 AI 이미지를 생성하기 위한 프롬프트를 연구해 봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;이미지를 구성하는 요소&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프롬프트에 포함되어야 할 내용들입니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;주제: 결과물의 특징을 최대한 구체적이고 명확하게 적습니다. 목적과 용도 그리고 강조할 부분을 서술합니다. 주인공의 신체적 특징(외모, 의상, 소품, 눈동자 색, 헤어스타일), 행동, 감정을 서술합니다.&lt;/li&gt;
&lt;li&gt;객체: 이미지에 꼭 포함되어야 할 객체들의 행동, 특징을 서술합니다. 예를 들어 고양이, 새, 남자 1명, 여자 2명 등을 서술합니다. 각 객체의 행동이나 시선, 복장, 감정 같은 세부 디테일을 지정할수록 원하는 이미지에 가까워집니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;배경: 배경이 될 시간, 장소, 날씨, 분위기(Clear mornig sky, Soft sunlight) 등을 정합니다.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;구도: 주인공과 객체들의 배치, 카메라 시점, 구도(Close-up, Full body shot, Wide shot, over the shoulder&amp;nbsp;등), 앵글(High angle, low angle, Dynamic angle)을 지정해 줍니다.&lt;/li&gt;
&lt;li&gt;색상: 주요 색상, 톤(밝음~어두움), 조명(자연광, 인공조명, 그림자, 태양의 위치, Cinematic lighting, Mysteriout atmosphere)을 지정합니다.&lt;/li&gt;
&lt;li&gt;스타일 &amp;amp; 매체(Style &amp;amp; Medium): 사실적, 추상적, 수채화(Watercolor), 만화(Comic/Manga line art), 손으로 그린 듯(Hand-drawn fell), 동화 삽화(Fairy tale illustration), 애니메이션 스타일(Anime style), 정교한 디테일(Detailed), 빈티지, 픽셀아트, 미니멀리즘, 초현실적, 인상주의, 극사실주의, 표현주의, 팝아트, 판타지(Fantasy art), 레트로, 사이버펑크, 언리얼 엔진, 스케치, 유화, Web novel illustation style, Digital painting, Semi-realistic 등 이미지의 스타일을 지정해 줍니다. 혹은 스타일을 합쳐서 혼합해도 됩니다.&lt;/li&gt;
&lt;li&gt;포맷: 이미지의 크기와 비율, 화질을 지정해 줍니다. (예: 16:9 비율, 8K)&lt;/li&gt;
&lt;li&gt;테마: 전달하고자 하는 메시지나 감정, 희망, 모험, 평화, 용기, 두려움, 같은 것들을 서술합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;피드백&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&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;br /&gt;현재 기술 수준에서 완벽한 일관성 구현은 한계가 있을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;아이디어&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아이디어가 없는 경우 이미지의 구성요소들(주제, 객체, 배경, 구도, 색상, 스타일, 포맷, 테마)에 대해서 gemini에게 제안하라고 입력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;샘플 이미지&lt;/h4&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;h4 data-ke-size=&quot;size20&quot;&gt;피해야 할 프롬프트 내용&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;과도한 형용사 나열&lt;/li&gt;
&lt;li&gt;서로 상충하거나 모순되는 지시 사항&lt;/li&gt;
&lt;li&gt;피사체의 크기를 가늠할 수 있는 비교 기준(Scale) 누락&lt;/li&gt;
&lt;li&gt;불필요하고 사소한 세부 정보의 과도한 지정&lt;/li&gt;
&lt;li&gt;이미지 종횡비(Aspect Ratio) 설정을 간과하는 경우&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;이미지 주제별 영문 프롬프트 참고&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 영화적 풍경: A landscape photo of the Scotttish Highlands in late fall( 늦가을 스코틀랜드 고원의 풍경 사진), dreary weather(음산한 날씨), earth tone color palette(흙빛 색상 팔레트), shallow depth of field(얕은 피사계 심도)&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. 판타지 아트: A mystical elf warrior wielding a sapphire enchanted spear, standing beneth an old high tree in a magical forest with mist, backlight, fireworm, high quality 8k --ar 16:9&lt;br /&gt;신비로운 엘프 전사가 사파이어로 마법이 부여된 창을 휘두르며, 안개, 역광, 반딧불이가 있는 마법의 숲 속 오래된 큰 나무 아래 서 있다, 고품질 8k, 화면 비율 16:9&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. 애니메이션 캐릭터: (masterpiece, best quality) 1 gorgeous girl( 1명의 아름다운 소녀), portrait(초상화), excited(신난 표정), school uniform(교복), short sleeves(반소매), parted lips(살짝 벌린 입술), shirt(셔츠), long pink curly hair(길고 분홍색인 곱슬머리), big eyes(큰 눈), white shirt(흰색 셔츠), upper body(상반신)&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;4. 로맨스 판타지: 화려한 드레스와 부드러운 화풍이 특징. A high-quality web novel cover illustration in a romantic fantasy style. A beautiful noblewoman with long silver hair and violet eyes, wearing a luxurious emerald velvet dress decorated with gold embroidery and lace. She is standing in a grand ballroom with crystal chandeliers and blooming roses. Soft, warm sunlight filtering through stained glass windows. Digital painting, elegant and shimmering atmosphere, 8k resolution.&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;5. 현대 판타지: 현대 배경의 액션과 강렬한 효과가 특징. A web novel cover illustration of a modern fantasy hunter. A charismatic young man with black hair, wearing a sleek black tactical suit and a long coat. He is holding a glowing blue energy blade, standing in the middle of a destroyed modern city street at night. Sparks and magical blue light swirling around him. Cinematic lighting, dynamic pose, sharp details, semi-realistic anime style.&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;6. 무협: 동양적인 분위기, 무공의 화려함이 특징. An oriental fantasy web novel illustration in a Wuxia style. A swordsman with long tied hair, wearing traditional white and light blue martial arts robes flowing in the wind. He is standing on a high mountain peak above a sea of clouds, holding a long ancient sword. Traditional ink wash painting elements blended with modern digital art. Ethereal and majestic atmosphere.&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 data-ke-size=&quot;size20&quot;&gt;프롬프트 실전 예제&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.&amp;nbsp;예술적&amp;nbsp;스타일&amp;nbsp;&amp;amp;&amp;nbsp;매체&amp;nbsp;(Style&amp;nbsp;&amp;amp;&amp;nbsp;Medium) &lt;br /&gt;핵심:&amp;nbsp;수채화&amp;nbsp;텍스처(Watercolor&amp;nbsp;texture)와&amp;nbsp;만화/웹툰풍&amp;nbsp;선화(Comic/Manga&amp;nbsp;line&amp;nbsp;art)의&amp;nbsp;혼합. &lt;br /&gt;느낌:&amp;nbsp;손으로&amp;nbsp;그린&amp;nbsp;듯한(Hand-drawn&amp;nbsp;feel),&amp;nbsp;동화&amp;nbsp;삽화(Fairy&amp;nbsp;tale&amp;nbsp;illustration),&amp;nbsp;판타지&amp;nbsp;아트(Fantasy&amp;nbsp;art),&amp;nbsp;애니메이션&amp;nbsp;스타일(Anime&amp;nbsp;style),&amp;nbsp;정교한&amp;nbsp;디테일(Detailed). &lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;주인공&amp;nbsp;캐릭터&amp;nbsp;(Characters) &lt;br /&gt;거구의&amp;nbsp;남성&amp;nbsp;전사: &lt;br /&gt;외모:&amp;nbsp;건장하고&amp;nbsp;근육질인&amp;nbsp;체구,&amp;nbsp;카리스마&amp;nbsp;있는&amp;nbsp;얼굴,&amp;nbsp;짙은&amp;nbsp;갈색&amp;nbsp;또는&amp;nbsp;검은색&amp;nbsp;머리. &lt;br /&gt;의상:&amp;nbsp;튼튼한&amp;nbsp;가죽&amp;nbsp;갑옷&amp;nbsp;위에&amp;nbsp;두꺼운&amp;nbsp;털&amp;nbsp;망토(Fur-lined&amp;nbsp;cape),&amp;nbsp;사슬&amp;nbsp;갑옷(Chainmail),&amp;nbsp;가죽&amp;nbsp;부츠. &lt;br /&gt;포즈/소품:&amp;nbsp;왼손에는&amp;nbsp;크고&amp;nbsp;구불구불한&amp;nbsp;나무&amp;nbsp;지팡이(large&amp;nbsp;gnarled&amp;nbsp;wooden&amp;nbsp;staff)를&amp;nbsp;들고,&amp;nbsp;오른팔로&amp;nbsp;소녀를&amp;nbsp;안고&amp;nbsp;걸어감. &lt;br /&gt;&lt;br /&gt;어린&amp;nbsp;소녀: &lt;br /&gt;외모:&amp;nbsp;검은색&amp;nbsp;단발머리에&amp;nbsp;앞머리(Black&amp;nbsp;bob&amp;nbsp;with&amp;nbsp;bangs). &lt;br /&gt;의상:&amp;nbsp;파란색&amp;nbsp;겨울&amp;nbsp;코트,&amp;nbsp;털이&amp;nbsp;달린&amp;nbsp;모자(hood&amp;nbsp;with&amp;nbsp;fur&amp;nbsp;trim),&amp;nbsp;장식된&amp;nbsp;스카프와&amp;nbsp;보석&amp;nbsp;목걸이(ornate&amp;nbsp;necklace). &lt;br /&gt;포즈/소품:&amp;nbsp;미소를&amp;nbsp;지으며&amp;nbsp;전사에게&amp;nbsp;안겨&amp;nbsp;있고,&amp;nbsp;한&amp;nbsp;손에는&amp;nbsp;빛나는&amp;nbsp;파란색&amp;nbsp;마법&amp;nbsp;구슬(Glowing&amp;nbsp;blue&amp;nbsp;magic&amp;nbsp;orb)을&amp;nbsp;들고&amp;nbsp;있음. &lt;br /&gt;&lt;br /&gt;3.&amp;nbsp;동반&amp;nbsp;동물&amp;nbsp;(Companions) &lt;br /&gt;늑대: 세 마리의 야생 늑대(Two wild wolves)가 전사의 양옆에서 함께 걸어감. 회색/갈색 털. &lt;br /&gt;&lt;br /&gt;4.&amp;nbsp;배경&amp;nbsp;&amp;amp;&amp;nbsp;분위기&amp;nbsp;(Background&amp;nbsp;&amp;amp;&amp;nbsp;Atmosphere) &lt;br /&gt;장소:&amp;nbsp;눈&amp;nbsp;덮인&amp;nbsp;산악&amp;nbsp;지대(Snowy&amp;nbsp;mountain&amp;nbsp;landscape),&amp;nbsp;깊은&amp;nbsp;계곡(Deep&amp;nbsp;valley),&amp;nbsp;상록수&amp;nbsp;숲(Evergreen/pine&amp;nbsp;forest). &lt;br /&gt;시간/날씨:&amp;nbsp;맑은&amp;nbsp;아침(Clear&amp;nbsp;morning),&amp;nbsp;부드러운&amp;nbsp;햇살(Soft&amp;nbsp;sunlight),&amp;nbsp;파란&amp;nbsp;하늘과&amp;nbsp;약간의&amp;nbsp;구름(Blue&amp;nbsp;sky&amp;nbsp;with&amp;nbsp;scattered&amp;nbsp;clouds). &lt;br /&gt;디테일:&amp;nbsp;눈&amp;nbsp;위에&amp;nbsp;찍힌&amp;nbsp;발자국(Footprints&amp;nbsp;in&amp;nbsp;the&amp;nbsp;snow),&amp;nbsp;하늘을&amp;nbsp;나는&amp;nbsp;두&amp;nbsp;마리의&amp;nbsp;새(Two&amp;nbsp;birds&amp;nbsp;flying). &lt;br /&gt;&lt;br /&gt;5.&amp;nbsp;조명&amp;nbsp;&amp;amp;&amp;nbsp;색감&amp;nbsp;(Lighting&amp;nbsp;&amp;amp;&amp;nbsp;Palette) &lt;br /&gt;조명:&amp;nbsp;따뜻한&amp;nbsp;아침&amp;nbsp;빛(Warm&amp;nbsp;morning&amp;nbsp;light),&amp;nbsp;부드러운&amp;nbsp;역광(Soft&amp;nbsp;backlighting),&amp;nbsp;마법&amp;nbsp;구슬의&amp;nbsp;파란빛(Blue&amp;nbsp;magical&amp;nbsp;glow). &lt;br /&gt;색감:&amp;nbsp;부드럽고&amp;nbsp;파스텔&amp;nbsp;톤에&amp;nbsp;가까운&amp;nbsp;수채화&amp;nbsp;색조(Soft&amp;nbsp;watercolor&amp;nbsp;palette),&amp;nbsp;눈의&amp;nbsp;흰색,&amp;nbsp;하늘의&amp;nbsp;파란색,&amp;nbsp;옷의&amp;nbsp;갈색과&amp;nbsp;파란색의&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;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;A detailed fantasy illustration mixing watercolor texture and clean manga-style line art. &lt;br /&gt;A burly male warrior with thick dark hair and a serious face is walking through a snowy mountain landscape. &lt;br /&gt;He is wearing warm leather and chainmail armor with a heavy, fur-lined cape, and he holds a large gnarled wooden staff in one hand. &lt;br /&gt;In his other arm, he is lovingly carrying a young girl with black hair and bangs, who is smiling and holding a glowing blue magical orb.&lt;br /&gt;The girl is wearing a cozy blue winter hood and coat with a detailed necklace. &lt;br /&gt;Two wild wolves walk beside them on the snow-covered path, and a dense pine forest is visible in the background with distant snow-capped mountains. &lt;br /&gt;Two large birds are flying in a clear, soft blue sky with scattered clouds. &lt;br /&gt;Warm morning light bathes the entire scene, creating soft shadows. &lt;br /&gt;Footprints are left in the snow. &lt;br /&gt;Hand-drawn feel, fairytale book illustration style, detailed and precise.&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;위 프롬프트로 Gemini에서 생성된 이미지는 아래와 같습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;생성 이미지 샘플 3pfk3.png&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZMkps/dJMcacQr4WS/5B35X8yxzMhk5kyrRXjggK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZMkps/dJMcacQr4WS/5B35X8yxzMhk5kyrRXjggK/img.png&quot; data-alt=&quot;Gemini 생성 이미지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZMkps/dJMcacQr4WS/5B35X8yxzMhk5kyrRXjggK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZMkps%2FdJMcacQr4WS%2F5B35X8yxzMhk5kyrRXjggK%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;2752&quot; height=&quot;1536&quot; data-filename=&quot;생성 이미지 샘플 3pfk3.png&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Gemini 생성 이미지&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;같은 프롬프트로 GPT로 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;GPT 생성 이미지.png&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;941&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LmBh1/dJMcaad3rah/M5uqqHpKCn59kz2JsqIeG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LmBh1/dJMcaad3rah/M5uqqHpKCn59kz2JsqIeG0/img.png&quot; data-alt=&quot;chat GPT 생성 이미지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LmBh1/dJMcaad3rah/M5uqqHpKCn59kz2JsqIeG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLmBh1%2FdJMcaad3rah%2FM5uqqHpKCn59kz2JsqIeG0%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;1672&quot; height=&quot;941&quot; data-filename=&quot;GPT 생성 이미지.png&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;941&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;chat GPT 생성 이미지&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>ALEPH.GEM/디지털 아트</category>
      <category>Ai</category>
      <category>Gemini</category>
      <category>nano banana</category>
      <category>나노 바나나</category>
      <category>생성</category>
      <category>이미지</category>
      <category>제미나이</category>
      <category>프롬프트</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/461</guid>
      <comments>https://aacii.tistory.com/461#entry461comment</comments>
      <pubDate>Tue, 28 Apr 2026 21:45:22 +0900</pubDate>
    </item>
    <item>
      <title>대항해시대 온라인 - Caravan 공략</title>
      <link>https://aacii.tistory.com/459</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;트레저 헌트 테마&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 테마: 보물의 장 - 번영했던 도시(Rank10)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 월드 클락이 17세기이거나 호칭(장비)이 17세기인 경우에만 시작할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 입수한 렉릭피스를 주점 주인에게서 합성하다 보면 예지의 서 &amp;gt; 보물의 장 &amp;gt; &quot;번영했던 도시로 가는 길&quot; 퀘스트를 받아서 진행할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-12-05 12 10 40.png&quot; data-origin-width=&quot;739&quot; data-origin-height=&quot;395&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCLbpE/dJMcacIm4Tv/ACVx34y2uhqYfkBIxkrhCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCLbpE/dJMcacIm4Tv/ACVx34y2uhqYfkBIxkrhCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCLbpE/dJMcacIm4Tv/ACVx34y2uhqYfkBIxkrhCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCLbpE%2FdJMcacIm4Tv%2FACVx34y2uhqYfkBIxkrhCK%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;739&quot; height=&quot;395&quot; data-filename=&quot;2025-12-05 12 10 40.png&quot; data-origin-width=&quot;739&quot; data-origin-height=&quot;395&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;번영했던 도시로 가는 길&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;준비물:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;탐색 13랭크, 고고학 15 랭크, 중국어 1 랭크&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.ssjoy.org/dho/quest/3950012&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.ssjoy.org/dho/quest/3950012&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1764904326046&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;봇 검증 중...&quot; data-og-description=&quot;안전한 접속을 위해 확인이 필요합니다 잠시만 기다려 주세요. 아래 보안 인증을 완료하면 자동으로 페이지가 갱신됩니다. 자동 제출이 되지 않는다면 직접 확인 버튼을 눌러 주세요.&quot; data-og-host=&quot;www.ssjoy.org&quot; data-og-source-url=&quot;https://www.ssjoy.org/dho/quest/3950012&quot; data-og-url=&quot;https://www.ssjoy.org/dho/quest/3950012&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.ssjoy.org/dho/quest/3950012&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.ssjoy.org/dho/quest/3950012&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;봇 검증 중...&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;안전한 접속을 위해 확인이 필요합니다 잠시만 기다려 주세요. 아래 보안 인증을 완료하면 자동으로 페이지가 갱신됩니다. 자동 제출이 되지 않는다면 직접 확인 버튼을 눌러 주세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.ssjoy.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 황하 하류에 상륙합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 황토 고원(2차 필드)에 진입합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-12-05 12 13 18.png&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;279&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pJa1b/dJMcah3Yl5E/NDBRacWC6A3NKfIRrKhoyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pJa1b/dJMcah3Yl5E/NDBRacWC6A3NKfIRrKhoyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pJa1b/dJMcah3Yl5E/NDBRacWC6A3NKfIRrKhoyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpJa1b%2FdJMcah3Yl5E%2FNDBRacWC6A3NKfIRrKhoyk%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;401&quot; height=&quot;279&quot; data-filename=&quot;2025-12-05 12 13 18.png&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;279&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 기울어진 바위를 클릭합니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;중국어 혹은 세계언어해설서 필요&lt;br /&gt;고고학, 탐색 랭크 공유 가능&lt;br /&gt;17세기 호칭 필요&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-12-05 12 17 24.png&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;279&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boTU9N/dJMcagcV9Lx/ZHfwkQtbc5Ew4FASehl7P0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boTU9N/dJMcagcV9Lx/ZHfwkQtbc5Ew4FASehl7P0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boTU9N/dJMcagcV9Lx/ZHfwkQtbc5Ew4FASehl7P0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboTU9N%2FdJMcagcV9Lx%2FZHfwkQtbc5Ew4FASehl7P0%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;400&quot; height=&quot;279&quot; data-filename=&quot;2025-12-05 12 17 24.png&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;279&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 퀘스트 완료 후 &quot;옛 도시의 지리지&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;h3 data-ke-size=&quot;size23&quot;&gt;운대산&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. &quot;옛 도시의 지리지&quot; 아이템을 소지한 채로 운대산 항구에 입항합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 운대산 항구 서쪽 끝에 마부가 있는데, 이 마부와 대화를 하면 옛 교역 도시와 연결된 길을 찾을 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-12-05 12 20 52.png&quot; data-origin-width=&quot;856&quot; data-origin-height=&quot;256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBbUyv/dJMcadNZcN7/37yl858MPFp5RGQ9rqpn8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBbUyv/dJMcadNZcN7/37yl858MPFp5RGQ9rqpn8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBbUyv/dJMcadNZcN7/37yl858MPFp5RGQ9rqpn8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBbUyv%2FdJMcadNZcN7%2F37yl858MPFp5RGQ9rqpn8k%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;856&quot; height=&quot;256&quot; data-filename=&quot;2025-12-05 12 20 52.png&quot; data-origin-width=&quot;856&quot; data-origin-height=&quot;256&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;서안&lt;/h3&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-filename=&quot;2025-12-05 12 27 03.png&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;258&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YOIx4/dJMcagjGZxP/dzNYHioSlkOgKICn5PXXpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YOIx4/dJMcagjGZxP/dzNYHioSlkOgKICn5PXXpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YOIx4/dJMcagjGZxP/dzNYHioSlkOgKICn5PXXpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYOIx4%2FdJMcagjGZxP%2FdzNYHioSlkOgKICn5PXXpK%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;649&quot; height=&quot;258&quot; data-filename=&quot;2025-12-05 12 27 03.png&quot; data-origin-width=&quot;649&quot; data-origin-height=&quot;258&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 이벤트를 진행하다 보면 1억 두캇이 필요합니다. 1억 두캇을 준비해서 이벤트를 진행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 캐러밴 중개인은 서안 광장에 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 캐러밴 중개인을 통해 캐러밴의 강화방침과 대장을 선택하고 중개비를 지불하면 캐러밴을 편성할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 강화방침을 변경할 경우에는 고용한 대장을 해고해야 하며 대장을 해고하면 새로운 대장을 고용할 때까지 캐러밴은 성장하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 캐러밴 정보는 배/함대 메뉴에서 확인할 수 있습니다. 캐러밴과의 친밀도가 올라가면 캐러밴의 능력과 낙타에 대해 보다 자세히 알 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-12-05 12 41 58.png&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DS2ED/dJMcagRwGXV/tbHg1EYz9OEkRhf2VouKj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DS2ED/dJMcagRwGXV/tbHg1EYz9OEkRhf2VouKj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DS2ED/dJMcagRwGXV/tbHg1EYz9OEkRhf2VouKj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDS2ED%2FdJMcagRwGXV%2FtbHg1EYz9OEkRhf2VouKj1%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;502&quot; height=&quot;284&quot; data-filename=&quot;2025-12-05 12 41 58.png&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;캐러밴 정보&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 캐러밴의 종합 능력&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;지구력: 대열에서 낙오하는 낙타의 수가 감소합니다.&lt;br /&gt;각력: 육로 이동 후, 다시 이동할 수 있게 되는 회복시간이 감소합니다.&lt;br /&gt;요령: 운반할 수 있는 교역품의 종류가 증가합니다.&lt;br /&gt;저력: 캐러밴의 각 능력이 빨리 성장합니다.&lt;br /&gt;친애: 낙타를 마련할 때 평소보다 많은 낙타를 입수할 수&amp;nbsp; 있습니다.&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;2. 낙타의 등급&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;캐러밴 편성후 일정한 항해일 수(120일)가 경화할 때마다 낙타를 입수하는 경우가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;캐러밴의 랭크에 맞는 상한 수까지 낙타를 소지할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;낙타가 늘어남에 따라 캐러밴의 종합적인 능력도 올라가며 종합 능력에 따라 입수한 낙타들은 1~6단계의 등급을 가집니다.&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 data-ke-size=&quot;size16&quot;&gt;항해일 수 10일이 넘으면 친밀도가 올라갑니다. 항해일 수가 10일이 넘지 않은 상태에서 입항하면 친밀도 상승에 계산되지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만, 육로 이동 시 낙타를 잃게 되면 친밀도는 내려갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;친밀도가 일정 이상(20 이상)이 되면 캐러밴의 종합능력 확인이 가능해집니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-12-05 12 55 23.png&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;291&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WTaZN/dJMcah3YmIC/4BTzKsF4yYfDk9btmSDQek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WTaZN/dJMcah3YmIC/4BTzKsF4yYfDk9btmSDQek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WTaZN/dJMcah3YmIC/4BTzKsF4yYfDk9btmSDQek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWTaZN%2FdJMcah3YmIC%2F4BTzKsF4yYfDk9btmSDQek%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;588&quot; height=&quot;291&quot; data-filename=&quot;2025-12-05 12 55 23.png&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;291&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;4. 캐러밴의 상세 능력&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;캐러밴 랭크: 초기 랭크는 1이며 강화를 통해 10까지 랭크업 가능합니다.&lt;/li&gt;
&lt;li&gt;친밀도: 항해일 수 10일이 될 때마다 1씩 상승합니다. 낙타를 잃으면 잃은 수에 따라 감소합니다.&lt;/li&gt;
&lt;li&gt;대장: 대장의 강화방침에 따라 캐러밴이 강화됩니다. 대장이 없으면 친밀도가 상승하지 않고 소지 낙타도 증가하지 않습니다. 또한 육로 이동도 불가능합니다.&lt;/li&gt;
&lt;li&gt;종합능력: 낙타가 증가하면 높아집니다.&lt;/li&gt;
&lt;li&gt;소지 교역품: 위가 교역품 수 / 이동 가능한 교역품 상한 이고, 아래가 교역품 종류 / 이동 가능한 교역품 종류 상한 입니다. 교역품 수의 상한은 캐러밴의 랭크가 상승할수록 증가합니다. 교역품 종류의 상한은 요령 능력치가 높을수록 증가합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 캐러밴의 강화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강화를 위해서는 낙타의 먹이인 사료와 보조 소재가 필요합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하루에 강화할 수 있는 제한: 5회&lt;/li&gt;
&lt;li&gt;각지의 은행원을 통해서 강화 가능&lt;/li&gt;
&lt;li&gt;랭크는 해산하지 않는 한 내려 가지 않음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-12-05 13 06 35.png&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;348&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdLtyy/dJMcaiBLwKE/yd59PEwpN2wZKnPZQfdoE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdLtyy/dJMcaiBLwKE/yd59PEwpN2wZKnPZQfdoE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdLtyy/dJMcaiBLwKE/yd59PEwpN2wZKnPZQfdoE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdLtyy%2FdJMcaiBLwKE%2Fyd59PEwpN2wZKnPZQfdoE1%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;348&quot; data-filename=&quot;2025-12-05 13 06 35.png&quot; data-origin-width=&quot;585&quot; data-origin-height=&quot;348&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;6. 육로 이동&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;캐러밴이 특정 랭크에 도달하고 일정 수 이상의 낙타를 소지하면 육로 이동이 가능해집니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;육로 이동은 캐러밴 중개인을 통해 할 수 있습니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;일정량의 두캇(약12만)과 회항 허가증이 필요합니다.&lt;/li&gt;
&lt;li&gt;한 번 이동한 후 일정 시간이 지나아 다시 육로 이동이 가능합니다.(각력)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>GAME/대항해시대</category>
      <category>Caravan</category>
      <category>낙타</category>
      <category>대항해시대</category>
      <category>동서교역편</category>
      <category>서안</category>
      <category>온라인</category>
      <category>캐러밴</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/459</guid>
      <comments>https://aacii.tistory.com/459#entry459comment</comments>
      <pubDate>Fri, 5 Dec 2025 13:13:13 +0900</pubDate>
    </item>
    <item>
      <title>윈도우11 python 3.x 개발 환경 설정</title>
      <link>https://aacii.tistory.com/458</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우11 에서 파이썬 애플리케이션을 개발하기 위한 설정입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 파이썬 다운로드 및 설치&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.python.org/downloads/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.python.org/downloads/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1764498095154&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Download Python&quot; data-og-description=&quot;The official home of the Python Programming Language&quot; data-og-host=&quot;www.python.org&quot; data-og-source-url=&quot;https://www.python.org/downloads/&quot; data-og-url=&quot;https://www.python.org/downloads/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/yc3Wv/hyZOOYRzVs/YJQJ6zXQI40EzNhSJ9MlgK/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://www.python.org/downloads/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.python.org/downloads/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/yc3Wv/hyZOOYRzVs/YJQJ6zXQI40EzNhSJ9MlgK/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Download Python&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The official home of the Python Programming Language&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.python.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 윈도우용 installer를 다운로드하고 설치하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스톨러 실행 시 첫 화면에서 반드시&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #f89009;&quot;&gt;&lt;b&gt;Add python.exe to PATH를&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 체크해야 합니다. 그래야 cmd에서 파이썬을 자동 실행 할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이후 Install Now를 클릭해서 설치를 완료합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설치 완료 후 cmd를 열고 아래 명령어로 파이썬 버전을 확인했을 때, 버전이 출력되면 정상 설치 된 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1764498285515&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;python --version&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. VS Code 설치 및 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://code.visualstudio.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1764499272169&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Visual Studio Code - The open source AI code editor&quot; data-og-description=&quot;Visual Studio Code redefines AI-powered coding with GitHub Copilot for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.&quot; data-og-host=&quot;code.visualstudio.com&quot; data-og-source-url=&quot;https://code.visualstudio.com/&quot; data-og-url=&quot;https://code.visualstudio.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/PHt1d/hyZOvmatvt/Rsy8s4KFLDUoM7nT2Mt9b1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/ctkGsu/hyZOUSa4hh/Ho8EgbiLsgIl7ghdWUM4fK/img.png?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256&quot;&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://code.visualstudio.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/PHt1d/hyZOvmatvt/Rsy8s4KFLDUoM7nT2Mt9b1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/ctkGsu/hyZOUSa4hh/Ho8EgbiLsgIl7ghdWUM4fK/img.png?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Visual Studio Code - The open source AI code editor&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Visual Studio Code redefines AI-powered coding with GitHub Copilot for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;code.visualstudio.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Download for Windows를 클릭해서 설치합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 설정 대로 설치 완료 후 VSCode를 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2-1. 파이썬 확장팩 설치&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. VS Code 왼쪽 메뉴바에서 Extentions를 클릭합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 검색 창에 Python을 입력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. Microsoft가 만든 Python 확장팩의 install 버튼을 눌러 설치합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 테스트 프로젝트 만들기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 윈도우 탐색기에 원하는 위치에 파이썬 프로젝트용 폴더를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. VS Code를 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 상단 메뉴에서 File &amp;gt; Open Folder를 선택하고 방금 생성한 폴더를 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 가상 환경 만들기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. VS Code의 상단 메뉴에서 Terminal &amp;gt; New Terminal를 클릭합니다. 그러면 아래 부분에 터미널 명령을 입력할 수 있게 창이 열립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 터미널에 아래 명령어를 입력해서 가상 환경을 생성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1764499641208&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;python -m venv venv&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;3. PowerShell 실행 정책 변경해서 파이썬 스크립트를 실행할 수 있는 권한을 부여해 줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1764499694637&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Set-ExecutionPolicy RemoteSigned -Scope CurrentUser&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;4. 터미널에 아래 명령을 입력해서 가상 환경 활성화를 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1764499771676&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;.\venv\Scripts\activate&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4-1. GUI 애플리케이션 개발용 라이브러리 설치&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널에서 venv가 떠있는 상태에서 아래 명령어를 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1764500955528&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip install pynput pyinstaller tk&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 테스트 파이썬 파일 생성 및 실행&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. VS Code의 File &amp;gt; New File 후 test.py을 입력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 소스 편집 화면에서 아래 내용을 입력하고 저장합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1764499916167&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;print(&quot;Hello World&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;3. 오른쪽 상단 Run 버튼을 누르거나 터미널에서 아래 명령어를 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1764499971843&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;python test.py&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;이제 터미널 화면에 Hello World가 출력되면 정상입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. GUI용 애플리케이션 빌드&lt;/h3&gt;
&lt;pre id=&quot;code_1764501131509&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pyinstaller --onefile --noconsole --name=&quot;MyTestGUI&quot; test_gui.py&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--onefile 옵션은 exe 파일 1개로 패키징해서 빌드 하라는 의미입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--noconsole 옵션은 GUI 애플리케이션을 실행할 때 콘솔창(터미널)을 띄우지 말라는 의미입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;--name 옵션은 빌드후 실행할 exe 파일의 이름을 지정해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 test_gui.py는 실제 코딩한 GUI용 애플리케이션 소스 코드 파일을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Python</category>
      <category>Python</category>
      <category>개발 환경</category>
      <category>설정</category>
      <category>윈도우</category>
      <category>파이썬</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/458</guid>
      <comments>https://aacii.tistory.com/458#entry458comment</comments>
      <pubDate>Sun, 30 Nov 2025 19:54:22 +0900</pubDate>
    </item>
    <item>
      <title>spring mvc / jsp  페이징 처리</title>
      <link>https://aacii.tistory.com/335</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 limit 기능이 존재하는 DBMS를 대상으로 페이징 처리를 다룹니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring MVC 패턴으로 lombok과 mybatis를 이용한다고 가정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;LIMIT&lt;/h3&gt;
&lt;pre id=&quot;code_1762417803338&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT * FROM 테이블이름 ORDER BY tno DESC LIMIT 0, 10; -- 0개 건너 뛰고 10개 표시: 즉 1 page 보기
SELECT * FROM 테이블이름 ORDER BY tno DESC LIMIT 10, 10; -- 10개 건너 뛰고 10개 표시:즉 2 page 보기
SELECT * FROM 테이블이름 ORDER BY tno DESC LIMIT 20, 10; -- 20개 건너 뛰고 10개 표시:즉 3 page 보기&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;limit 건너뛰어야할게시물수, 가져와야할게시물수.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 해당 페이지를 가져오도록 되어있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;건너뛰어야할 게시물 수에는 수식을 넣을 수 없고 숫자만 넣어야 해서 프로그래밍 언어에서 숫자를 잘 조작해서 SQL을 실행할 때 숫자로 넣어줘야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;PageRequestDTO&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;페이징 처리용 DTO 객체를 만들어 둡니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762419347242&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageRequestDTO {
    @Builder.Default
    private int page = 1;   //페이지 번호

    @Builder.Default
    private int size = 10;  //한 페이당 보여주는 게시물 개수
    
    private String link;

	//건너뛰는 게시물 수
    public int getSkip(){
        return (page - 1) * 10;
    }
    
    public String getLink(){
        if(link == null){
            StringBuffer sb = new StringBuffer();
            sb.append(&quot;page=&quot;).append(this.page);
            sb.append(&quot;&amp;amp;size=&quot;).append(this.size);
            link = sb.toString();
        }
        return link;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Mapper interface&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mybatis와 연결할 매퍼 인터페이스를 만듭니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762419661071&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public interface SampleMapper {
    //SQL들은 .xml 파일에 정의하고 mapper 인터페이스를 xml 파일의 네임스페이스로 연결 필요.
    List&amp;lt;sampleVO&amp;gt; selectList(PageRequestDTO pageRequestDTO);	//DB에서 가져온 데이터는 sampleVO에 담는다고 가정
    int getCount(PageRequestDTO pageRequestDTO); //게시물 총 개수
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;PageMapper.xml&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용할 SQL문들을 xml 파일에 등록합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762419789977&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;    &amp;lt;select id=&quot;selectList&quot; resultType=&quot;net.aacii.spring.domain.TodoVO&quot;&amp;gt;
        SELECT * FROM 테이블이름 ORDER BY tno DESC LIMIT #{skip}, #{size}
    &amp;lt;/select&amp;gt;
    &amp;lt;select id=&quot;getCount&quot; resultType=&quot;int&quot;&amp;gt;
        SELECT count(tno) FROM 테이블이름
    &amp;lt;/select&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;PageResponseDTO&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sampleDTO 의 목록, 전체 데이터의 수, 페이지 처리를 위한 데이터들(시작 페이지 번호, 끝 페이지 번호)로 구성된 DTO를 만듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 페이지 번호(page)와 페이지당 데이터의 수(size)를 이용해서 화면상의 페이지 번호를 구해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 PageResponseDTO는 생성자를 통해 필요한 page나 size 등을 전달 받아야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762422750210&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Getter
@ToString
public class PageResponseDTO&amp;lt;E&amp;gt; {
    private int page;
    private int size;
    private int total;
    private int start; //시작 페이지 번호
    private int end; //끝 페이지 번호
    private boolean prev; //이전 페이지의 존재 여부
    private boolean next; //다음 페이지의 존재 여부
    private List&amp;lt;E&amp;gt; dtoList; //데이터 리스트

    //생성자
    @Builder(builderMethodName = &quot;withAll&quot;)
    public PageResponseDTO(PageRequestDTO pageRequestDTO, int total, List&amp;lt;E&amp;gt; dtoList){
        this.page = pageRequestDTO.getPage();
        this.size = pageRequestDTO.getSize();
        this.total = total;
        this.dtoList = dtoList;
        this.end = (int)(Math.ceil(this.page / 10.0)) * 10;
        this.start = this.end - 9;
        int last = (int)(Math.ceil((total / (double)size)));
        this.end = Math.min(end, last);
        this.prev = this.page &amp;gt; 1;
        this.next = total &amp;gt; this.end * this.size;
    }
}&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;마지막 페이지(end)를 먼저 구해야 시작 페이지(start)를 구하기 쉬워집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 페이지 계산&lt;/p&gt;
&lt;pre id=&quot;code_1762423018227&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;this.end = (int)(Math.ceil(this.page / 10.0)) * 10;&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;/p&gt;
&lt;pre id=&quot;code_1762423052268&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;this.start = this.end -9;&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;마지막 페이지의 경우 전체 개수(total)를 고려해야합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 10개씩 보여주는 경우 전체 개수가 72라면 마지막 페이지는 8 이어야 하기 때문입니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1762423265874&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;int last = (int)(Math.ceil((total/(doble)size)));&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;마지막 페이지(end)는 last 값 보다 작은경우 last 값이 end가 되어야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762423345759&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;this.end = end &amp;gt; last ? last : end;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1페이지를 제외하고 무조건 이전 페이지는 true 이어야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 페이지(end)와 페이지당 개수(size)를 곱한 값보다 전체 개수(total)가 많은지 검사해봐야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762423558880&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;this.prev = this.start &amp;gt; 1;
this.next = total &amp;gt; this.end * this.size;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Service 인터페이스&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PageRequestDTO를 매개변수로 받아서 DB에서 가져온 데이터를 SampleDTO(게시물DTO)로 되어진 리스트를 만들어서 PageResponseDTO 데이터 타입으로 리턴해주는 인터페이스를 작성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762429039793&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public interface SampleService {
    PageResponseDTO&amp;lt;SampleDTO&amp;gt; getList(PageRequestDTO pageRequestDTO);

}&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;Service 인터페이스 구현체&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SampleDTO와 SampleVO는 테이블 구조에 따라 달라지니 생략합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762429239578&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Service
@Log4j2
@RequiredArgsConstructor
public class SampleServiceImpl implements SampleService{
    private final SampleMapper sampleMapper;       
    private final ModelMapper modelMapper;   //모델매퍼 설정은 따로 언급

    @Override
    public PageResponseDTO&amp;lt;SampleDTO&amp;gt; getList(PageRequestDTO pageRequestDTO) {
        //request로 받은 DTO를 이용해서 DB에서 가져온 VO들을 list에 담음
        List&amp;lt;SampleVO&amp;gt; voList = todoMapper.selectList(pageRequestDTO);
        //VO 리스트의 스트림을 얻어서 모델 매퍼로 DTO로 변환한 뒤 이 DTO들을 다시 리스트에 담음
        List&amp;lt;SampleDTO&amp;gt; dtoList = voList.stream()
                .map(vo-&amp;gt;modelMapper.map(vo, SampleDTO.class))
                .collect(Collectors.toList());

        //총 개시물 개수 구하기
        int total = todoMapper.getCount(pageRequestDTO);

        //페이징된 결과를 response에 맞는 데이터로 가공하기 위해서 
        //PageResponseDTO의 생성자를 통해 데이터를 설정해야하는데,
        //그 과정에서 필요한 데이터들은 위에서 구한 값로 세팅해서 빌드한뒤 리턴
        PageResponseDTO&amp;lt;TodoDTO&amp;gt; pageResponseDTO = PageResponseDTO.&amp;lt;SampleDTO&amp;gt;withAll()
                .dtoList(dtoList)
                .total(total)
                .pageRequestDTO(pageRequestDTO)
                .build();
        return pageResponseDTO;
    }&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;/p&gt;
&lt;pre id=&quot;code_1762429363788&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import org.modelmapper.ModelMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ModelMapperConfig {
    @Bean
    public ModelMapper getMapper() {
        ModelMapper mapper = new ModelMapper();
        mapper.getConfiguration()
                .setFieldMatchingEnabled(true)
                .setFieldAccessLevel(org.modelmapper.config.Configuration.AccessLevel.PRIVATE)
                .setMatchingStrategy(org.modelmapper.convention.MatchingStrategies.STRICT);
        return mapper;
    }
}&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;root-context.xml에도 위 모델 매퍼 설정을 bean 객체로 스캔하기 위해 패키지 경로를 등록 해줘야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762429525621&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	&amp;lt;!-- 모델 매퍼 설정 스프링 bean 스캔 경로 지정 --&amp;gt;
    &amp;lt;context:component-scan base-package=&quot;ModelMapperConfig클래스의패키지경로&quot;/&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;JSP 화면&lt;/h3&gt;
&lt;pre id=&quot;code_1762473604677&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page contentType=&quot;text/html;charset=UTF-8&quot; language=&quot;java&quot; %&amp;gt;
&amp;lt;%@ taglib prefix=&quot;c&quot; uri=&quot;http://java.sun.com/jsp/jstl/core&quot; %&amp;gt;
&amp;lt;!-- 생략... BootStrap 5를 사용한다고 가정--&amp;gt;

                    &amp;lt;div class=&quot;float-end&quot;&amp;gt;
                        &amp;lt;ul class=&quot;pagination flex-wrap&quot;&amp;gt;
                            &amp;lt;c:if test=&quot;${responseDTO.prev}&quot;&amp;gt;
                                &amp;lt;li class=&quot;page-item&quot;&amp;gt;
                                    &amp;lt;a class=&quot;page-link&quot; data-num=&quot;${responseDTO.start -1}&quot;&amp;gt;Prev&amp;lt;/a&amp;gt;
                                &amp;lt;/li&amp;gt;
                            &amp;lt;/c:if&amp;gt;
                            &amp;lt;c:forEach begin=&quot;${responseDTO.start}&quot; end=&quot;${responseDTO.end}&quot; var=&quot;num&quot;&amp;gt;
                                &amp;lt;li class=&quot;page-item ${responseDTO.page == num ? &quot;active&quot; : &quot;&quot;} &quot;&amp;gt;
                                    &amp;lt;a class=&quot;page-link&quot; data-num=&quot;${num}&quot;&amp;gt;${num}&amp;lt;/a&amp;gt;
                                &amp;lt;/li&amp;gt;
                            &amp;lt;/c:forEach&amp;gt;
                            &amp;lt;c:if test=&quot;${responseDTO.next}&quot;&amp;gt;
                                &amp;lt;li class=&quot;page-item&quot;&amp;gt;
                                    &amp;lt;a class=&quot;page-link&quot; data-num=&quot;${responseDTO.end + 1}&quot;&amp;gt;Next&amp;lt;/a&amp;gt;
                                &amp;lt;/li&amp;gt;
                            &amp;lt;/c:if&amp;gt;
                        &amp;lt;/ul&amp;gt;
                        &amp;lt;script&amp;gt;
                            document.querySelector(&quot;.pagination&quot;).addEventListener(&quot;click&quot;, function(e){
                                e.preventDefault();
                                e.stopPropagation();
                                const target = e.target
                                if(target.tagName !== 'A'){
                                    return;
                                }
                                const num = target.getAttribute(&quot;data-num&quot;)
                                self.location = `/todo/list?page=\${num}` //backtic(`): 작은 따옴표 아님 주의
                            }, false);
                        &amp;lt;/script&amp;gt;
                    &amp;lt;/div&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&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>DEV&amp;amp;OPS/Java</category>
      <category>Java</category>
      <category>jsp</category>
      <category>MVC</category>
      <category>PAGING</category>
      <category>SERVLET</category>
      <category>spring</category>
      <category>공식</category>
      <category>페이지</category>
      <category>페이징</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/335</guid>
      <comments>https://aacii.tistory.com/335#entry335comment</comments>
      <pubDate>Fri, 7 Nov 2025 09:19:10 +0900</pubDate>
    </item>
    <item>
      <title>은하영웅전설4 EX(도스판) 에디터 코드 표</title>
      <link>https://aacii.tistory.com/457</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot; data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;인물번호&amp;quot;}&quot;&gt;&lt;b&gt;인물번호&lt;/b&gt;&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;인물이름&amp;quot;}&quot;&gt;&lt;b&gt;인물이름&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;0&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아이제나흐     &amp;quot;}&quot;&gt;아이제나흐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;1&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아이헨돌프     &amp;quot;}&quot;&gt;아이헨돌프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;2&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;암츠돌프       &amp;quot;}&quot;&gt;암츠돌프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;3&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;알트링겐       &amp;quot;}&quot;&gt;알트링겐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;4&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;안스바흐&amp;quot;}&quot;&gt;안스바흐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;5&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;버겐자일        &amp;quot;}&quot;&gt;버겐자일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;6&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;베라              &amp;quot;}&quot;&gt;베라&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;7&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에렌베르크     &amp;quot;}&quot;&gt;에렌베르크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;8&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에르라흐       &amp;quot;}&quot;&gt;에르라흐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;9&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;오이겐&amp;quot;}&quot;&gt;오이겐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;10&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;오벨슈타인     &amp;quot;}&quot;&gt;오벨슈타인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;11&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;오프레서       &amp;quot;}&quot;&gt;오프레서&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;12&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;올라우           &amp;quot;}&quot;&gt;올라우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;13&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;칼나프          &amp;quot;}&quot;&gt;칼나프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;14&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;키슬링&amp;quot;}&quot;&gt;키슬링&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;15&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;키르히아이스   &amp;quot;}&quot;&gt;키르히아이스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;16&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크냅슈타인  &amp;quot;}&quot;&gt;크냅슈타인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;17&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;구텐존           &amp;quot;}&quot;&gt;구텐존&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;18&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크라젠          &amp;quot;}&quot;&gt;크라젠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;19&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크라프&amp;quot;}&quot;&gt;크라프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;20&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;그리스           &amp;quot;}&quot;&gt;그리스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;21&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크리히           &amp;quot;}&quot;&gt;크리히&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;22&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;그뤼네만       &amp;quot;}&quot;&gt;그뤼네만&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;23&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;그릴팔처       &amp;quot;}&quot;&gt;그릴팔처&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;24&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크루젠슈테른&amp;quot;}&quot;&gt;크루젠슈테른&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;25&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;그래저           &amp;quot;}&quot;&gt;그래저&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;26&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;그뢰브너        &amp;quot;}&quot;&gt;그뢰브너&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;27&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;그로테볼       &amp;quot;}&quot;&gt;그로테볼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;28&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;케슬러         &amp;quot;}&quot;&gt;케슬러&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;29&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;켐프&amp;quot;}&quot;&gt;켐프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;30&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;자우켄           &amp;quot;}&quot;&gt;자우켄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;31&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;잔데르즈        &amp;quot;}&quot;&gt;잔데르즈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;32&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샤우덴          &amp;quot;}&quot;&gt;샤우덴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;33&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샤프트          &amp;quot;}&quot;&gt;샤프트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;34&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈타인호프&amp;quot;}&quot;&gt;슈타인호프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;35&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈타인메츠 &amp;quot;}&quot;&gt;슈타인메츠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;36&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈타덴           &amp;quot;}&quot;&gt;슈타덴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;37&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈토크하우젠   &amp;quot;}&quot;&gt;슈토크하우젠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;38&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈트라이트     &amp;quot;}&quot;&gt;슈트라이트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;39&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈나이더&amp;quot;}&quot;&gt;슈나이더&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;40&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈마허 &amp;quot;}&quot;&gt;슈마허&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;41&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈무데          &amp;quot;}&quot;&gt;슈무데&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;42&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;쉬러              &amp;quot;}&quot;&gt;쉬러&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;43&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;진쳐             &amp;quot;}&quot;&gt;진쳐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;44&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제크트&amp;quot;}&quot;&gt;제크트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;45&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;세르벨           &amp;quot;}&quot;&gt;세르벨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;46&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;존넨페르스    &amp;quot;}&quot;&gt;존넨페르스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;47&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;좀바르트       &amp;quot;}&quot;&gt;좀바르트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;48&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;딕켈             &amp;quot;}&quot;&gt;딕켈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;49&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;디터스돌프&amp;quot;}&quot;&gt;디터스돌프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;50&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;디르센           &amp;quot;}&quot;&gt;디르센&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;51&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;투르나이젠     &amp;quot;}&quot;&gt;투르나이젠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;52&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;드레벤츠       &amp;quot;}&quot;&gt;드레벤츠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;53&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;드로이젠       &amp;quot;}&quot;&gt;드로이젠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;54&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;나이세바흐&amp;quot;}&quot;&gt;나이세바흐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;55&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;노르드하임     &amp;quot;}&quot;&gt;노르드하임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;56&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바이엘라인     &amp;quot;}&quot;&gt;바이엘라인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;57&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;하우흐         &amp;quot;}&quot;&gt;하우흐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;58&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;하우프트만     &amp;quot;}&quot;&gt;하우프트만&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;59&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파트리켄&amp;quot;}&quot;&gt;파트리켄&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;60&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바르트하우저  &amp;quot;}&quot;&gt;바르트하우저&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;61&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;하르바슈타트   &amp;quot;}&quot;&gt;하르바슈타트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;62&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;비텐펠트       &amp;quot;}&quot;&gt;비텐펠트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;63&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뷔로           &amp;quot;}&quot;&gt;뷔로&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;64&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;힐데스하임&amp;quot;}&quot;&gt;힐데스하임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;65&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파렌하이트     &amp;quot;}&quot;&gt;파렌하이트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;66&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;페르너            &amp;quot;}&quot;&gt;페르너&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;67&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포겔            &amp;quot;}&quot;&gt;포겔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;68&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;북스테휘트     &amp;quot;}&quot;&gt;북스테휘트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;69&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;푸세네거&amp;quot;}&quot;&gt;푸세네거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;70&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브라우히츠     &amp;quot;}&quot;&gt;브라우히츠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;71&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브라운슈바이크 &amp;quot;}&quot;&gt;브라운슈바이크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;72&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브르다흐       &amp;quot;}&quot;&gt;브르다흐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;73&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;프레겔         &amp;quot;}&quot;&gt;프레겔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;74&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브렌타노&amp;quot;}&quot;&gt;브렌타노&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;75&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;베르겐그륀     &amp;quot;}&quot;&gt;베르겐그륀&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;76&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;호프마이스터   &amp;quot;}&quot;&gt;호프마이스터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;77&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;홀츠바우어     &amp;quot;}&quot;&gt;홀츠바우어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;78&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마이포흐       &amp;quot;}&quot;&gt;마이포흐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;79&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마린돌프&amp;quot;}&quot;&gt;마린돌프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;80&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;미터마이어     &amp;quot;}&quot;&gt;미터마이어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;81&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라인하르트      &amp;quot;}&quot;&gt;라인하르트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;82&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뮤켄베르가     &amp;quot;}&quot;&gt;뮤켄베르가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;83&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뮐러           &amp;quot;}&quot;&gt;뮐러&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;84&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;메크링거&amp;quot;}&quot;&gt;메크링거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;85&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;메르카츠        &amp;quot;}&quot;&gt;메르카츠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;86&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;모르트             &amp;quot;}&quot;&gt;모르트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;87&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라이블           &amp;quot;}&quot;&gt;라이블&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;88&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;란즈베르크     &amp;quot;}&quot;&gt;란즈베르크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;89&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리텐하임&amp;quot;}&quot;&gt;리텐하임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;90&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리히텐라데     &amp;quot;}&quot;&gt;리히텐라데&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;91&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뤼케               &amp;quot;}&quot;&gt;뤼케&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;92&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;루츠              &amp;quot;}&quot;&gt;루츠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;93&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;루비치           &amp;quot;}&quot;&gt;루비치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;94&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;레켄돌프&amp;quot;}&quot;&gt;레켄돌프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;95&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;레폴트           &amp;quot;}&quot;&gt;레폴트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;96&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;레믈러            &amp;quot;}&quot;&gt;레믈러&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;97&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;렌넨칸프       &amp;quot;}&quot;&gt;렌넨칸프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;98&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;로이엔탈         &amp;quot;}&quot;&gt;로이엔탈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;99&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;봐렌&amp;quot;}&quot;&gt;봐렌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;100&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아텐보로       &amp;quot;}&quot;&gt;아텐보로&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;101&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;애플턴            &amp;quot;}&quot;&gt;애플턴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;102&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아랄콘         &amp;quot;}&quot;&gt;아랄콘&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;103&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;알.살렘           &amp;quot;}&quot;&gt;알.살렘&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;104&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;발리먼트&amp;quot;}&quot;&gt;발리먼트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;105&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;비올라          &amp;quot;}&quot;&gt;비올라&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;106&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;우란프            &amp;quot;}&quot;&gt;우란프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;107&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에벤즈         &amp;quot;}&quot;&gt;에벤즈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;108&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에다             &amp;quot;}&quot;&gt;에다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;109&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에만슨&amp;quot;}&quot;&gt;에만슨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;110&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;칼센              &amp;quot;}&quot;&gt;칼센&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;111&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카젤느           &amp;quot;}&quot;&gt;카젤느&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;112&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;구엔             &amp;quot;}&quot;&gt;구엔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;113&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;쿠브리슬리       &amp;quot;}&quot;&gt;쿠브리슬리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;114&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;D.그린힐&amp;quot;}&quot;&gt;D.그린힐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;115&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크리스티안     &amp;quot;}&quot;&gt;크리스티안&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;116&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;코크랜           &amp;quot;}&quot;&gt;코크랜&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;117&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;코날리         &amp;quot;}&quot;&gt;코날리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;118&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;코네프         &amp;quot;}&quot;&gt;코네프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;119&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;이반.코네프&amp;quot;}&quot;&gt;이반.코네프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;120&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;콜드웰           &amp;quot;}&quot;&gt;콜드웰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;121&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;자니얼           &amp;quot;}&quot;&gt;자니얼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;122&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;쉔코프         &amp;quot;}&quot;&gt;쉔코프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;123&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;시틀레           &amp;quot;}&quot;&gt;시틀레&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;124&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샤르티안&amp;quot;}&quot;&gt;샤르티안&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;125&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;술즈콰리터     &amp;quot;}&quot;&gt;술즈콰리터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;126&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;스토크스          &amp;quot;}&quot;&gt;스토크스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;127&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;첸             &amp;quot;}&quot;&gt;첸&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;128&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;춘               &amp;quot;}&quot;&gt;춘&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;129&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;도손&amp;quot;}&quot;&gt;도손&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;130&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;토다              &amp;quot;}&quot;&gt;토다&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;131&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;닐슨              &amp;quot;}&quot;&gt;닐슨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;132&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파에타         &amp;quot;}&quot;&gt;파에타&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;133&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바그다쉬         &amp;quot;}&quot;&gt;바그다쉬&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;134&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파스톨&amp;quot;}&quot;&gt;파스톨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;135&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파트리체프     &amp;quot;}&quot;&gt;파트리체프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;136&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뷰코크           &amp;quot;}&quot;&gt;뷰코크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;137&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;비로라이넨     &amp;quot;}&quot;&gt;비로라이넨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;138&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파이펠         &amp;quot;}&quot;&gt;파이펠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;139&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;피셔&amp;quot;}&quot;&gt;피셔&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;140&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;필즈              &amp;quot;}&quot;&gt;필즈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;141&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포크              &amp;quot;}&quot;&gt;포크&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;142&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브러드죠       &amp;quot;}&quot;&gt;브러드죠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;143&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브룸하르트     &amp;quot;}&quot;&gt;브룸하르트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;144&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;F.그린힐&amp;quot;}&quot;&gt;F.그린힐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;145&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브론즈           &amp;quot;}&quot;&gt;브론즈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;146&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;베이               &amp;quot;}&quot;&gt;베이&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;147&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;호우드         &amp;quot;}&quot;&gt;호우드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;148&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포플런         &amp;quot;}&quot;&gt;포플런&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;149&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;보로딘&amp;quot;}&quot;&gt;보로딘&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;150&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마쉰고           &amp;quot;}&quot;&gt;마쉰고&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;151&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마리네티        &amp;quot;}&quot;&gt;마리네티&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;152&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마리노         &amp;quot;}&quot;&gt;마리노&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;153&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;무어            &amp;quot;}&quot;&gt;무어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;154&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;무라이&amp;quot;}&quot;&gt;무라이&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;155&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;모톤               &amp;quot;}&quot;&gt;모톤&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;156&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;얀.웬리           &amp;quot;}&quot;&gt;얀.웬리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;157&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;민츠            &amp;quot;}&quot;&gt;민츠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;158&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라오           &amp;quot;}&quot;&gt;라오&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;159&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;로벨.러프&amp;quot;}&quot;&gt;로벨.러프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;160&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;린츠&amp;quot;}&quot;&gt;린츠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;161&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;루그랑쥐       &amp;quot;}&quot;&gt;루그랑쥐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;162&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;루페브르        &amp;quot;}&quot;&gt;루페브르&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;163&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;로크웰         &amp;quot;}&quot;&gt;로크웰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;164&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;로보스&amp;quot;}&quot;&gt;로보스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;165&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;트류니히트     &amp;quot;}&quot;&gt;트류니히트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;166&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;윗티           &amp;quot;}&quot;&gt;윗티&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;167&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈트라우스       &amp;quot;}&quot;&gt;슈트라우스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;168&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;자므            &amp;quot;}&quot;&gt;자므&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;169&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;캄브버&amp;quot;}&quot;&gt;캄브버&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;170&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈라이어         &amp;quot;}&quot;&gt;슈라이어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;171&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뷰젠휘터       &amp;quot;}&quot;&gt;뷰젠휘터&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;172&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크라이버       &amp;quot;}&quot;&gt;크라이버&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;173&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라첼            &amp;quot;}&quot;&gt;라첼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;174&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;린저&amp;quot;}&quot;&gt;린저&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;175&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바운스고르   &amp;quot;}&quot;&gt;바운스고르&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;176&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마스커니       &amp;quot;}&quot;&gt;마스커니&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;177&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;테슈            &amp;quot;}&quot;&gt;테슈&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;178&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;자와프           &amp;quot;}&quot;&gt;자와프&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;179&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;애슈르&amp;quot;}&quot;&gt;애슈르&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;180&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크로이첼&amp;quot;}&quot;&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;예를 들어 얀 웬리는 156 입니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고로 이젤론 요새 코드 번호는 11 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에디터 사용할 때 참고해 주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실... 위 두 코드만 알면된다는 것이 함정.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도스박스로 실행할 때 전투 시 속도가 느리다면? &lt;span style=&quot;background-color: #ffffff;&quot;&gt;ctrl + 12 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;으로 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;만정도로 CPU 사이클을 올려주면 빨라집니다.&amp;nbsp;&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;2025-11-06 16 49 03.png&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;820&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PUQoC/dJMcacuEyOA/L7sKR4NtIJKeOD2ZTOKCY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PUQoC/dJMcacuEyOA/L7sKR4NtIJKeOD2ZTOKCY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PUQoC/dJMcacuEyOA/L7sKR4NtIJKeOD2ZTOKCY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPUQoC%2FdJMcacuEyOA%2FL7sKR4NtIJKeOD2ZTOKCY1%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;1026&quot; height=&quot;820&quot; data-filename=&quot;2025-11-06 16 49 03.png&quot; data-origin-width=&quot;1026&quot; data-origin-height=&quot;820&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;/p&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 height=&quot;18&quot; data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;혹성번호&amp;quot;}&quot;&gt;&lt;b&gt;혹성번호&lt;/b&gt;&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;혹성이름&amp;quot;}&quot;&gt;&lt;b&gt;혹성이름&lt;/b&gt;&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;존재성계&amp;quot;}&quot;&gt;&lt;b&gt;존재성계&lt;/b&gt;&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;소속&amp;quot;}&quot;&gt;&lt;b&gt;소속&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;0&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;오딘&amp;quot;}&quot;&gt;오딘&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;발하라&amp;quot;}&quot;&gt;발하라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;1&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아스가르즈&amp;quot;}&quot;&gt;아스가르즈&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;발하라&amp;quot;}&quot;&gt;발하라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;2&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;유그드라실&amp;quot;}&quot;&gt;유그드라실&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;발하라&amp;quot;}&quot;&gt;발하라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;3&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;다룸슈타트&amp;quot;}&quot;&gt;다룸슈타트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아이젠후트&amp;quot;}&quot;&gt;아이젠후트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;4&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;베스트파리아&amp;quot;}&quot;&gt;베스트파리아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아이젠헤르츠&amp;quot;}&quot;&gt;아이젠헤르츠&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;5&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;디사우&amp;quot;}&quot;&gt;디사우&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아이젠헤르츠&amp;quot;}&quot;&gt;아이젠헤르츠&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;6&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;클라잉켈트&amp;quot;}&quot;&gt;클라잉켈트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;암리처&amp;quot;}&quot;&gt;암리처&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;7&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;모르겐&amp;quot;}&quot;&gt;모르겐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;암리처&amp;quot;}&quot;&gt;암리처&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;8&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;니플헤임&amp;quot;}&quot;&gt;니플헤임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;프레이아&amp;quot;}&quot;&gt;프레이아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;9&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;렌텐베르크&amp;quot;}&quot;&gt;렌텐베르크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;프레이아&amp;quot;}&quot;&gt;프레이아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;10&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바텐도라흐&amp;quot;}&quot;&gt;바텐도라흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;알멘트푸벨&amp;quot;}&quot;&gt;알멘트푸벨&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;11&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;이젤론&amp;quot;}&quot;&gt;이젤론&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;이젤론&amp;quot;}&quot;&gt;이젤론&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;12&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브렌하임&amp;quot;}&quot;&gt;브렌하임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바르텐베르크&amp;quot;}&quot;&gt;바르텐베르크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;13&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카르슈타트&amp;quot;}&quot;&gt;카르슈타트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바르텐베르크&amp;quot;}&quot;&gt;바르텐베르크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;14&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;레오폴트슈타트&amp;quot;}&quot;&gt;레오폴트슈타트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;빌렌슈타인&amp;quot;}&quot;&gt;빌렌슈타인&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;15&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;그라츠&amp;quot;}&quot;&gt;그라츠&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;빌렌슈타인&amp;quot;}&quot;&gt;빌렌슈타인&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;16&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;자크스코프르크&amp;quot;}&quot;&gt;자크스코프르크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에크하르트&amp;quot;}&quot;&gt;에크하르트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;17&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;케니히그라흐&amp;quot;}&quot;&gt;케니히그라흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카스트로프&amp;quot;}&quot;&gt;카스트로프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;18&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;스루즈헤임&amp;quot;}&quot;&gt;스루즈헤임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;키포이저&amp;quot;}&quot;&gt;키포이저&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;19&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;갸라호른&amp;quot;}&quot;&gt;갸라호른&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;키포이저&amp;quot;}&quot;&gt;키포이저&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;20&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;가르미슈&amp;quot;}&quot;&gt;가르미슈&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;키포이저&amp;quot;}&quot;&gt;키포이저&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;21&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;폰트노이&amp;quot;}&quot;&gt;폰트노이&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샨타우&amp;quot;}&quot;&gt;샨타우&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;22&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;크네스도르프&amp;quot;}&quot;&gt;크네스도르프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샨타우&amp;quot;}&quot;&gt;샨타우&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;23&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에스링그&amp;quot;}&quot;&gt;에스링그&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샨타우&amp;quot;}&quot;&gt;샨타우&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;24&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈바르츠브르크&amp;quot;}&quot;&gt;슈바르츠브르크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샤헨&amp;quot;}&quot;&gt;샤헨&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;25&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;호포키르히&amp;quot;}&quot;&gt;호포키르히&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;트라바흐&amp;quot;}&quot;&gt;트라바흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;26&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;비텐베르크&amp;quot;}&quot;&gt;비텐베르크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;트라바흐&amp;quot;}&quot;&gt;트라바흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;27&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;자르펜트&amp;quot;}&quot;&gt;자르펜트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;하안&amp;quot;}&quot;&gt;하안&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;28&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뤼겐&amp;quot;}&quot;&gt;뤼겐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포르겐&amp;quot;}&quot;&gt;포르겐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;29&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;비르로스트&amp;quot;}&quot;&gt;비르로스트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;보덴&amp;quot;}&quot;&gt;보덴&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;30&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;야반하르&amp;quot;}&quot;&gt;야반하르&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포르겐&amp;quot;}&quot;&gt;포르겐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;31&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;톤도르프&amp;quot;}&quot;&gt;톤도르프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브라운슈베크&amp;quot;}&quot;&gt;브라운슈베크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;32&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;베스타란트&amp;quot;}&quot;&gt;베스타란트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브라운슈베크&amp;quot;}&quot;&gt;브라운슈베크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;33&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;가이에스브르크&amp;quot;}&quot;&gt;가이에스브르크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;알테너&amp;quot;}&quot;&gt;알테너&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;34&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;헷세카셀&amp;quot;}&quot;&gt;헷세카셀&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;알테너&amp;quot;}&quot;&gt;알테너&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;35&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아르비스&amp;quot;}&quot;&gt;아르비스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;보덴&amp;quot;}&quot;&gt;보덴&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;36&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;반스테이드&amp;quot;}&quot;&gt;반스테이드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포르겐&amp;quot;}&quot;&gt;포르겐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;37&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;보르소른&amp;quot;}&quot;&gt;보르소른&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;보덴&amp;quot;}&quot;&gt;보덴&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;38&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;테레젠슈타트&amp;quot;}&quot;&gt;테레젠슈타트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마린도르프&amp;quot;}&quot;&gt;마린도르프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;39&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;민덴&amp;quot;}&quot;&gt;민덴&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마르바흐&amp;quot;}&quot;&gt;마르바흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;40&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;로스바흐&amp;quot;}&quot;&gt;로스바흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;요툰하임&amp;quot;}&quot;&gt;요툰하임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;41&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;퀴스트린&amp;quot;}&quot;&gt;퀴스트린&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리텐하임&amp;quot;}&quot;&gt;리텐하임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;42&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에크뮐&amp;quot;}&quot;&gt;에크뮐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리텐하임&amp;quot;}&quot;&gt;리텐하임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;43&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에르힌겐&amp;quot;}&quot;&gt;에르힌겐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리히텐라데&amp;quot;}&quot;&gt;리히텐라데&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;44&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;페잔&amp;quot;}&quot;&gt;페잔&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;페잔&amp;quot;}&quot;&gt;페잔&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;중립&amp;quot;}&quot;&gt;중립&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;45&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아트라하시스&amp;quot;}&quot;&gt;아트라하시스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아스타테&amp;quot;}&quot;&gt;아스타테&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;46&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아스페륀&amp;quot;}&quot;&gt;아스페륀&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아스타테&amp;quot;}&quot;&gt;아스타테&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;47&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;우가리트&amp;quot;}&quot;&gt;우가리트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아스타테&amp;quot;}&quot;&gt;아스타테&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;48&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;탄므즈&amp;quot;}&quot;&gt;탄므즈&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아레스하임&amp;quot;}&quot;&gt;아레스하임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;49&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카토르브러&amp;quot;}&quot;&gt;카토르브러&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;밴플리트&amp;quot;}&quot;&gt;밴플리트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;50&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;알에리스&amp;quot;}&quot;&gt;알에리스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샨다르아&amp;quot;}&quot;&gt;샨다르아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;51&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에레키슈갈&amp;quot;}&quot;&gt;에레키슈갈&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈파라&amp;quot;}&quot;&gt;슈파라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;52&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카프튜랑카&amp;quot;}&quot;&gt;카프튜랑카&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;다곤&amp;quot;}&quot;&gt;다곤&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;53&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라므&amp;quot;}&quot;&gt;라므&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;티아매트&amp;quot;}&quot;&gt;티아매트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;54&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;안샤르&amp;quot;}&quot;&gt;안샤르&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;티아매트&amp;quot;}&quot;&gt;티아매트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;55&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;프르샤스쿠타&amp;quot;}&quot;&gt;프르샤스쿠타&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바라투르프&amp;quot;}&quot;&gt;바라투르프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;56&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;케르코포르타&amp;quot;}&quot;&gt;케르코포르타&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;팔란티아&amp;quot;}&quot;&gt;팔란티아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;57&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;우가리트&amp;quot;}&quot;&gt;우가리트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파이어저드&amp;quot;}&quot;&gt;파이어저드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;58&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라트포트&amp;quot;}&quot;&gt;라트포트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파이어저드&amp;quot;}&quot;&gt;파이어저드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;59&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;네페르카프타흐&amp;quot;}&quot;&gt;네페르카프타흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;폴세티&amp;quot;}&quot;&gt;폴세티&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;60&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;루지아나&amp;quot;}&quot;&gt;루지아나&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포레비트&amp;quot;}&quot;&gt;포레비트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;61&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파프라비&amp;quot;}&quot;&gt;파프라비&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;말아뎃타&amp;quot;}&quot;&gt;말아뎃타&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;62&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라티고스트&amp;quot;}&quot;&gt;라티고스트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;란테마리오&amp;quot;}&quot;&gt;란테마리오&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;63&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;스벤트비트&amp;quot;}&quot;&gt;스벤트비트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;란테마리오&amp;quot;}&quot;&gt;란테마리오&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;64&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;야로비트&amp;quot;}&quot;&gt;야로비트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;란테마리오&amp;quot;}&quot;&gt;란테마리오&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;65&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카스티리오&amp;quot;}&quot;&gt;카스티리오&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;룬비니&amp;quot;}&quot;&gt;룬비니&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;66&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;악타이온&amp;quot;}&quot;&gt;악타이온&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에뤼세라&amp;quot;}&quot;&gt;에뤼세라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;67&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샴프르&amp;quot;}&quot;&gt;샴프르&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;엘곤&amp;quot;}&quot;&gt;엘곤&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;68&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;메헤라브&amp;quot;}&quot;&gt;메헤라브&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;엘곤&amp;quot;}&quot;&gt;엘곤&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;69&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;보프마나프&amp;quot;}&quot;&gt;보프마나프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;엘곤&amp;quot;}&quot;&gt;엘곤&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;70&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;엘파실&amp;quot;}&quot;&gt;엘파실&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;엘파실&amp;quot;}&quot;&gt;엘파실&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;71&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에스트레마도라&amp;quot;}&quot;&gt;에스트레마도라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;엘파실&amp;quot;}&quot;&gt;엘파실&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;72&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;우르바시&amp;quot;}&quot;&gt;우르바시&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;간달바&amp;quot;}&quot;&gt;간달바&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;73&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;프르라바스&amp;quot;}&quot;&gt;프르라바스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;간달바&amp;quot;}&quot;&gt;간달바&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;74&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;네프티스&amp;quot;}&quot;&gt;네프티스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;케림&amp;quot;}&quot;&gt;케림&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;75&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;이제크온&amp;quot;}&quot;&gt;이제크온&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;케림&amp;quot;}&quot;&gt;케림&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;76&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;지비에&amp;quot;}&quot;&gt;지비에&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;시바&amp;quot;}&quot;&gt;시바&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;77&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;미트라&amp;quot;}&quot;&gt;미트라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;시바&amp;quot;}&quot;&gt;시바&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;78&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;다프테잠시드&amp;quot;}&quot;&gt;다프테잠시드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;잠시드&amp;quot;}&quot;&gt;잠시드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;79&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카퍼&amp;quot;}&quot;&gt;카퍼&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;잠시드&amp;quot;}&quot;&gt;잠시드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;80&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파라스&amp;quot;}&quot;&gt;파라스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;타시리&amp;quot;}&quot;&gt;타시리&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;81&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에코니아&amp;quot;}&quot;&gt;에코니아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;타나투스&amp;quot;}&quot;&gt;타나투스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;82&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마스지트&amp;quot;}&quot;&gt;마스지트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;타나투스&amp;quot;}&quot;&gt;타나투스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;83&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;팔머랜드&amp;quot;}&quot;&gt;팔머랜드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;트리플라&amp;quot;}&quot;&gt;트리플라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;84&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;보이오디아&amp;quot;}&quot;&gt;보이오디아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;도리아&amp;quot;}&quot;&gt;도리아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;85&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;델모퓌라이&amp;quot;}&quot;&gt;델모퓌라이&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;도리아&amp;quot;}&quot;&gt;도리아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;86&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;몽마리유&amp;quot;}&quot;&gt;몽마리유&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;버밀리언&amp;quot;}&quot;&gt;버밀리언&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;87&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;하이네센&amp;quot;}&quot;&gt;하이네센&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바라트&amp;quot;}&quot;&gt;바라트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;88&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;테르누젠&amp;quot;}&quot;&gt;테르누젠&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바라트&amp;quot;}&quot;&gt;바라트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;89&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;시뤼나갈&amp;quot;}&quot;&gt;시뤼나갈&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바라트&amp;quot;}&quot;&gt;바라트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;90&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;비트리아&amp;quot;}&quot;&gt;비트리아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뤼카스&amp;quot;}&quot;&gt;뤼카스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;91&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마그토레드&amp;quot;}&quot;&gt;마그토레드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라이갈&amp;quot;}&quot;&gt;라이갈&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;92&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카시나&amp;quot;}&quot;&gt;카시나&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리오베르데&amp;quot;}&quot;&gt;리오베르데&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;93&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아로요드모리노&amp;quot;}&quot;&gt;아로요드모리노&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리오베르데&amp;quot;}&quot;&gt;리오베르데&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;94&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;키베론&amp;quot;}&quot;&gt;키베론&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;로포덴&amp;quot;}&quot;&gt;로포덴&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;95&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;루드밀라&amp;quot;}&quot;&gt;루드밀라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;로포덴&amp;quot;}&quot;&gt;로포덴&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;96&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;드벨그&amp;quot;}&quot;&gt;드벨그&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;암리처&amp;quot;}&quot;&gt;암리처&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&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;그리고 마지막으로 성계 코드 표입니다.&lt;/p&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 height=&quot;18&quot; data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;성계번호&amp;quot;}&quot;&gt;&lt;b&gt;성계번호&lt;/b&gt;&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;성계이름&amp;quot;}&quot;&gt;&lt;b&gt;성계이름&lt;/b&gt;&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;소속&amp;quot;}&quot;&gt;&lt;b&gt;소속&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;0&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;발하라&amp;quot;}&quot;&gt;발하라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;1&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바라트&amp;quot;}&quot;&gt;바라트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;2&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아이젠후트&amp;quot;}&quot;&gt;아이젠후트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;3&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아이젠헤르츠&amp;quot;}&quot;&gt;아이젠헤르츠&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;4&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아스타테&amp;quot;}&quot;&gt;아스타테&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;5&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;암리처&amp;quot;}&quot;&gt;암리처&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;6&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;프레이아&amp;quot;}&quot;&gt;프레이아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;7&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;알멘트푸벨&amp;quot;}&quot;&gt;알멘트푸벨&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;8&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;아레스하임&amp;quot;}&quot;&gt;아레스하임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;9&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;이젤론&amp;quot;}&quot;&gt;이젤론&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;10&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에크하르트&amp;quot;}&quot;&gt;에크하르트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;11&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;에뤼세라&amp;quot;}&quot;&gt;에뤼세라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;12&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;엘파실&amp;quot;}&quot;&gt;엘파실&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;13&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;엘곤&amp;quot;}&quot;&gt;엘곤&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;14&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;카스트로프&amp;quot;}&quot;&gt;카스트로프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;15&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;간달바&amp;quot;}&quot;&gt;간달바&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;16&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;키포이저&amp;quot;}&quot;&gt;키포이저&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;17&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;케림&amp;quot;}&quot;&gt;케림&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;18&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;시바&amp;quot;}&quot;&gt;시바&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;19&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샤헨&amp;quot;}&quot;&gt;샤헨&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;20&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;잠시드&amp;quot;}&quot;&gt;잠시드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;21&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샨타우&amp;quot;}&quot;&gt;샨타우&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;22&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;샨다르아&amp;quot;}&quot;&gt;샨다르아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;23&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;슈파라&amp;quot;}&quot;&gt;슈파라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;24&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;다곤&amp;quot;}&quot;&gt;다곤&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;25&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;타시리&amp;quot;}&quot;&gt;타시리&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;26&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;타나투스&amp;quot;}&quot;&gt;타나투스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;27&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;티아매트&amp;quot;}&quot;&gt;티아매트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;28&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;도리아&amp;quot;}&quot;&gt;도리아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;29&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;트라바흐&amp;quot;}&quot;&gt;트라바흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;30&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;트리플라&amp;quot;}&quot;&gt;트리플라&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;31&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;하안&amp;quot;}&quot;&gt;하안&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;32&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;버밀리언&amp;quot;}&quot;&gt;버밀리언&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;33&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바라투르프&amp;quot;}&quot;&gt;바라투르프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;34&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;팔란티아&amp;quot;}&quot;&gt;팔란티아&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;35&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;파이어저드&amp;quot;}&quot;&gt;파이어저드&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;36&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;페잔&amp;quot;}&quot;&gt;페잔&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;중립&amp;quot;}&quot;&gt;중립&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;37&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포르겐&amp;quot;}&quot;&gt;포르겐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;38&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;폴세티&amp;quot;}&quot;&gt;폴세티&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;39&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;브라운슈베크&amp;quot;}&quot;&gt;브라운슈베크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;40&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;알테너&amp;quot;}&quot;&gt;알테너&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;41&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;보덴&amp;quot;}&quot;&gt;보덴&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;42&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;포레비트&amp;quot;}&quot;&gt;포레비트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;43&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마린도르프&amp;quot;}&quot;&gt;마린도르프&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;44&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;마르바흐&amp;quot;}&quot;&gt;마르바흐&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;45&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;말아뎃타&amp;quot;}&quot;&gt;말아뎃타&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;46&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;요툰하임&amp;quot;}&quot;&gt;요툰하임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;47&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;라이갈&amp;quot;}&quot;&gt;라이갈&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;48&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;란테마리오&amp;quot;}&quot;&gt;란테마리오&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;49&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리오베르데&amp;quot;}&quot;&gt;리오베르데&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;50&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리텐하임&amp;quot;}&quot;&gt;리텐하임&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;51&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;리히텐라데&amp;quot;}&quot;&gt;리히텐라데&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;52&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;뤼카스&amp;quot;}&quot;&gt;뤼카스&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;53&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;룬비니&amp;quot;}&quot;&gt;룬비니&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;54&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;로포덴&amp;quot;}&quot;&gt;로포덴&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;55&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;바르텐베르크&amp;quot;}&quot;&gt;바르텐베르크&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&gt;제국&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;56&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;밴플리트&amp;quot;}&quot;&gt;밴플리트&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;동맹&amp;quot;}&quot;&gt;동맹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td height=&quot;18&quot;&gt;57&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;빌렌슈탕니&amp;quot;}&quot;&gt;빌렌슈탕니&lt;/td&gt;
&lt;td data-sheets-value=&quot;{ &amp;quot;1&amp;quot;: 2, &amp;quot;2&amp;quot;: &amp;quot;제국&amp;quot;}&quot;&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;</description>
      <category>GAME/고전게임</category>
      <category>고전게임</category>
      <category>도스</category>
      <category>에디터</category>
      <category>은하영웅전설</category>
      <category>은하영웅전설4 EX</category>
      <category>인물</category>
      <category>코드표</category>
      <category>행성</category>
      <category>혹성</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/457</guid>
      <comments>https://aacii.tistory.com/457#entry457comment</comments>
      <pubDate>Thu, 6 Nov 2025 16:47:48 +0900</pubDate>
    </item>
    <item>
      <title>Spring MVC 다국어 처리</title>
      <link>https://aacii.tistory.com/337</link>
      <description>&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;h2 data-ke-size=&quot;size26&quot;&gt;properties 파일 작성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring MVC 프로젝트에서... src/main/resources 경로에 message_ko.properties 와 message_en.properties 파일을 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 빌드와 배포를 했을 때 WEB-INF/classes 경로(classpath)에 프로퍼티 파일들이 생성됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 프로퍼티 파일들은 유니코드로 저장되며, 이클립스를 전자정부프레임워크를 사용하거나 properties editor 플러그인을 사용하면 자동으로 유니코드를 한국어로 표기해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Help &amp;gt; Install New Software... &amp;gt; Add...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Name : properties&amp;nbsp;editor&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Location :&amp;nbsp;&lt;a href=&quot;http://propedit.sourceforge.jp/eclipse/updates&quot;&gt;http://propedit.sourceforge.jp/eclipse/updates&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;message_ko.properties 예)&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;#################################################################### &lt;br /&gt;STAT.STAT=예약 상태 &lt;br /&gt;STAT.STAT01=예약 신청 &lt;br /&gt;STAT.STAT02=예약 취소 &lt;br /&gt;STAT.STAT03=예약 완료&lt;br /&gt;STAT.STAT04=예약 실패&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;message_en.properties 예)&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;STAT.STAT=Reservation status &lt;br /&gt;STAT.STAT01=Reservation Application &lt;br /&gt;STAT.STAT02=Cancel Reservation &lt;br /&gt;STAT.STAT03=Reservation Complete &lt;br /&gt;STAT.STAT04=Reservation Failure&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;h3 data-ke-size=&quot;size23&quot;&gt;스프링 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 root-context.xml에 bean을 등록 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1674030825473&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xmlns:aop=&quot;http://www.springframework.org/schema/aop&quot;
	xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
	xmlns:jdbc=&quot;http://www.springframework.org/schema/jdbc&quot;
	xmlns:mybatis-spring=&quot;http://mybatis.org/schema/mybatis-spring&quot;
	xmlns:tx=&quot;http://www.springframework.org/schema/tx&quot;
	xmlns:mvc=&quot;http://www.springframework.org/schema/mvc&quot;
	xsi:schemaLocation=&quot;http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.3.xsd
		http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd
		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
		http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd&quot;&amp;gt;
&amp;lt;!-- 생략 --&amp;gt;

	&amp;lt;!-- MessageSource Configuration : 메시지 프로퍼티 파일 bean id 변경 금지. 60초마다 프로퍼티 파일을 갱신해서 서버 재시작이 필요 없음 --&amp;gt;
	&amp;lt;bean id=&quot;messageSource&quot; class=&quot;org.springframework.context.support.ReloadableResourceBundleMessageSource&quot;&amp;gt;
		&amp;lt;property name=&quot;basenames&quot;&amp;gt;
			&amp;lt;list&amp;gt;
				&amp;lt;value&amp;gt;classpath:/message&amp;lt;/value&amp;gt;
			&amp;lt;/list&amp;gt;
		&amp;lt;/property&amp;gt;
		&amp;lt;property name=&quot;cacheSeconds&quot;&amp;gt;
			&amp;lt;value&amp;gt;60&amp;lt;/value&amp;gt;
		&amp;lt;/property&amp;gt;
		&amp;lt;property name=&quot;defaultEncoding&quot; value=&quot;UTF-8&quot;/&amp;gt;
	&amp;lt;/bean&amp;gt;
	&amp;lt;!-- LocaleResolver Registration : 세션값으로 로케일(언어)을 관리 bean id 변경 금지 --&amp;gt;
	&amp;lt;bean id=&quot;localeResolver&quot; class=&quot;org.springframework.web.servlet.i18n.SessionLocaleResolver&quot;&amp;gt;
		&amp;lt;property name=&quot;defaultLocale&quot; value=&quot;ko&quot; /&amp;gt;
	&amp;lt;/bean&amp;gt;
    
 &amp;lt;!-- 생략 --&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주의할 점은 실제 프로퍼티 파일이 message_ko.properites, message_en.properties 이더라도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;basename 에 classpath:/message_ko 라고 적지말고 접두사 처럼 classpaht:/message까지만 적으면 프로퍼티 &quot;파일이름_국가코드&quot;는 스프링이 알아서 처리하게 되어있다는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패키지 경로(예:package)가 있다면 classpath:/package/message 처럼 적으면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 bean id 는 지정된 것이라 바꾸면 안됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;localeResolver는 세션을 이용하는 방법, 쿠키를 이용하는 방법, request header정보의 language값을 이용하는 방법이 있는데, 여기서는 Session을 이용하는 방법으로 구현해보겠습니다.&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;그리고 나서 인터셉터를 이용해서 locale 설정에 따라 메시지 출력(랜더링)을 제어해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이클립스 스프링MVC 프로젝트에서&amp;nbsp;src/main/webapp/WEB-INF/spring/servlet-context.xml 에 인터셉터를 등록합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1674031663962&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;beans:beans xmlns=&quot;http://www.springframework.org/schema/mvc&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xmlns:beans=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
	xsi:schemaLocation=&quot;http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd
		http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd&quot;&amp;gt;

	&amp;lt;!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --&amp;gt;
	
	&amp;lt;!-- Enables the Spring MVC @Controller programming model --&amp;gt;
	&amp;lt;annotation-driven /&amp;gt;

	&amp;lt;!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --&amp;gt;
	&amp;lt;resources mapping=&quot;/resources/**&quot; location=&quot;/resources/&quot; /&amp;gt;

	&amp;lt;!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --&amp;gt;
	&amp;lt;beans:bean class=&quot;org.springframework.web.servlet.view.InternalResourceViewResolver&quot;&amp;gt;
		&amp;lt;beans:property name=&quot;prefix&quot; value=&quot;/WEB-INF/views/&quot; /&amp;gt;
		&amp;lt;beans:property name=&quot;suffix&quot; value=&quot;.jsp&quot; /&amp;gt;
	&amp;lt;/beans:bean&amp;gt;
	
	&amp;lt;!-- 생략 --&amp;gt;
	
	&amp;lt;!-- LocaleChangeInterceptor Registration : 인터셉터를 이용해 lang parameter 값으로  로케일(언어) 설정 --&amp;gt;
	&amp;lt;interceptors&amp;gt;
		&amp;lt;beans:bean id=&quot;localeChangeInterceptor&quot; class=&quot;org.springframework.web.servlet.i18n.LocaleChangeInterceptor&quot;&amp;gt;
			&amp;lt;beans:property name=&quot;paramName&quot; value=&quot;lang&quot;/&amp;gt;
		&amp;lt;/beans:bean&amp;gt;
	&amp;lt;/interceptors&amp;gt;
	
&amp;lt;/beans:beans&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역시 bean id는 변경해서는 안되며 파라메터 이름은 lang으로 지정했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 request 요청시 파라메터에 ?lang=ko 혹은 ?lang=en 으로 요청하면 언어셋(Locale)을 그때 그때 변경 적용해서 유연하게 다국어 메시지 처리를 할 수 있게됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;구현&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서블릿에서 구현하는 방법&lt;/p&gt;
&lt;pre id=&quot;code_1674032203507&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.Locale;
import org.springframework.context.MessageSource;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class HomeController {
	private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

	@Autowired
	SessionLocaleResolver localeResolver;

	@Autowired
	MessageSource messageSource;

	@RequestMapping(value = &quot;/i18n.do&quot;, method = RequestMethod.GET)
	public String i18n(Locale locale, HttpServletRequest request, Model model) {

		// RequestMapingHandler로 부터 받은 Locale 객체
		logger.info(&quot;Welcome i18n! The client locale is {}.&quot;, locale);

		// localeResolver 로부터 Locale 을 출력
		logger.info(&quot;Session locale is {}.&quot;, localeResolver.resolveLocale(request));

		// JSP 페이지에서 EL식으로 사용할 수 있도록 모델에 등록합니다.
		model.addAttribute(&quot;siteCount&quot;, messageSource.getMessage(&quot;STAT.STAT&quot;, null, &quot;default text&quot;, locale));

		return &quot;i18n&quot;;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;messageSource 는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;messageSource.getMessage(&quot;프로퍼티파일의키값&quot;, 대체값이 있는경우 값의배열, &quot;메시지기본값&quot;, Locale);&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 사용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;jsp에서 &amp;lt;spring:message&amp;gt; 태그 라이브러리로 구현하는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/WEB-INF/views/i18n.jsp&lt;/p&gt;
&lt;pre id=&quot;code_1674032647201&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=UTF-8&quot; pageEncoding=&quot;UTF-8&quot;%&amp;gt;
&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/core&quot; prefix=&quot;c&quot; %&amp;gt;
&amp;lt;%@ taglib uri=&quot;http://www.springframework.org/tags&quot; prefix=&quot;spring&quot; %&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
	&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;p&amp;gt;
		&amp;lt;a href=&quot;&amp;lt;c:url value=&quot;/i18n.do?lang=ko&quot; /&amp;gt;&quot;&amp;gt;한국어&amp;lt;/a&amp;gt;
		&amp;lt;a href=&quot;&amp;lt;c:url value=&quot;/i18n.do?lang=en&quot; /&amp;gt;&quot;&amp;gt;English&amp;lt;/a&amp;gt;
	&amp;lt;/p&amp;gt;
	&amp;lt;p&amp;gt;&amp;lt;spring:message code=&quot;STAT.STAT&quot; text=&quot;default text&quot; /&amp;gt;&amp;lt;/p&amp;gt;
	&amp;lt;p&amp;gt;&amp;lt;spring:message code=&quot;STAT.STAT01&quot; text=&quot;default text1&quot; /&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 properties 파일에 등록한 키값에 해당하는 value 값이 출력되게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;언어 셋을 바꾸려면 위 예제 처럼 URL?lang=en 처럼 parameter로 전달해서 바꿀 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>i18</category>
      <category>jsp</category>
      <category>message</category>
      <category>Properties</category>
      <category>SERVLET</category>
      <category>spring</category>
      <category>다국어</category>
      <category>언어</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/337</guid>
      <comments>https://aacii.tistory.com/337#entry337comment</comments>
      <pubDate>Wed, 5 Nov 2025 12:21:27 +0900</pubDate>
    </item>
    <item>
      <title>Spring 3 Quartz 1.8.6 스케줄링</title>
      <link>https://aacii.tistory.com/139</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;Quartz 1.8.6&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring3.X 프로젝트에서는 Quartz 2.X 이상을 지원하지 않아서 보통 Quartz 1.8.6을 많이 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://www.quartz-scheduler.org/downloads/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://www.quartz-scheduler.org/downloads/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1629878298560&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Downloads&quot; data-og-description=&quot;&quot; data-og-host=&quot;www.quartz-scheduler.org&quot; data-og-source-url=&quot;http://www.quartz-scheduler.org/downloads/&quot; data-og-url=&quot;http://www.quartz-scheduler.org/downloads/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;http://www.quartz-scheduler.org/downloads/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://www.quartz-scheduler.org/downloads/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Downloads&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.quartz-scheduler.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Maven pom.xml&lt;/h3&gt;
&lt;pre id=&quot;code_1630054956149&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;dependencies&amp;gt;
    &amp;lt;!-- Spring 3 dependencies --&amp;gt;
    &amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;spring-core&amp;lt;/artifactId&amp;gt;
        &amp;lt;version&amp;gt;3.1.2.RELEASE&amp;lt;/version&amp;gt;
    &amp;lt;/dependency&amp;gt; 
    &amp;lt;!-- QuartzJobBean in spring-context-support.jar --&amp;gt;
    &amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;spring-context-support&amp;lt;/artifactId&amp;gt;
        &amp;lt;version&amp;gt;3.1.2.RELEASE&amp;lt;/version&amp;gt;
    &amp;lt;/dependency&amp;gt;
    &amp;lt;!-- Spring + Quartz need transaction --&amp;gt;
    &amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;spring-tx&amp;lt;/artifactId&amp;gt;
        &amp;lt;version&amp;gt;3.1.2.RELEASE&amp;lt;/version&amp;gt;
    &amp;lt;/dependency&amp;gt;
    &amp;lt;!-- Quartz framework --&amp;gt;
    &amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;org.quartz-scheduler&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;quartz&amp;lt;/artifactId&amp;gt;
        &amp;lt;version&amp;gt;1.8.6&amp;lt;/version&amp;gt;
    &amp;lt;/dependency&amp;gt;
&amp;lt;/dependencies&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring 3.X 에서 quartz를 사용하기 위해 1.8.6 버전으로 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;컴포넌트 설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Job : 비지니스 로직이 들어갈 컴포넌트. 실제 해당 시간에 수행할 작업들을 구현합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JobDetailBean : Job의 속성 정보, 작업을 정의한 클래스를 스케줄링에 등록하는 컴포넌트.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TriggerBean :&amp;nbsp; 시간 주기를 설정하는 컴포넌트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SchedulerBean : Job 정보와 각종 속성들을 모아 Manager Thread를 생성하여 해당 시간에 Job을 실행하는 컴포넌트&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Quartz 설정 (applicationContext.xml)&lt;/h3&gt;
&lt;pre id=&quot;code_1630055685558&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
	xmlns:tx=&quot;http://www.springframework.org/schema/tx&quot;
	xmlns:aop=&quot;http://www.springframework.org/schema/aop&quot;
	xsi:schemaLocation=&quot;
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.1.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd&quot;&amp;gt;
		
		&amp;lt;!-- 실제 작업을 수행하는 클래스 등록 --&amp;gt;
		&amp;lt;bean id=&quot;processor&quot; class=&quot;com.datastreams.gw.scheduler.daily.Processor&quot; /&amp;gt;
        
		&amp;lt;!-- 작업을 정의한 클래스(setter로 주입)를 등록  --&amp;gt;
		&amp;lt;bean name=&quot;runJob&quot; class=&quot;org.springframework.scheduling.quartz.JobDetailBean&quot;&amp;gt;
			&amp;lt;!-- 작업을 정의 --&amp;gt;
			&amp;lt;property name=&quot;jobClass&quot; value=&quot;com.datastreams.gw.scheduler.daily.RunJob&quot; /&amp;gt;
			&amp;lt;!-- 실제 스케줄링될 작업 --&amp;gt;
			&amp;lt;property name=&quot;jobDataAsMap&quot;&amp;gt;
				&amp;lt;map&amp;gt;
					&amp;lt;entry key=&quot;processor&quot; value-ref=&quot;processor&quot; /&amp;gt;
				&amp;lt;/map&amp;gt;
			&amp;lt;/property&amp;gt;
		&amp;lt;/bean&amp;gt;
        
		&amp;lt;!-- trigger: 작업 주기를 등록(cronExpression을 사용) --&amp;gt;
		&amp;lt;bean id=&quot;cronTriggerDaily&quot; class=&quot;org.springframework.scheduling.quartz.CronTriggerBean&quot;&amp;gt;
			&amp;lt;property name=&quot;jobDetail&quot; ref=&quot;runJob&quot; /&amp;gt;	&amp;lt;!-- 실행할 작업 --&amp;gt;
			&amp;lt;!-- 초 분 시 일 월 요일(1-7, 일요일부터) 연도(생략가능) --&amp;gt;
			&amp;lt;property name=&quot;cronExpression&quot; value=&quot;0 10 10 ? * 2-6&quot; /&amp;gt; &amp;lt;!-- 매주 월~금요일 10시 10분 0초 마다 실행 --&amp;gt;
		&amp;lt;/bean&amp;gt;
        
		&amp;lt;!-- Scheduler : 스케줄 관리를 위해 작업과 트리거를 같이 등록--&amp;gt;
		&amp;lt;bean class=&quot;org.springframework.scheduling.quartz.SchedulerFactoryBean&quot;&amp;gt;
			&amp;lt;property name=&quot;jobDetails&quot;&amp;gt;
				&amp;lt;list&amp;gt;
					&amp;lt;ref bean=&quot;runJob&quot; /&amp;gt;
				&amp;lt;/list&amp;gt;
			&amp;lt;/property&amp;gt;
			&amp;lt;property name=&quot;triggers&quot;&amp;gt;
				&amp;lt;list&amp;gt;
					&amp;lt;ref bean=&quot;cronTriggerDaily&quot; /&amp;gt;
				&amp;lt;/list&amp;gt;
			&amp;lt;/property&amp;gt;
		&amp;lt;/bean&amp;gt;	
&amp;lt;/beans&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;trigger를 사용할 때 simple trigger를 사용할 수도 있으나 정밀한 주기 설정을 위해서 cron trigger를 사용하는 것을 권장합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;CronExpression&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동 실행될 배치 주기를 기술하는 표현법으로 &quot;초 분 시 일 월 요일 년도&quot;&amp;nbsp; 으로 표기합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;년도는 생략가능합니다.&lt;/li&gt;
&lt;li&gt;요일을 기술하면 일(날짜)을 ? 처리 해야하고 일(날짜)를 기술하면 요일을 ? 으로 기술해야 해서 배타적입니다. 즉, 동시에 요일과 날짜를 기술할 수 없습니다. 요일과 날짜 중에서 둘 중 하나는 물음표 표기를 해야만 합니다.&lt;/li&gt;
&lt;li&gt;* 기호는 전체 값을 기술합니다.&lt;/li&gt;
&lt;li&gt;- 기호는 값의 범위를 지정합니다.&amp;nbsp;요일은 일요일(1)부터 토요일(7)까지 숫자로 표기할 수 있고 월요일부터 금요일이라면 2-6 으로 표기합니다. 일반적으로 리눅스 등에서 사용하는 cron expression은 0-6 이지만 quartz에서 사용하는 요일은 1-7 을 사용합니다.&lt;/li&gt;
&lt;li&gt;/ 기호는&amp;nbsp; (범위/숫자) 으로 표기하며 범위에 속한 값 중에서 숫자만큼의 간격으로 실행하게 해 줍니다. 만약 (*/10 * * * *) 이라면 10초 간격으로 반복 실행합니다.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;, (콤마) 기호는 값을 개별로 추가할 때 사용합니다. 중복해서 기술할 수 있습니다.&lt;/li&gt;
&lt;li&gt;L 은 마지막을 뜻합니다.&lt;/li&gt;
&lt;li&gt;W는 주중(weekday)을 뜻합니다.&lt;/li&gt;
&lt;li&gt;#은 n번째를 의미합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0 0 12 * * ? 매일 12시(정오) &lt;br /&gt;0 10 10 ? * * 매일 오전 10시 10분 &lt;br /&gt;0 15 10 * * ? 2021 2021년에 매일 아침 10시 15분 &lt;br /&gt;0&amp;nbsp;*&amp;nbsp;14&amp;nbsp;*&amp;nbsp;*&amp;nbsp;?&amp;nbsp;매일&amp;nbsp;오후&amp;nbsp;2시&amp;nbsp;0분&amp;nbsp;~&amp;nbsp;59분 &lt;br /&gt;0 0/5 14,18 * * ? 매일 오후 2시부터 2시 55분까지 5분마다, 6시부터 6시 55분까지 5분마다 &lt;br /&gt;0&amp;nbsp;0-5&amp;nbsp;14&amp;nbsp;*&amp;nbsp;*&amp;nbsp;?&amp;nbsp;매일&amp;nbsp;오후&amp;nbsp;2시부터&amp;nbsp;2시&amp;nbsp;5분까지&amp;nbsp;매분 &lt;br /&gt;0 15 10 ? * MON-FRI 월요일부터 금요일까지 오전 10시 15분 &lt;br /&gt;0&amp;nbsp;15&amp;nbsp;10&amp;nbsp;15&amp;nbsp;*&amp;nbsp;?&amp;nbsp;매달&amp;nbsp;15일&amp;nbsp;오전&amp;nbsp;10시&amp;nbsp;15분 &lt;br /&gt;0&amp;nbsp;15&amp;nbsp;10&amp;nbsp;L&amp;nbsp;*&amp;nbsp;?&amp;nbsp;매달&amp;nbsp;마지막&amp;nbsp;날&amp;nbsp;오전&amp;nbsp;10시&amp;nbsp;15분 &lt;br /&gt;0&amp;nbsp;15&amp;nbsp;10&amp;nbsp;?&amp;nbsp;*&amp;nbsp;6L&amp;nbsp;매달&amp;nbsp;마지막&amp;nbsp;금요일&amp;nbsp;오전&amp;nbsp;10시&amp;nbsp;15분 &lt;br /&gt;0 15 10 ? * 6L 2021-2022 2021년부터 2022년까지 매달 마지막 금요일 오전 10시 15분 &lt;br /&gt;0&amp;nbsp;15&amp;nbsp;10&amp;nbsp;?&amp;nbsp;*&amp;nbsp;6#3&amp;nbsp;매달&amp;nbsp;3번째&amp;nbsp;금요일&amp;nbsp;오전&amp;nbsp;10시&amp;nbsp;15분 &lt;br /&gt;0&amp;nbsp;0&amp;nbsp;12&amp;nbsp;1/5&amp;nbsp;*&amp;nbsp;?&amp;nbsp;매달&amp;nbsp;첫날부터&amp;nbsp;5일마다&amp;nbsp;12시(정오)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;실제 작업을 수행할 클래스 Processor.java&lt;/h3&gt;
&lt;pre id=&quot;code_1630284929552&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Processor {
  //기본생성자
  public Processor() {		
  }
	
  //실제 배치 작업을 기술 한다. 실제 반복 실행할 메서드
  public void process() {
      System.out.println(&quot;배치 작업 실행!&quot;);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스케줄러를 정의하는 클래스 RunJob.java&lt;/h3&gt;
&lt;pre id=&quot;code_1630285529365&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

//QuartzJobBean을 상속받아서 스케줄러를 구현구현
public class RunJob extends QuartzJobBean {
	//실제 실행될 태스크 인스턴스
	private Processor processor;
	
	//setter방식으로 주입
	public void setProcessor(Processor processor) {
		this.processor = processor;
	}

	@Override
	protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
	//스캐줄러에서 실행을 원하는 메서드를 호출
		processor.process();		
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Main.java&lt;/h3&gt;
&lt;pre id=&quot;code_1630285667104&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {
    public static void main(String[] args) {        
        AbstractApplicationContext context = new ClassPathXmlApplicationContext(&quot;applicationContext.xml&quot;);    
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>Java</category>
      <category>job</category>
      <category>Quartz</category>
      <category>Scheduling</category>
      <category>spring</category>
      <category>Task</category>
      <category>배치</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/139</guid>
      <comments>https://aacii.tistory.com/139#entry139comment</comments>
      <pubDate>Wed, 5 Nov 2025 12:20:36 +0900</pubDate>
    </item>
    <item>
      <title>Spring Web Project 한글 설정</title>
      <link>https://aacii.tistory.com/120</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;html 파일에 한글 설정&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1604654741949&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;head&amp;gt;
	&amp;lt;!-- HTML5의 경우 --&amp;gt;
	&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
	&amp;lt;!-- XHTML의 경우 --&amp;gt;
	&amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;
&amp;lt;/head&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;server.xml 한글 설정&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1604654876097&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;Connector connectionTimeout=&quot;20000&quot; port=&quot;8080&quot; protocol=&quot;HTTP/1.1&quot; redirectPort=&quot;8443&quot; URIEncoding=&quot;UTF-8&quot; /&amp;gt;
&amp;lt;Connector port=&quot;8009&quot; protocol=&quot;AJP/1.3&quot; redirectPort=&quot;8443&quot; URIEncoding=&quot;UTF-8&quot; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GET방식에서는 질의 문자열들을 URI에 포함되기 때문에 URI인코딩 처리 작업을 해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;server.xml 파일에 URIEncoding=&quot;UTF-8&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;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;web.xml 한글 설정&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1604654021777&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;filter&amp;gt; 
    &amp;lt;filter-name&amp;gt;encodingFilter&amp;lt;/filter-name&amp;gt; 
    &amp;lt;filter-class&amp;gt;org.springframework.web.filter.CharacterEncodingFilter&amp;lt;/filter-class&amp;gt; 
    &amp;lt;init-param&amp;gt; 
       &amp;lt;param-name&amp;gt;encoding&amp;lt;/param-name&amp;gt; 
       &amp;lt;param-value&amp;gt;UTF-8&amp;lt;/param-value&amp;gt; 
    &amp;lt;/init-param&amp;gt; 
    &amp;lt;init-param&amp;gt; 
       &amp;lt;param-name&amp;gt;forceEncoding&amp;lt;/param-name&amp;gt; 
       &amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt; 
    &amp;lt;/init-param&amp;gt; 
 &amp;lt;/filter&amp;gt; 
 &amp;lt;filter-mapping&amp;gt; 
    &amp;lt;filter-name&amp;gt;encodingFilter&amp;lt;/filter-name&amp;gt; 
    &amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt; 
 &amp;lt;/filter-mapping&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;POST 전송 방식은 요청 body에 담아 전달됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CharacterEncodingFilter는 http상 주고받는 데이터의 헤더 값을 인코딩합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Servlet에서 request.setCharacterEncoding(&quot;utf-8&quot;); 처리와 동일한 처리입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Security설정이 있는 경우 한글 필터 설정이 springSecurityFilterChain 앞 쪽에 위치해야 합니다.&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;servlet에서 한글 처리&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1604904772195&quot; class=&quot;java&quot; style=&quot;margin: 20px auto 0px; display: block; overflow: auto; padding: 15px; color: #383a42; background: #f6f7f8; font-size: 14px; border-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; cursor: default; z-index: 1;&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* 요청정보 Body에 있는 문자열들을 인자값으로 지정한 문자코드로 인코딩 */
request.setCharacterEncoding(&quot;UTF-8&quot;);

/* 응답정보 문자열들을 인자값으로 지정한 문자코드로 인코딩 */
response.setContentType(&quot;text/html;charset=UTF-8&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;b&gt;. jsp 파일에서 한글 처리&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1604905247164&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;%@ page contentType=&quot;text/html; charset=UTF-8&quot; pageEncoding=&quot;UTF-8&quot; language=&quot;java&quot; %&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;이 태그는 서블릿에서 response.setContentType(&quot;text/html;charset=UTF-8&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;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;dispatcher-servlet.xml 에서의 설정&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1604907747127&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;bean class=&quot;org.springframework.web.servlet.view.InternalResourceViewResolver&quot;&amp;gt;
	&amp;lt;property name=&quot;prefix&quot; value=&quot;/WEB-INF/views/&quot;/&amp;gt;
	&amp;lt;property name=&quot;suffix&quot; value=&quot;.jsp&quot;/&amp;gt;
  &amp;lt;property name=&quot;contentType&quot; value=&quot;text/html; charset=UTF-8&quot;/&amp;gt;
&amp;lt;/bean&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthContent&quot; data-filename=&quot;0000.png&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;418&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wiN8z/btqM0rcGH2k/dEhvxNKKOIvjciGksfbiV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wiN8z/btqM0rcGH2k/dEhvxNKKOIvjciGksfbiV1/img.png&quot; data-alt=&quot;DEV&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wiN8z/btqM0rcGH2k/dEhvxNKKOIvjciGksfbiV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwiN8z%2FbtqM0rcGH2k%2FdEhvxNKKOIvjciGksfbiV1%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;661&quot; height=&quot;418&quot; data-filename=&quot;0000.png&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;418&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;DEV&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>Java</category>
      <category>MVC</category>
      <category>SERVLET</category>
      <category>spring</category>
      <category>한글</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/120</guid>
      <comments>https://aacii.tistory.com/120#entry120comment</comments>
      <pubDate>Wed, 5 Nov 2025 12:20:18 +0900</pubDate>
    </item>
    <item>
      <title>Spring  AOP</title>
      <link>https://aacii.tistory.com/336</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;관점 지향(Aspect Oriented Programming)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로깅&lt;/li&gt;
&lt;li&gt;보안/인증&lt;/li&gt;
&lt;li&gt;트랜잭션&lt;/li&gt;
&lt;li&gt;리소스 풀링&lt;/li&gt;
&lt;li&gt;에러 검사 / 처리&lt;/li&gt;
&lt;li&gt;정책&lt;/li&gt;
&lt;li&gt;멀티 스레드 안전 관리&lt;/li&gt;
&lt;li&gt;데이터 영속처리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 항목들은 소프트웨어 개발 시 발생하는 공통적인 문제들입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심 관심(core concern)은 업무 로직을 말합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;횡단 관심(cross-cutting concern)은 위에서 언급한 로깅이나 보안등 공통 시스템 로직을 말합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼 업무 기능과 시스템 기능간에 결합성을 제거하도록 분리하여 작성하는 방법을 관점 지향이라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;관점 지향 용어&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;advice : 관점이 언제, 무엇을 하는지를 정의&lt;/li&gt;
&lt;li&gt;joinpoint : 관점이 실행될 수 있는 위치들&lt;/li&gt;
&lt;li&gt;pointcut : joinpoint 중에서 advice 하는 위치(어디서)&lt;/li&gt;
&lt;li&gt;aspect : advice + pointcut 즉, 무엇을 언제 어디서 하는 지를 정의&lt;/li&gt;
&lt;li&gt;weaving : proxied object를 생성하여 aspect를 대상 객체에 적용&lt;/li&gt;
&lt;li&gt;introduction : 기존 클래스에 새로운 메서드나 애트리뷰트를 추가하는 것&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Advice&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;before : 메서드 호출 전 advice기능이 발생&lt;/li&gt;
&lt;li&gt;after : 메서드 실행 완료 후 결과와 관계없이 advice 기능이 발생&lt;/li&gt;
&lt;li&gt;after-returning : 메서드가 성공적으로 완료 후 advice 기능이 발생&lt;/li&gt;
&lt;li&gt;after-throwing : 메서드가 예외를 발생 후 advice 기능이 발생&lt;/li&gt;
&lt;li&gt;arount : 메서드가 호출되기 전과 후에 advice 기능이 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Spring AOP&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pom.xml에 아래 2가지 모듈을 추가합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673871834128&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;		&amp;lt;dependency&amp;gt;
			&amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt;
			&amp;lt;artifactId&amp;gt;spring-aop&amp;lt;/artifactId&amp;gt;
			&amp;lt;version&amp;gt;${spring-framework.version}&amp;lt;/version&amp;gt;
		&amp;lt;/dependency&amp;gt;
		&amp;lt;dependency&amp;gt;
			&amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt;
			&amp;lt;artifactId&amp;gt;spring-aspects&amp;lt;/artifactId&amp;gt;
			&amp;lt;version&amp;gt;${spring-framework.version}&amp;lt;/version&amp;gt;
		&amp;lt;/dependency&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;로깅 기능 구현 예제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스프링 프로젝트의 기본 패키지에 aspect&amp;nbsp; 패키지를 생성 후 aspect 클래스(여기서는 LoggingAspect)를 정의합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673872212944&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Component
public class LoggingAspect {
    private Logger log = LoggerFactory.getLogger(getClass());
	
    //advice 메서드
    //before advice
	public void logBefore(JoinPoint joinpoint) {
		String message = buildJoinpoint(joinpoint);
		message += &quot;메서드 실행 전&quot;;
		log.info(message);
	}
    
    //...
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;advice는 joinpoint 타입이 인수로 전달됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 예제처럼 Joinpoint 인터페이스의 메서드들로 조인 포인트의 정보들을 구할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1673872650998&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;private String buildJoinpoint(JoinPoint joinpoint) {
    //joinpoint의 클래스 네임
    String className = joinpoint.getTarget().getClass().getName();
    
    //메서드의 시그니처 네임
    String methodName = joinpoint.getSignature().getName();
    
    String message = className + &quot; 의 &quot; + methodName + &quot;( &quot;;
    
    //joinpoint의 메서드 매개 변수 목록
    Object [] args = joinpoint.getArgs();
    
    for(int i = 0; i &amp;lt; args.length; ++i){
        Object arg  = args[i];
        message += arg.getClass().getTypeName();
        if(i != args.length - 1 )
            message += &quot;, &quot;;
    }
    
    message += &quot; ) &quot;;
    
    return message;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;around advice의 경우는 ProceddingJoinPoint 타입의 매개 변수를 받는데&amp;nbsp; 메서드 실행 전과 실행 후에 실행되기 때문에 joinpoint를 진행(proceed) 시킬 필요가 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1673873455140&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	// around 어드바이스 
	public void logAround(ProceedingJoinPoint joinpoint) throws Throwable {
    	//시작
		String message = buildJoinpoint(joinpoint);
		message += &quot;메서드 실행 시작&quot;;
		log.info(message);
		
        //메서드 호출 진행
        joinpoint.proceed();		 
		
        //종료
        message = buildJoinpoint(joinpoint);
		message += &quot;메서드 실행 종료&quot;;

		log.info(message);
	}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;aspect 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 구현한 LoggingAspect 클래스를 Spring bean으로 설정합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673874280444&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
	xmlns:aop=&quot;http://www.springframework.org/schema/aop&quot;
	xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd&quot;&amp;gt;
	&amp;lt;context:component-scan base-package=&quot;컴포넌트베이스패키지경로(예:com.aacii.aspect)&quot;/&amp;gt;
	 	&amp;lt;bean id=&quot;loggingAspect&quot; class=&quot;클래스경로(예:com.aacii.aspect.LoggingAspect)&quot;/&amp;gt;
 	&amp;lt;aop:config&amp;gt;
 		&amp;lt;aop:aspect ref=&quot;loggingAspect&quot;&amp;gt;
 			&amp;lt;aop:pointcut expression=&quot;execution(* 컴포넌트패키지경로.*.*.get*(..)) || execution(* 컴포넌트패키지경로.*.*.find*(..))&quot; id=&quot;getLogging&quot;/&amp;gt;
 			&amp;lt;aop:pointcut expression=&quot;execution(* 컴포넌트패키지경로.*.*.save*(..))&quot; id=&quot;saveLogging&quot;/&amp;gt;
 			&amp;lt;aop:before method=&quot;logBefore&quot; pointcut-ref=&quot;getLogging&quot;/&amp;gt;
 			&amp;lt;aop:around method=&quot;logAround&quot; pointcut-ref=&quot;saveLogging&quot;/&amp;gt;
 		&amp;lt;/aop:aspect&amp;gt;
 	&amp;lt;/aop:config&amp;gt;
&amp;lt;/beans&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;aop:config&amp;gt; :&amp;nbsp; 최상위 AOP element&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;aop:aspect&amp;gt; : 관점 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;aop:pointcut&amp;gt; : point 컷 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;aop:before&amp;gt; : before advice 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;aop:around&amp;gt; : around advice 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;after, after-returning, after-throwing은 생략했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;pointcut 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pointcut은 aop를 구현할 때 advice가 실행되는 위치를 지정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pointcut을 표현하는 expression은 아래와 같습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673874867525&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;execution(반환타입 메서드가속한패키지.*.*.메서드이름*(인수))&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1673874951100&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!-- 예제 --&amp;gt;
execution(* com.aacii.*.*.get*(..))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;execution() 지명자 외에도 within(), bean(), target(), this(), args() 들이 있지만 여기서는 생략합니다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들어 업무 로직이 exampleService.getAll() 이라면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aspect(관점)은 xml의 &amp;lt;aop:before pointcut-ref=&quot;getLogging&quot; method=&quot;logBefore&quot; /&amp;gt; 등으로 설정하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템로직은 advice로 별도 클래스(LoggingAspect)를 만들어서 메서드(logBefore();)로 동작을 정의합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@AspectJ&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@AspectJ 어노테이션을 이용해서 XML 설정 없이 AOP를 구현할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 언급한 용어대로 @Aspect, @Pointcut, @Before, @After, @Around 등을 이용해서 설정 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aspect 클래스를 spring bean으로 설정하기 위해 @Componet 을 추가합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673955786598&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Aspect
@Component
public class LoggingAspect {
	
    // getLogging 포인트컷
	@Pointcut(&quot;execution(* com.aacii.ex.*.*.get*(..))&quot; + &quot; || execution(* com.aacii.ex.*.*.find*(..))&quot;)
	public void getLogging() {}
	
    // before 어드바이스
	@Before(&quot;getLogging()&quot;)
	public void logBefore(JoinPoint joinpoint) {
		String message = buildJoinpoint(joinpoint);
		message += &quot;실행 시작&quot;;
		log.info(message);
	}
    //생략...
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@Around 어노테이션은 괄호안에 포인트컷 표현식을 문자열로 설정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;XML 때와 마찬가지로 ProceedingJoinPoint를 이용해야 하고, proceed()메서드를 호출해야 메서드를 실행시킵니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673956229151&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	// around 어드바이스 
	@Around(&quot;execution(* com.aacii.ex.*.*.save*(..))&quot;)
	public void logAround(ProceedingJoinPoint joinpoint) throws Throwable {
		long start = System.currentTimeMillis();
		String message = buildJoinpoint(joinpoint);
		message += &quot;메서드 실행 시작&quot;;
		log.info(message);
        
		joinpoint.proceed();		// 메서드 호출 
        
		message = buildJoinpoint(joinpoint);
		message += &quot;메서드 실행 종료&quot;;
		long end = System.currentTimeMillis();
        
		long duration = end - start;
		log.info(&quot;실행 시간 : &quot; + duration + &quot; 밀리초&quot;);
	}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 구현된 LoggingAspect 클래스를 관점 클래스로 만들기 위해 Spring context 를 지정한&amp;nbsp; xml 파일에 프록시 bean을 설정해서 @AspectJ 어노테이션이 지정된 bean을 프록시 어드바이스로 변환해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래처럼&amp;nbsp;&amp;lt;aop:aspectj-autoproxy/&amp;gt; 태그를 이용합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673956430002&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
	xmlns:aop=&quot;http://www.springframework.org/schema/aop&quot;
	xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd&quot;&amp;gt;
	&amp;lt;context:component-scan base-package=&quot;com.ensoa.order&quot;/&amp;gt;	
	&amp;lt;aop:aspectj-autoproxy/&amp;gt;
&amp;lt;/beans&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Advice에 매개 변수 전달&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업무 로직을 구현한 메서드를 호출할 때 매개변수를 advice에서 가로채기 위해 매개 변수를 전달할 필요가 있을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 처럼 pointcut을 지정하는 execution() 표현식에서 매개변수를 지정해주고 사용합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673956913068&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	// 매개변수 포인트 컷
	@Pointcut(&quot;execution(* com.aacii.ex.service.*.update*(com.aacii.ex.domain.Product))&quot; + &quot; &amp;amp;&amp;amp; args(product)&quot;)
	public void updateLogging(Product product) {}    
    
	// 매개변수가 필요한 advice
	@Before(&quot;updateLogging(customer)&quot;)
	public void logBeforeUpdate(JoinPoint joinpoint, Product product) {
		String message = buildJoinpoint(joinpoint);
		message += &quot;메서드 실행 시작&quot;;
		log.info(message);
	}&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>advice</category>
      <category>AOP</category>
      <category>aspect</category>
      <category>AspectJ</category>
      <category>JoinPoint</category>
      <category>PointCut</category>
      <category>관점지향</category>
      <category>스프링</category>
      <category>자바</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/336</guid>
      <comments>https://aacii.tistory.com/336#entry336comment</comments>
      <pubDate>Wed, 5 Nov 2025 11:31:48 +0900</pubDate>
    </item>
    <item>
      <title>Spring 주요 어노테이션</title>
      <link>https://aacii.tistory.com/325</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Spring bean을 XML로 관리 할 수 있지만, bean객체가 많아지면 XML 설정도 많아져 불편해집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 나온 방법이 auto wiring(bean 연결) 과 annotation wiring(bean 연결) 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;annotation wiring&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어노테이션 와이어링을 사용하기 위해서는 context를 관리하는 XML 설정 파일에 context 네임스페이스를 추가해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673613961925&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
	xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd&quot;&amp;gt;
	&amp;lt;context:component-scan base-package=&quot;컴포넌트를 스캔할 패키지 경로(예:net.aacii.service)&quot;/&amp;gt;
&amp;lt;/beans&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;context:component-scan base-package=&quot;net.aacii.service&quot; /&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 패키지 이름을 component-scan 으로 지정해주면 Spring이 자동으로 bean을 스캔해서 발견해줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@Autowired&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring의 기본 의존성 주입을 위한 어노테이션입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필드, 생성자, setter 메서드에 사용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;타입 와이어링을 시도 한 후 실패하면 이름 와이어링으로 후보 bean을 찾습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673614384541&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class CustomerSerivceImpl implements CustomerService{
    @Autowired
    private CustomerRepository repository;
    //...
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;와이어링 할 bean이 없는 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@Autowired(reqired=false)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;를 지정하면 null 값을 허용하게됩니다.&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;아래와 같이 pom.xml에 dependency를 추가하면 @Inject 어노테이션으로 @Autowired 를 대체 할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673615324681&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;javax.inject&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;javax.inject&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;1&amp;lt;/version&amp;gt;
&amp;lt;/dependency&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;또한 아래와 같이 pom.xml에 dependency를 추가하면 @Resource 어노테이션으로 @Autowired를 대체 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 JNDI 리소스 와이어링 방식입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673615707501&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;javax.annotation&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;jsr250-api&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@Component&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 클래스가 Spring bean을 명시하는 범용 어노테이션입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때 클래스명의 첫 글자를 소문자로 한 이름이 default Spring bean의 이름입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 이 Spring bean의 이름을 바꾸고 싶으면 아래 처럼 괄호안에 직접 지정해주면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@Component(&quot;바꿀이름&quot;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@Repository&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 클래스가 데이터를 엑세스하는 repository 즉, DAO 클래스를 명시합니다. 예를 들어&lt;/p&gt;
&lt;pre id=&quot;code_1673616068506&quot; class=&quot;groovy&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Repository
public class MemberDAOImpl implements MemberDAO {
	@Inject
	private SqlSession sqlSession; 
    ...
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@Service&lt;/h3&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;h3 data-ke-size=&quot;size23&quot;&gt;@Controller&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스가 MVC 패턴에서 컨트롤러임을 명시합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컨트롤러는 각족 Request로부터 parameter를 전달 받고 다양한 데이터 타입을 리턴 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주로 문자열, 객체, 기본 자료형, JSON(ResponseEntity) 들을 리턴해 뷰에 전달해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@RestController 으로 지정하면 REST방식의 처리를 위한 컨트롤러로 사용할 수있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;@GetMapping 또는 PostMapping 또는 PutMapping ...&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Http 전송 method 방식에 따라 컨트롤러의 메소드를 다르게 지정해 줄 수 있습니다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1762322359705&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;    @GetMapping(&quot;/list&quot;)
    public void listGET(){
		...
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;@RequestMapping&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;컨트롤러에서 지정하는 어노테이션으로, 특정 요청 URI에 매칭되는 클래스나 메소드임을 명시합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 어노테이션은 GET/POST 둘 다 지원합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762322407041&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;@Controller
@RequestMapping(&quot;/sample&quot;)
public class SampleController {
    @RequestMapping(&quot;/list&quot;)
    public void list(){
        ...
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이렇게 지정하면 URL이 http://호스트:포트/컨텍스트루트/sample/list 으로 컨트롤러 실행이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@RequestParam&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;request 의 파라메터 중에서 특정 parameter를 찾습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@RequestHeader&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;request에서 HTTP헤더 정보를 추출합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;@ResponseBody&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 어노테이션이 적용된 메서드에서는 리턴되는 데이터 타입이 HTTP response로 전송 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어 아래처럼 JSON을 리턴하도록 사용할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762322501591&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;	@RequestMapping(&quot;/doJSON&quot;)
	public @ResponseBody ProductVO doJSON() {
		ProductVO vo = new ProductVO(&quot;샘플제품&quot;,30000);
		return vo; //JAVA 객체가 JSON으로 변환되어 리턴 됨.
	}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;주로 REST 방식의 컨트롤러에서 사용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@PathVariable&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;URI에서 경로중의 일부를 변수로 삼아 처리하기 위해 사용합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@CookieValue&lt;/h3&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;h3 data-ke-size=&quot;size23&quot;&gt;@ModelAttribute&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 객체를 뷰까지 전달 합니다. 예를 들어 아래처럼&lt;/p&gt;
&lt;pre id=&quot;code_1671004028305&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	@RequestMapping(&quot;doC&quot;)
	public String doC(@ModelAttribute(&quot;msg&quot;) String msg) {
		logger.info(&quot;doC is called.&quot;);
		return &quot;doC&quot;;
	}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라고 했을 때 request시 msg라는 이름의 parameter를 메서드 내에서 String msg로 처리하고 뷰(jsp)에 msg라는 이름의 response parameter로 전달 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스프링MVC에서 컨트롤러, 서비스, DAO, View 사이에 데이터를 전달할 때 기본적으로 동일한 방식으로 데이터를 규격화 해서 전달할 필요가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서블릿 방식에는 request.setAttribute() 를 통해서 데이터를 담아서 View까지 전달했지만 스프링MVC에서는 Model이라는 특별한 객체를 이용해서 처리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들어 컨트롤러 클래스에서 메소드를 아래 처럼 작성했다고 합시다.&lt;/p&gt;
&lt;pre id=&quot;code_1762316045974&quot; class=&quot;aspectj&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;    @GetMapping(&quot;/ex&quot;)
    public void ex4(Model model){
        model.addAttribute(&quot;message&quot;, &quot;hello world!&quot;);  //Model 객체에 속성을 추가해서 뷰까지 전달
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;model 객체에 &quot;message&quot; 를 키로 &quot;hello world!&quot; 라는 값을 가지는 Attribute를 추가해서 view(jsp 등)에 전달하여 EL이나 JSTL 등으로 접근할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1762316045975&quot; class=&quot;dust&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;&amp;lt;%@ page contentType=&quot;text/html;charset=UTF-8&quot; language=&quot;java&quot; %&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Hello page&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h2&amp;gt;${message}&amp;lt;/h2&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컨트롤러에서 Model 클래스 대신 DTO클래스로 생성된 인스턴스 객체들을 전달해도 마찬가지로 view에서 DTO 객체를 접근할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 클래스 이름의 첫글자를 소문자로 바꾼 이름으로 접근할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇지만 컨트롤러에서 파라메터 전달 시 @ModelAttribute(&quot;바꾼객체이름&quot;) 을 사용해서 DTD객체의 이름을 바꿔서 view에 전달할 수도 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762316045976&quot; class=&quot;less&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;@GetMapping(&quot;/ex&quot;)
public void ex(@ModelAttribute(&quot;dto&quot;) SomeDTO someDTO){
    ...
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러면 view에서 ${dto} 라는 이름의 객체로 접근이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@SessionAttribute&lt;/h3&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;h3 data-ke-size=&quot;size23&quot;&gt;@InitBinder&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;parameter를 수집해서 객체로 만들 경우에 커스터마이징 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;@RequestBody&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;request문자열이 그대로 파라미터로 전달됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, URI 경로에서 원하는 데이터를 추출합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@ModelAttribute와 유사하지만 JSON 데이터를 객체로 변환해주는 용도입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>annotation</category>
      <category>spring</category>
      <category>스프링</category>
      <category>애노테이션</category>
      <category>어노테이션</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/325</guid>
      <comments>https://aacii.tistory.com/325#entry325comment</comments>
      <pubDate>Wed, 5 Nov 2025 11:31:32 +0900</pubDate>
    </item>
    <item>
      <title>Spring bean</title>
      <link>https://aacii.tistory.com/334</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;Spring bean&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스프링 프레임워크가 관리하는 클래스들의 인스턴스 객체들을 Spring bean 이라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Spring bean 설정 방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;XML로 설정 할 때에는 아래 처럼 설정합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673526821554&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd&quot;&amp;gt;
	&amp;lt;bean id=&quot;bean객체를식별하는id값&quot; class=&quot;bean객체가정의된클래스의패키지경로&quot; /&amp;gt;
&amp;lt;/beans&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어노테이션을 이용해서 설정할 때에는 아래처럼 클래스 위에 @Configuration 어노테이션을 설정하고, 메서드 위에는 @Bean 어노테이션을 설정해 줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패키지 경로는 net.aacii.app 으로 가정합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673527165926&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import net.aacii.app.service.SampleService;
import net.aacii.app.service.SampleServiceImpl;

@Configuration
public class AppConfig {
	@Bean
	SampleService sampleService() {
		return new SampleServiceImpl();
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;IoC 컨테이너&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring bean 인스턴스를 생성하기 위해 IoC 컨테이너를 먼저 생성해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IoC컨테이너는 bean 인스턴스들간의 의존성을 관리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ApplicationContext 인터페이스는 이러한 IoC 컨테이너의 인터페이스 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ApplicationContext는 일반적으로 아래처럼 생성 할 수 있습니다. (beans.xml은 bean이 정의된 xml파일입니다.)&lt;/p&gt;
&lt;pre id=&quot;code_1673527679366&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ApplicationContext ctx = new ClassPathXmlApplicationContext(&quot;beans.xml&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 파일 시스템의 절대 경로를 지정한다면 아래 처럼 생성 할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673527790176&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ApplicationContext ctx = new FileSystemXmlApplicationContext(&quot;src/main/java/beans.xml&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 위의 예제 처럼 AppConfig class 파일로 IoC 컨테이너를 생성할 때는 아래처럼 할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673527885881&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);&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;ApplicationContext에 bean 인스턴스가 생성될 때, 생성되는 Scope를 정할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;singleton은 ApplicationContext 하나 당 하나의 인스턴스를 생성합니다.(기본값)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;prototype은 getBean()메서드가 호출될 때마다 하나의 인스턴스를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;request는 HTTP request 영역 안에 인스턴스가 생성됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;session은 HTTP session 영역 안에 인스턴스가 생성됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;global-session은 전역 HTTP session 안에서 인스턴스가 생성됩니다.&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;예를 들어 xml의 경우&lt;/p&gt;
&lt;pre id=&quot;code_1673528493837&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;bean id=&quot;bean객체를식별하는id값&quot; class=&quot;bean객체가정의된클래스의패키지경로&quot; scope=&quot;prototype&quot; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 scope를 지정해 줄 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클래스 파일을 사용하는 경우에는 @Scope 어노테이션으로 지정합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1673528586306&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Bean
@Scope(&quot;prototype&quot;)
SampleService sampleService(){
    return new SampleServiceImple();
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Bean 인스턴스(객체) 의 생성 소멸&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;java에서 인스턴스가 생성 될 때 생성자가 호출되고 소멸할 때 소멸자가 호출됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bean 인스턴스도 마찬가지 인데, 생성될 때 호출 되는 메서드와 소멸될 때 호출되는 메서드를 지정할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;xml 의 예)&lt;/p&gt;
&lt;pre id=&quot;code_1673528942199&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;bean id=&quot;bean객체를식별하는id값&quot; class=&quot;bean객체가정의된클래스의패키지경로&quot; init-method=&quot;init&quot; destroy-method=&quot;cleanUp&quot; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;class 의 예)&lt;/p&gt;
&lt;pre id=&quot;code_1673529057159&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class SampleServiceImpl implements SampleService{
    public void init(){
    }
    public void cleanUp(){
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;팩토리 패턴의 예)&lt;/p&gt;
&lt;pre id=&quot;code_1673529347793&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;bean id=&quot;bean객체를식별하는id값&quot; class=&quot;bean객체가정의된클래스의패키지경로&quot; factory-mehtod=&quot;getInstance&quot; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1673529506704&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class SampleServiceImpl implements SampleService{
    private SampleServiceImpl(){
    }
    private static class FactoryHolder{
        static SampleService instance = new SampleServiceImpl();
    }
    public static SampleService getInstance(){
    return FactoryHolder.instance;
    }
}&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>bean</category>
      <category>framework</category>
      <category>Java</category>
      <category>spring</category>
      <category>빈</category>
      <category>스프링</category>
      <category>자바</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/334</guid>
      <comments>https://aacii.tistory.com/334#entry334comment</comments>
      <pubDate>Wed, 5 Nov 2025 11:31:19 +0900</pubDate>
    </item>
    <item>
      <title>Spring MVC 프로젝트 구조</title>
      <link>https://aacii.tistory.com/338</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Spring MVC.png&quot; data-origin-width=&quot;1447&quot; data-origin-height=&quot;913&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTxwng/btrWI2g8Sqk/EqaRvjkMCo0EdLtOBQZo30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTxwng/btrWI2g8Sqk/EqaRvjkMCo0EdLtOBQZo30/img.png&quot; data-alt=&quot;시퀀스 다이어그램&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTxwng/btrWI2g8Sqk/EqaRvjkMCo0EdLtOBQZo30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTxwng%2FbtrWI2g8Sqk%2FEqaRvjkMCo0EdLtOBQZo30%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;1447&quot; height=&quot;913&quot; data-filename=&quot;Spring MVC.png&quot; data-origin-width=&quot;1447&quot; data-origin-height=&quot;913&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;시퀀스 다이어그램&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;h3 data-ke-size=&quot;size23&quot;&gt;Spring MVC 프로젝트 구조 설명&lt;/h3&gt;
&lt;div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;src/main/java/ : 자바 소스 경로&lt;/li&gt;
&lt;li&gt;src/main/resources/ : 실행시 자동 참고되는 경로(주로 설정파일, log4j.xml 등등)&lt;/li&gt;
&lt;li&gt;src/test/java/ : 테스트 자바 코드 경로&lt;/li&gt;
&lt;li&gt;src/test/resources/ : 테스트 관련 설정 파일 경로&lt;/li&gt;
&lt;li&gt;src/webapp/WEB-INF/spring/appServlet/ : sevlet-context.xml 외 spring 설정 파일&lt;/li&gt;
&lt;li&gt;src/webapp/WEB-INF/spring/&amp;nbsp; : root-context.xml 외 spring 설정 파일&lt;/li&gt;
&lt;li&gt;src/webapp/WEB-INF/views/&amp;nbsp; : MVC 패턴 중 view 페이지(jsp) 들이 위치 한 경로&lt;/li&gt;
&lt;li&gt;src/webapp/WEB-INF/&amp;nbsp; : tomcat의 web.xml 파일 위치&lt;/li&gt;
&lt;/ul&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;DispatcherServlet (FrontController)&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기존 웹 어플리케이션 개발은 HttpServlet을 상속하는 클래스를 만들고 doGet()이나 doPost()메서드를 구현하고 HttpServletRequest에서 매개변수를 추출하고 비지니스 로직(process)를 실행하고 반환될 정보를 HttpServletResponse에 담아서 반환합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 때, 비지니스 로직을 제외하고 나머지 작업들은 반복해서 해야하는 작업이기 때문에 이 반복작업을 대신 해주는 서블릿이 DispatcherServlet입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DispatcherServlet은 web.xml 에서 등록합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1674128330137&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	&amp;lt;servlet&amp;gt;
		&amp;lt;servlet-name&amp;gt;appServlet&amp;lt;/servlet-name&amp;gt;
		&amp;lt;servlet-class&amp;gt;org.springframework.web.servlet.DispatcherServlet&amp;lt;/servlet-class&amp;gt;
		&amp;lt;init-param&amp;gt;
			&amp;lt;param-name&amp;gt;contextConfigLocation&amp;lt;/param-name&amp;gt;
			&amp;lt;param-value&amp;gt;/WEB-INF/spring/appServlet/servlet-context.xml&amp;lt;/param-value&amp;gt;
		&amp;lt;/init-param&amp;gt;
		&amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;
	&amp;lt;/servlet&amp;gt;
    
	&amp;lt;servlet-mapping&amp;gt;
		&amp;lt;servlet-name&amp;gt;appServlet&amp;lt;/servlet-name&amp;gt;
		&amp;lt;url-pattern&amp;gt;/&amp;lt;/url-pattern&amp;gt;
	&amp;lt;/servlet-mapping&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DispatcherServlet은 WebApplicationContext를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WebApplicationContext는 bean 관리, Controller, HandlerMapping, ViewResolver 를 포함합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;WebApplicationContext&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어플리케이션 전체 관련 bean은 root-context.xml에서 관리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 소스 bean, 트랜잭션 bean, 서비스 bean, VO bean 등을 등록합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;web.xml에 ContextLoaderListener는 어플리케이션 컨텍스트를 시작하고 종료시킵니다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1674131726179&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	&amp;lt;context-param&amp;gt;
		&amp;lt;param-name&amp;gt;contextConfigLocation&amp;lt;/param-name&amp;gt;
		&amp;lt;param-value&amp;gt;/WEB-INF/spring/root-context.xml&amp;lt;/param-value&amp;gt;
	&amp;lt;/context-param&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;root-context를 등록하기 위해서는 web.xml에 이벤트 리스너를 등록해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1674131754639&quot; class=&quot;xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	&amp;lt;listener&amp;gt;
		&amp;lt;listener-class&amp;gt;org.springframework.web.context.ContextLoaderListener&amp;lt;/listener-class&amp;gt;
	&amp;lt;/listener&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;servlet-context.xml&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서블릿 관련 bean은 servlet-context.xml 에서 관리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컨트롤러, 핸들러 매핑, 뷰리졸버 등을 관리하는 bean 을 등록 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1674130048813&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;beans:beans xmlns=&quot;http://www.springframework.org/schema/mvc&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xmlns:beans=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
	xsi:schemaLocation=&quot;http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd&quot;&amp;gt;

	&amp;lt;!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --&amp;gt;
	
	&amp;lt;!-- 어노테이션 와이어링 --&amp;gt;
	&amp;lt;annotation-driven /&amp;gt;

	&amp;lt;!-- URL로 오는 모든 정적인 리소스 파일들 경로  --&amp;gt;
	&amp;lt;resources mapping=&quot;/resources/**&quot; location=&quot;/resources/&quot; /&amp;gt;

	&amp;lt;!-- 뷰 리졸버 --&amp;gt;
	&amp;lt;beans:bean class=&quot;org.springframework.web.servlet.view.InternalResourceViewResolver&quot;&amp;gt;
		&amp;lt;beans:property name=&quot;prefix&quot; value=&quot;/WEB-INF/views/&quot; /&amp;gt;
		&amp;lt;beans:property name=&quot;suffix&quot; value=&quot;.jsp&quot; /&amp;gt;
	&amp;lt;/beans:bean&amp;gt;
	
	&amp;lt;!-- 컨트롤러 컴포넌트 스캔 패키지 --&amp;gt;
	&amp;lt;context:component-scan base-package=&quot;com.aacii.order&quot; /&amp;gt;
	
	
	
&amp;lt;/beans:beans&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>MVC</category>
      <category>spring</category>
      <category>구조</category>
      <category>스프링</category>
      <category>자바</category>
      <category>프레임워크</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/338</guid>
      <comments>https://aacii.tistory.com/338#entry338comment</comments>
      <pubDate>Wed, 5 Nov 2025 11:30:08 +0900</pubDate>
    </item>
    <item>
      <title>Spring 의존성 주입과 제어의 역전</title>
      <link>https://aacii.tistory.com/302</link>
      <description>&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;인터페이스를 이용한 느슨한 결합의 필요성&lt;/h3&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;의존성 주입(Dependency Injection)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의존성 주입은 디자인 패턴으로 제어의 역전(Inversion of Control)을 구현하기 위한 방법중의 하나입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;객체를 직접 생성하는 것이 아닌 외부에서 생성하여 주입 받는 방법을 말합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 컨트롤러들은 서비스 객체들을 가져다 주입 받아 사용하는데, 이런 컨트롤러들은 서비스 객체에 의존적이라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼 클래스들은 서로 연결되어 있어서 의존성(dependency)이 강합니다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IoC 컨테이너는 시스템의 모든 인스턴스 객체를 관리하고 인스턴스 객체들 사이의 의존성이 있으면 주입하는 일을 담당합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring에서는 XML 설정이나 자바 클래스내 Config 설정등 다향한 방법을 이용해 필요한 객체들을 찾아서 사용할 수 있도록 이를 구현하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;일반적인 자바 객체의 생성과 초기화&lt;/h3&gt;
&lt;pre id=&quot;code_1661320397180&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Service{
    private final Persistence persistence;
    
    public Service(){
    	this.persistence = new Persistence();
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1661322326834&quot; class=&quot;routeros&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public static void main(String[] args){
    Service service = new Service();
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부 클래스의 생성자를 호출하여 객체를 생성하여 초기화하는 일반적인 방법입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우 Persistence 클래스에 의존(dependent)하고 있어서 Persistence 클래스가 없다면 제 기능을 하지 못합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Service클래스는 Persistence클래스에 의존하고 있으며, Service클래스가 Persistence 객체를 생성하고 관리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Setter를 이용한 의존성 주입 예제&lt;/h3&gt;
&lt;pre id=&quot;code_1661322642660&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Service{
    private final IPersistence persistence;
    
    public void setIPersistence(IPersistence persistence){
        this.persistence = persistence;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1661322757777&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public static void main(String[] args){
    IPersistence persistence = new Persistence();
    Service service = new Service();
    service.setIPersistence(persistence);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반 적인 방법과 의존성 주입의 차이점은 인터페이스를 이용한다는 점과 객체를 외부에서 생성해서 setter(혹은 생성자)로 객체를 전달(주입)한다는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 의존성 주입을 관리해주는 컨테이너 중 하나가 바로 스프링(Spring) 프레임워크입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;생성자 주입 방식&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Spring3 이후 부터는 생성자 주입 방식으로 의존성 주입을 더 많이 활용합니다.&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;1. 주입받아야 하는 객체의 변수는 final로 작성합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 생성자를 이용해서 해당 병수를 생성자의 파라미터로 지정합니다.&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;이 생성자 주입 방식은 객체를 생성할 때 문제가 발생하는지 미리 확인할 수 있기 때문에 Setter를 이용한 주입 방식 보다 선호됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Lombok 라이브러리를 사용하면 @RequiredArgsConstructor 라는 어노테이션을 이용해서 생성자를 자동으로 작성 할수 있게 해주기 때문에 편리합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762254637110&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import lombok.RequiredArgsConstructor;
import lombok.ToString;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
@ToString
@RequiredArgsConstructor	//생성자 주입 방식 
public class SampleService {
    @Autowired
    private final SampleDAO sampleDAO;  //주입 받아야 하는 변수를 final으로
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스프링 프레임워크(Spring framework)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트의 규모가 커질수록 관리해야 하는 객체들이 많아질 수록 의존성 주입 컨테이너를 통해 객체의 생성과 관리하는 방법이 효율적이게 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1661324473237&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class MyService{
    Service service;
    ShareService shareService;
    NotiService notiService;
    ScheduledService scheduledService;
}

public class ShereService{
    UserService userService;
    EventService eventService;
    SharePersistence persistence;
}

public class NotiService{
    EventService eventService;
    UserService userService;
    NotiPersistence persistence;
}

public class SharePersistence{
    JDBCConnection connection;
    ...
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1661326087302&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;JDBCConnection connection = new JDBCConnection();
Service service = new Service();
UserService userService = new UserService();
EventService eventService = new EventService();
NotiPersistence notiPersistence = new NotiPersistence(connection);
SharePersistence sharePersistence = new SharePersistence(connection);
ShareService shareService = new ShareService(userService, eventService, sharePersistence);
NotiServie notiService = new NotiService(userService, eventSerivce, sharePersistence);
MyService myService = new MyService(Service, shareService, notiService, new ScheduledService());&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 의존하는 객체들이 많아질 수록 객체 관리가 어려워지게 되는데 Spring의 어노테이션, xml, class 를 이용해서 bean객체간의 의존성을 명시할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어플리케이션(WAS) 시작시 spring Ioc컨테이너가 객체를 생성해주고 관리도 해주게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 예제를 Spring 어노테이션을 이용해서 아래 예제처럼 의존성을 명시할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1661328052766&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Service
public class MyService{
    @Autowired Service service;
    @Autowired ShareService shareService;
    @Autowired NotiService notiService;
    @Autowired ScheduledService scheduledService;
}

@Service
public class ShareService{
    @Autowired UserService userService;
    @Autowired EventService eventService;
    @Autowired SharePersistence persistence;
}

@Service
public clasee NotiService{
    @Autowired EventService eventService;
    @Autowired UserService userService;
    @Autowired NotiPersistence persistence;
}

@Service
public class SharePersistence{
    @Autowired JDBCConnection connection;
    ...
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 예제 처럼 의존관계를 명시해주면 일일이 new 해서 객체를 생성하는 작업을 하지 않아도 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 작업을 ApplicationContext 객체가 대신 해주게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>Di</category>
      <category>IOC</category>
      <category>Java</category>
      <category>spring</category>
      <category>디자인 패턴</category>
      <category>스프링</category>
      <category>스프링 부트</category>
      <category>의존성 주입</category>
      <category>제어의 역전</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/302</guid>
      <comments>https://aacii.tistory.com/302#entry302comment</comments>
      <pubDate>Tue, 4 Nov 2025 21:02:59 +0900</pubDate>
    </item>
    <item>
      <title>WSL 2 네트워크</title>
      <link>https://aacii.tistory.com/448</link>
      <description>&lt;h2 style=&quot;color: #000000;&quot; data-ke-size=&quot;size26&quot;&gt;WSL2 네트워크&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL 에서는 윈도우의 물리적 네트워크 인터페이스를 사용하는데 반해 WSL 2는 경량 VM에서 리눅스 커널이 실행됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가상화된 네트워크 어댑터가 있어서 자체 IP 주소가 할당되어 네트워크를 이용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서 PowerShell을 실행시키고 다음 명령어를 입력하면 네트워크 어댑터 정보를 확인할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1760878145599&quot; class=&quot;mathematica&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;Get-NetAdapter *WSL* | Format-List&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;IP 주소를 확인하려면 PowerShell에서 다음과 같이 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1760878145599&quot; class=&quot;mathematica&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;Get-NetAdapter *WSL* | Get-NetIPAddress | Format-List IPAddress&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;우분투 배포판의 IP&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL의 우분투 배포판의 IP는 NAT 가상 네트워크에 속해 있으므로 터미널을 열고 ifconfig으로 알아냅니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761477917523&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ifconfig&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;우분투 터미널 내에서 윈도우 호스트의 IP를 알아내려면 우분투 터미널에서 /etc/resolv.conf 파일을 확인합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761477984900&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /etc/resolv.conf&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 출력되는 내용 중에서 nameserver로 되어있는 IP가 윈도우의 호스트 IP입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;윈도우에서 WSL 우분투 배포판으로 포트 포워딩 하는 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서 WSL 우분투 배포판의 애플리케이션에 접속할 때 포트 포워딩을 이용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포트 번호는 애플리케이션마다 다르지만 여기서는 postgresql의 기본 포트인 5432 포트를 기준으로 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우 파워셸에서 다음을 실행해 주세요.&lt;/p&gt;
&lt;pre id=&quot;code_1761134780047&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# WSL의 내부 IP 주소를 172.19.120.200 이라 가정합니다.

# 윈도우즈 파워쉘의 네트워크 관리 기능인 netsh 명령어를 이용하여 5432 포트를 포워딩 설정합니다.
netsh interface portproxy add v4tov4 listenport=5432 listenaddress=0.0.0.0 connectport=5432 connectaddress=172.19.120.200

# 다시 netsh 명령어로 방화벽 규칙을 추가합니다.
netsh advfirewall firewall add rule name=&quot;WSL PostgreSQL Port Forwarding&quot; dir=in action=allow protocol=TCP localport=5432&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;main-content&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&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: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;name=&quot;WSL PostgreSQL Port Forwarding&quot;&lt;/b&gt;: 규칙의 이름을 지정합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;dir=in&lt;/b&gt;: 규칙의 방향을 지정하여, direction=inbound 즉, 들어오는 트래픽에 적용합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;action=allow&lt;/b&gt;: 트래픽을 허용합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;protocol=TCP&lt;/b&gt;: 규칙이 TCP 프로토콜에 적용됩니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;localport=5432&lt;/b&gt;: 로컬 포트 5432로 향하는 트래픽에 적용됩니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Localhost 포트 포워딩&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호스트(윈도우)의 웹 브라우저에서 WSL 우분투의 톰캣 서버에 접속하려면 localhost 포트 포워딩을 이용 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최신 WSL2은 기본적으로 localhost 포트 포워딩을 제공합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들어 WSL 우분투의 톰캣 서버를 8080 포트로 실행했다면 윈도우(호스트)의 브라우저 주소창에 http://localhost:8080 을 입력하면 우분투의 톰캣 서버로 자동 연결됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네트워크가 NAT인경우 윈도우(호스트)와 WSL 배포판 우분투의 IP가 다르지만 locahost로 접근하는 경우 자동 포트 포워딩을 해주는 기능을 이용하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;likes-and-labels-container&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #3f4c66;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Mirrored 네트워킹&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가상 네트워크(NAT)를 사용할 때 우분투 배포판을 재시작 하는 경우 IP가 변경될 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럴때마다 위에서 설정했던 포트 포워딩이랑 방화벽 설정을 해야할 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제를 해결하는 방법이 NAT를 사용하지 않고 Mirrored 모드 네트워킹을 사용하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 모드는 WSL이 호스트(윈도우)의 네트워크 인터페이스를 그대로 복제(미러링)해서 사용하는 방식입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 모드는 윈도우즈11 의 22H2 이후 버전에서만 지원합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mirrored 네트워킹의 장점은 다음과 같습니다..&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;WSL이 윈도우와 동일한 네트워크 대역의 IP를 갖게되어서 IP를 고정 할 수 있습니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;포트 포워딩 설정을 할 필요가 없어집니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;윈도우 방화벽의 규칙이 WSL에도 동일하게 적용됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Mirrored 네트워킹 설정 방법&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 윈도우 탐색기 주소창에 %USERPROFILE% 을 입력하면 사용자 홈 디렉토리로 이동합니다.&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. 해당 폴더에서 .wslconfig 파일을 생성한 뒤 텍스트 편집기로 엽니다.&lt;span style=&quot;color: #f3c000;&quot;&gt;&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;size16&quot;&gt;3. 파일에 다음 내용을 추가해주거나 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762159155717&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[wsl2]
networkingMode=mirrored&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;4. 파일을 저장합니다.&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;5. WSL을 종료합니다. 파워셸(powershell) 또는 명령프롬프트(cmd) 에서 다음과 같이 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762159246730&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl --shutdown&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;6. 다시 WSL 우분투를 시작하면 새로운 네트워킹 모드로 실행되어 윈도우와 우분투의 IP가 동일하게 설정된 것을 확인할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762159335603&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ifconfig&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>IP</category>
      <category>mirror 모드</category>
      <category>WSL 2</category>
      <category>네트워크</category>
      <category>포트 포워딩</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/448</guid>
      <comments>https://aacii.tistory.com/448#entry448comment</comments>
      <pubDate>Mon, 3 Nov 2025 17:42:38 +0900</pubDate>
    </item>
    <item>
      <title>리스너(Listener) : 옵저버(observer) 패턴</title>
      <link>https://aacii.tistory.com/456</link>
      <description>&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;특정한 구독자(subscriber)들을 보관하고 있다가 이벤트를 발행(publish)하면 구독자들이 실행하는 방식입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ServletContext Listener&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서블릿 API는 여러 이벤트에 맞는 리스너들을 인터페이스로 정의해두었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 이용해서 애플리케이션이 시작되거나 종료될 때 특정 작업을 수행하거나, session에 특정한 작업에 대한 감시와 처리, request에 특정한 작업에 대한 감시와 처리들을 할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762126154171&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import lombok.extern.log4j.Log4j2;
import javax.servlet.annotation.WebListener;

@WebListener
@Log4j2
public class W2AppListener implements javax.servlet.ServletContextListener {
    @Override
    public void contextInitialized(javax.servlet.ServletContextEvent sce) {
        log.info(&quot;Servlet initialized&quot;);
    }
    @Override
    public void contextDestroyed(javax.servlet.ServletContextEvent sce) {
        log.info(&quot;Servlet destroyed&quot;);
    }
}&lt;/code&gt;&lt;/pre&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;이 contextInitialized()와 contextDestroyed()에는 파라메터로 ServletContextEvent가 전달됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ServletContext는 웹 애플리케이션의 모든 공유자원들이 있는 공간이므로 여기에 저장된 정보들은 모든 컨트롤러나 JSP/EL 등에서 접근해서 사용할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762126598737&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;    @Override
    public void contextInitialized(javax.servlet.ServletContextEvent sce) {
        log.info(&quot;Servlet initialized&quot;);
        ServletContext servletContext = sce.getServletContext();
        //애플리케이션 전역에서 사용할 수 있는 정보 등록
        servletContext.setAttribute(&quot;appName&quot;, &quot;example&quot;);
    }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 위처럼 servletContext에 setAttribute() 메소드를 이용해서 값을 설정한 다음 아래 예제처럼 컨트롤러나 jsp 같은 곳에서 활용할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762128340382&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        ServletContext servletContext = req.getServletContext();
        log.info(&quot;[doGet()]&quot;+servletContext.getAttribute(&quot;appName&quot;));
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1762128469289&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;html&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h2&amp;gt;${appName}&amp;lt;/h2&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&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;Spring framework에서도 웹 프로젝트에서 미리 로딩하는 작업을 처리할 때 ServletContextListener를 이용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;세션 관련 리스너&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서블릿 리스너 중에서는 HttpSession 관련 작업을 감시하는 리스너를 등록할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HttpSessionListener나 HttpSessionAttributeListener 들이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 이용해서 세션이 생성되거나 setAttribute()가 실행될 때 이를 감지할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1762129296515&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import lombok.extern.log4j.Log4j2;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;

@WebListener
@Log4j2
public class LoginListener implements HttpSessionAttributeListener {
    @Override
    public void attributeAdded(HttpSessionBindingEvent event) {
        String name = event.getName();
        Object obj = event.getValue();
        if(name.equals(&quot;loginInfo&quot;)) {
            log.info(&quot;A user logged in.&quot;);
            log.info(obj);
        }
    }
}&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>Java</category>
      <category>Listener</category>
      <category>Observer</category>
      <category>리스너</category>
      <category>서블릿</category>
      <category>옵저버 패턴</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/456</guid>
      <comments>https://aacii.tistory.com/456#entry456comment</comments>
      <pubDate>Mon, 3 Nov 2025 09:22:23 +0900</pubDate>
    </item>
    <item>
      <title>Singleton Pattern 과 DeadLock</title>
      <link>https://aacii.tistory.com/75</link>
      <description>&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;싱글톤 패턴:&amp;nbsp;&lt;/b&gt;하나의 인스턴스만 사용하기 위한 디자인 패턴으로 스레드 풀링, 커넥션 풀링 등에서 주로 사용합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;인스턴스를 생성할 때 참조 변수를 private static으로 합니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;생성자를 private로 한다. 이는 외부에서 new로 인스턴스를 생성하지 못하게 합니다.&lt;/li&gt;
&lt;li&gt;인스턴스를 리턴하는 public static getInstance() 메서드를 제공합니다. 이 메서드 내부에서 인스턴스를 생성할 때 null 체크 후 생성해서 인스턴스를 리턴 해야 합니다.&lt;/li&gt;
&lt;li&gt;멀티스레드 환경에서는 위 getInstance메서드를 synchronized 해야 안전합니다. 하지만 전반적인 성능 저하 때문에 일반적으로 아래와 같은 패턴으로 코딩합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;싱글톤패턴1&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;highlight smali&quot; style=&quot;background-color: #f8f8f8; border-radius: 10px; border: 1px solid #cccccc; box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: consolas, menlo, monaco, courier, monospace; font-size: 15px; line-height: 1.3; margin-bottom: 15px; overflow-x: auto; padding: 15px 20px; tab-size: 4; width: 802px;&quot;&gt;&lt;code&gt;public class InitializationOnDemandHolderIdiom {
 
 private InitializationOnDemandHolderIdiom () {}
 private static class Singleton {
  private static final InitializationOnDemandHolderIdiom instance = new InitializationOnDemandHolderIdiom();
 }
 
 public static InitializationOnDemandHolderIdiom getInstance () {
  System.out.println(&quot;create instance&quot;);
  return Singleton.instance;
 }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;싱글톤패턴2&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;highlight routeros&quot; style=&quot;background-color: #f8f8f8; border-radius: 10px; border: 1px solid #cccccc; box-sizing: inherit; color: rgba(0, 0, 0, 0.87); font-family: consolas, menlo, monaco, courier, monospace; font-size: 15px; line-height: 1.3; margin-bottom: 15px; overflow-x: auto; padding: 15px 20px; tab-size: 4; width: 802px;&quot;&gt;&lt;code&gt;public enum EnumInitialization {
 INSTANCE;
 static String test = &quot;&quot;;
 public static EnumInitialization getInstance() {
  test = &quot;test&quot;;
  return INSTANCE;
 }
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;이처럼 enum 열거형을 반환값으로 가지면서 대문자로 INSTANCE;를 선헌해주면 JVM에서 싱글톤 인스턴스를 보장해줍니다.&lt;/div&gt;
&lt;div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;스레드 안전성(Thread-Safety)&lt;/b&gt;: 여러 스레드에서 동시에 접근해도 인스턴스가 여러 개 생성되지 않도록 보장합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;직렬화(Serialization) 보장&lt;/b&gt;: 직렬화/역직렬화 과정에서도 싱글톤이 깨지지 않습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;리플렉션(Reflection) 방어&lt;/b&gt;: 리플렉션을 통한 강제적인 인스턴스 생성을 막아줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;enum을 sigleton으로 만들면 new로 객체를 생성할 필요 없이 INSTANCE 상수를 직접 사용하면 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761989927045&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        // 'new'로 생성하지 않고, INSTANCE를 직접 참조합니다.
        MySingleton singletonA = MySingleton.INSTANCE;
        singletonA.doSomething(); // &quot;싱글톤 인스턴스가 동작합니다.&quot;

        // 프로그램의 다른 어디에서 접근하더라도...
        MySingleton singletonB = MySingleton.INSTANCE;
        singletonB.anotherMethod(); // &quot;항상 동일한 인스턴스가 이 메서드를 실행합니다.&quot;

        // 두 참조는 항상 동일한 객체를 가리킵니다.
        if (singletonA == singletonB) {
            System.out.println(&quot;A와 B는 정확히 같은 인스턴스입니다.&quot;); 
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;고전적인 1번 패턴 방법보다 enum을 사용한 2번 패턴을 더 많이 사용합니다.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;멀티스레드 Deadlock 방지를 위한 고려 사항들&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;멀티스레드에서 내부에서 호출하는 메서드 중에서 인스턴스의 멤버 변수에 접근할 때는 synchronized 해주어야한다.&lt;/li&gt;
&lt;li&gt;멀티스레드 환경에서는 singleton 패턴으로 인스턴스를 하나만 생성해서는 병목현상이 일어나므로 되도록 singleton 패턴을 안 쓰는 것이 좋다.&lt;/li&gt;
&lt;li&gt;서블릿 프로그램에서 서블릿 클래스에 멤버 변수를 정의하지 말라. 서블릿 인스턴스는 컨테이너에서 싱글톤 처럼 동작(한 번 생성한 인스턴스를 재활용)하므로 스레드 경합시 데이터 값을 보장할 수 없기 때문이다.&lt;/li&gt;
&lt;li&gt;오픈 호출: lock을 확보하지 않은 상태로 메서드 호출 하는 기법&lt;/li&gt;
&lt;li&gt;lock의 시간제한: 암묵적인 락 synchronized 말고 락 시간을 제한할 있는 Lock 클래스의 tryLock 메소드를 사용한다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;순환대기 (circular wait) 예방 : 프로그래밍에서 적용할 수 있는 현실적인 방법이다. 여러가지 아이디어가 있을 수 있지만 핵심은 lock을 걸어주는 타이밍을 잘 조정해 주어서 순환 대기가 발생하지 않게 하는 것이다.&lt;/li&gt;
&lt;li&gt;synchronized 동기화 블록 최소화&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;참고 URL&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://blog.seotory.com/post/2016/03/java-singleton-pattern&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://blog.seotory.com/post/2016/03/java-singleton-pattern&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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;widthContent&quot; data-filename=&quot;0000.png&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;418&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSPAYZ/btqESW5nyD4/xnPLTF3EkPD8Mc6twokX9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSPAYZ/btqESW5nyD4/xnPLTF3EkPD8Mc6twokX9K/img.png&quot; data-alt=&quot;DEV&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSPAYZ/btqESW5nyD4/xnPLTF3EkPD8Mc6twokX9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSPAYZ%2FbtqESW5nyD4%2FxnPLTF3EkPD8Mc6twokX9K%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;661&quot; height=&quot;418&quot; data-filename=&quot;0000.png&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;418&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;DEV&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>dead lock</category>
      <category>Java</category>
      <category>Singleton Pattern</category>
      <category>멀티스레드</category>
      <category>자바</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/75</guid>
      <comments>https://aacii.tistory.com/75#entry75comment</comments>
      <pubDate>Sat, 1 Nov 2025 18:39:23 +0900</pubDate>
    </item>
    <item>
      <title>Jenkins로 AWS에 배포</title>
      <link>https://aacii.tistory.com/455</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;AWS 계정생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/free&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aws.amazon.com/ko/free&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761969737777&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어&quot; data-og-description=&quot;AWS 프리 티어 제품 및 서비스를 통해 AWS 플랫폼, 제품 및 서비스를 무료로 체험해 볼 수 있습니다. AWS 프리 티어 서비스의 100가지 제품 및 서비스를 찾아보세요.&quot; data-og-host=&quot;aws.amazon.com&quot; data-og-source-url=&quot;https://aws.amazon.com/ko/free&quot; data-og-url=&quot;https://aws.amazon.com/ko/free/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/free&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aws.amazon.com/ko/free&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AWS 프리 티어 제품 및 서비스를 통해 AWS 플랫폼, 제품 및 서비스를 무료로 체험해 볼 수 있습니다. AWS 프리 티어 서비스의 100가지 제품 및 서비스를 찾아보세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS프리티어로 무료 계정 생성을 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계정 생성에 필요한 정보들을 입력하고 결제 정보와 연락처 정보를 입력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지원 플랜 선택은 무료로 선택하고 완료합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 인스턴스를 생성하기 전에 AWS 계정 보안 설정을 참고해 주세요.&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;h2 data-ke-size=&quot;size26&quot;&gt;AWS 인스턴스 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. AWS 콘솔에 로그인합니다.&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. EC2(Elastic Compute Cloud)를 이용하겠습니다. 콘솔에 로그인 버튼을 클릭한 후 AWS service 페이지에서 모든 서비스를 클릭해서 컴퓨팅&amp;gt; EC2를 선택합니다.&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. 표시된 EC2 대시보드에서 인스턴스 시작을 클릭해서 인스턴스 작성을 시작합니다.&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;4. AMI(Amazon Machine Image)를 선택하는데 여기서는 CentOS7을 기준으로 합니다. AWS Marketplace를 클릭해서 CentOS를 검색해서 CentOS7을 선택합니다.&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;5. 요금 안내가 표시되는데 프리 티어 사용 가능을 확인하고 Continue 버튼을 클릭합니다.&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;6. 인스턴스 유형을 요금이 발생하지 않는 t2.micro를 선택한 후 &quot;검토 및 시작&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;7. 범용 SSD에서 부팅 화면에서는 권장 사항을 선택 후 다음을 클릭합니다.&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;8. 인스턴스 시작 검토 페이지에서 보안 그룹의 보안 그룹편집을 클릭해서 보안 그룹을 변경합니다.&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;9. 보안 그룹 할당에서 &quot;기존 보안 그룹 선택&quot;을 선택하고 이름이 default인 보안 그룹을 체크 후 검토 및 시작 버튼을 클릭합니다.&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;10. 보안 그룹이 변경된 것을 확인하고 시작 버튼을 클릭합니다.&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;11. 키 페어가 등록되어 있지 않으면 적절한 SSH 키를 생성해 줍니다. 이 키는 SSH로 접속할 때나 젠킨스에서 배포할 때 사용합니다. 키페어를 다운로드하여서 로컬 PC에 저장해 둡니다.&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;12. 키 페어가 다운로드된 후 인스턴스 시작 버튼을 클릭해서 인스턴스를 시작합니다.&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;13. 대기화면이 끝나면 '시작 상태'에 대한 설명 및 사용량, 리눅스 시스템에 접속하는 버 등을 알려주는 페이지가 나옵니다. 그 페이지에 있는 '인스턴스 보기'를 클릭합니다. 인스턴스 생성에 수 분 이상 소요될 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;보안 그룹 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SSH로 AWS인스턴스에 접속이 가능하도록 '보안 그룹'을 설정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;22번 포트에 인바운드 가능하게 설정합니다.&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. 좌측 메뉴에서 NETWORK &amp;amp; SECURITY &amp;gt; 보안 그룹을 클릭하고 그룹 이름이 'defaul'인 보안 그룹을 선택합니다. 그룹을 추가하지 않았다면 보안 그룹이 하나만 표시됩니다.&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. 아래쪽 탭 중에서 '인바운드' 탭을 클릭한 후 편집 버튼을 클릭합니다.&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. 인바운드 규칙 편집 화면에서 SSH 접속용으로 22번 포트와 톰캣 접속용으로 8080 포트를 설정한 다음 저장을 클릭합니다.&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;4. 생성한 인스턴스에 SSH로 접속해서 톰캣을 설치합니다.&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;5. SSH 클라이언트는 없다면 PuTTY를 다운로드하여서 사용하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761972547081&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Download PuTTY: latest release (0.83)&quot; data-og-description=&quot;This page contains download links for the latest released version of PuTTY. Currently this is 0.83, released on 2025-02-08. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel&quot; data-og-host=&quot;www.chiark.greenend.org.uk&quot; data-og-source-url=&quot;https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html&quot; data-og-url=&quot;https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Download PuTTY: latest release (0.83)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;This page contains download links for the latest released version of PuTTY. Currently this is 0.83, released on 2025-02-08. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.chiark.greenend.org.uk&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. puttygen.exe를 실행해서 AWS엣 다운로드한 키 (.pem) 파일을 PuTTY용 ppk 파일로 변환합니다. puttygen화면에서 Actions&amp;gt; Load를 클릭한 뒤 파일 형식을 모든 파일로 변경 후 pem 파일을 선택합니다. 그리고 Save private key 버튼을 클릭해서 개인키를 로컬 PC에 저장해 둡니다. &quot;암호 없이 저장하겠습니까?&quot; 경고문이 나오면 &quot;예&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;7. AWS 인스턴스의 DNS 주소를 복사한 뒤 PuTTY를 실행해서 SSH로 접속합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;AWS 콘솔 좌측 메뉴에서 인스턴스를 클릭한 후 접속할 인스턴스를 선택합니다.&lt;/li&gt;
&lt;li&gt;하단에 퍼블릭 DNS(IPv4) 주소를 클립 보드에 복사합니다.&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;8. DNS 주소가 복사되었다면 putty.exe를 실행해서 복사한 퍼블릭 DNS 주소를 Host Name(or IP address)의 입력란에 붙여 넣은 뒤 Connection &amp;gt; SSH &amp;gt; Auth를 클릭합니다.&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;9. Auth 메뉴에서 Browse 버튼을 클릭해서 위에서 저장했던 private key(.ppk)파일을 선택합니다.&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;10. 이제 Open 버튼을 클릭해서 SSH로 접속할 수 있습니다. SSH 인증 경고문이 뜬 뒤 &quot;예&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;11. login as: centos를 입력하고 엔터를 누르면 로그인됩니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;AWS에 톰캣 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. SSH로 AWS 인스턴스에 접속 후 root 사용자로 전환해 라이브러리를 업데이트합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761973664523&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo su -
yum update&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;2. 자바를 설치합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761973698200&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install java&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;3. 톰캣을 다운로드하여서 설치합니다. 예제에서는 /usr/local/src에 다운로드해서 압축을 풉니다. 톰캣 다운로드 페이지에서 tar.gz 형식으로 다운로드합니다.&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;4. 다운로드 페이지의 Mirrors 항목에서 Other mirrors 값을 &lt;a href=&quot;http://www-eu.apache.org/dist/&quot;&gt;http://www-eu.apache.org/dist/&lt;/a&gt; 으로 선택합니다. tar.gz 링키에서 마우스 오른쪽 클릭해서 Copy Link Location을 선택해서 링크 주소를 복사합니다.&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;5. PuTTY 화면으로 돌아가서 다운로드할 디렉터리로 이동 후에 curl 명령어로 다운로드를 진행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761973961570&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl 아까복사했던다운로드용URL링크주소&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;6. 다운로드가 완료되면 압축을 풉니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761974010328&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tar -zxvf 다운받은톰캣파일.tar.gz&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;7. 압축 해제된 파일을 mv 명령으로 이동 후 소유자를 root에서 centos로 변경합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761974141710&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mv apache-tomcat-버전/ /usr/local/tomcat
chown -R centos:centos /usr/local/tomcat/&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;8. centos 유저로 변경한 후 톰캣을 실행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761974265824&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;su centos
/usr/local/tomcat/bin/startup.sh&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;9. 톰캣이 정상적으로 작동되는지 톰캣 화면에 접속합니다. AWS의 인스턴스의 퍼블릭 DNS에 표시되어 있는 도메인의 뒤에 8080 포트를 붙여서 접속합니다. 톰캣 고양이 그림이 나오는지 확인해 주세요.&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;h2 data-ke-size=&quot;size26&quot;&gt;배포하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;젠킨스에서 원격 환경에도 톰캣 매니저를 이용해서 배포가 가능하지만, 일반적으로는 SSH로 배포합니다.&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. 젠킨스 설정에서 플러그인 설치 화면으로 가서 Publish Over SSH 플러그인을 다운로드하고 설치합니다.&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. Jenkins 관리 &amp;gt; System &amp;gt; Publish over SSH 항목으로 이동합니다.&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. AWS 인스턴스 작성 시 다운로드한 키파일(.pem) 파일을 텍스트 에디터로 열어서 SSH Key정보를 입력한 후 그 SSH Key로 접속가능한 서버를 추가합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Passphrase : 키에 암호화를 걸었다면 해당 암호를 입력합니다. 예제에서는 암호를 입력하지 않았으니 공란으로 둡니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Path to Key: 키 파일이 있는 절대 경로를 입력합니다. 아니면 Key 항목에 .pem 파일을 열어서 입력된 키값을 복사해서 넣습니다.&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;4. SSH Servers에 추가 버튼을 눌러서 대상 서버를 추가합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;name : 적당한 이름을 넣습니다.&lt;/li&gt;
&lt;li&gt;hostname: 해당 서버의 주소를 입력합니다. 여기서는 AWS 퍼블릭 DNS주소를 복사해서 붙여 넣습니다.&lt;/li&gt;
&lt;li&gt;Username: SSH로 접속할 유저를 입력합니다. 예제에서는 centos를 입력합니다.&lt;/li&gt;
&lt;li&gt;Remote Directory : 접속할 때 홈 디렉터리를 입력합니다. 예제에서는 톰캣의 홈 디렉토리를 입력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 입력 후 Save 버튼을 클릭한 뒤 로컬 배포에서 사용하던 잡(job)을 변경해서 SSH를 이용해서 배포를 해봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/454&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aacii.tistory.com/454&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761977898268&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Jenkins (젠킨스)&quot; data-og-description=&quot;젠킨스는 자바 오픈소스 소프트웨어이며 플러그인으로 다른 다양한 시스템들과 연동할 수 있습니다. 주요기능git과 연동웹 인터페이스테스트 보고서 생성빌드 및 테스트 자동화코드 품질 감시&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/454&quot; data-og-url=&quot;https://blog.aacii.net/454&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dLhkNt/hyZMSubeGd/LI95FIndFF0W97dRJhf1Hk/img.png?width=800&amp;amp;height=308&amp;amp;face=0_0_800_308,https://scrap.kakaocdn.net/dn/hP15E/hyZMSHJW1L/VRGzfn6go7kvlFrmW0KgN0/img.png?width=800&amp;amp;height=308&amp;amp;face=0_0_800_308,https://scrap.kakaocdn.net/dn/cWqDwJ/hyZMT7IjsX/bjSsN0XzWUOEiYg8qlaqKk/img.png?width=1016&amp;amp;height=392&amp;amp;face=0_0_1016_392&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/454&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/454&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dLhkNt/hyZMSubeGd/LI95FIndFF0W97dRJhf1Hk/img.png?width=800&amp;amp;height=308&amp;amp;face=0_0_800_308,https://scrap.kakaocdn.net/dn/hP15E/hyZMSHJW1L/VRGzfn6go7kvlFrmW0KgN0/img.png?width=800&amp;amp;height=308&amp;amp;face=0_0_800_308,https://scrap.kakaocdn.net/dn/cWqDwJ/hyZMT7IjsX/bjSsN0XzWUOEiYg8qlaqKk/img.png?width=1016&amp;amp;height=392&amp;amp;face=0_0_1016_392');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Jenkins (젠킨스)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;젠킨스는 자바 오픈소스 소프트웨어이며 플러그인으로 다른 다양한 시스템들과 연동할 수 있습니다. 주요기능git과 연동웹 인터페이스테스트 보고서 생성빌드 및 테스트 자동화코드 품질 감시&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. DeployTomcatJob을 선택하고 구성을 클릭합니다. 위 454 게시글에서 추가했던 Deploy war/ear to a container 항목의 우측 상단 X 버튼을 눌러서 삭제합니다.&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;7. 빌드 후 조치에서 Send build artifacts over SSH를 선택하고 필요한 정보를 입력합니다. Name에는 SSH-Key를 선택하고 Transfers 부분에서 Source Files에 전송할 war 파일의 경로를 입력합니다. (예: build/libs/war파일이름.war)&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;8. Remove prefix는 Source Files에서 제외할 접두사를 지정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Remote Directory는 파일을 전송할 디렉터리를 지정합니다. 위에서 SSH로 접속 시 홈 디렉터리로 톰캣 홈을 지정해 주었으니 여기서는 그 하위 폴더인 webapps 만을 입력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Exec command는 파일이 전송된 후 실행할 명령어를 지정할 수 있습니다. 실제 운영에서 배포 전후에 처리할 작업을 처리하는 용도로 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다 입력했다면 저장합니다. 예제에서는 하나으니 Transfers만 설정했지만 실무에서는 여러 개 설정하는 경우가 많습니다. Transfers 추가는 Add Transfer Set을 클릭하면 됩니다.&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;9. 저장된 내용으로 Build Now를 클릭합니다. 빌드가 성공적으로 끝나면 AWS에 배포가 잘 되었는지 확인합니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;깃허브 훅&lt;/h2&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;1. 자신의 깃허브에 있는 프로젝트(저장소)의 Settings로 이동합니다.&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. 여기서는 간편한 Webhooks를 이용합니다. 좌측 메뉴에서 Webhooks를 클릭하고&amp;nbsp; 우측 상단의 Add webhook을 클릭합니다.&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. Payload URL에 다음과 같이 URL을 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761980368530&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;http(s)://젠킨스서버URL/github-webhook/&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;4. Which events would you like to triger this webhook 에는 푸시 이벤트가 발생했을 때 실행되도록 Just the push event를 선택합니다.&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;5. Payload URL을 다 입력했다면 Add webhook을 클릭하면 완료 화면이 표시됩니다.&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;6. 화면에서 Edit 버튼을 눌러서 하단에 표시되는 Recent Deliverires 부분에 연결이 잘 되었나 확인합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기까지가 깃허브 설정입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. 젠킨스에서 job 구성을 클릭합니다. Triggers에서 Github hook trigger for GITScm polling을 체크하고 저장합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 소스를 push 하면 젠킨스의 job이 실행되어 배포까지 가능해집니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;매개변수 전달&lt;/h2&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. 매개변수를 지정하는 방법은 job의 구성 메뉴 General에서 '이 빌드는 매개변수가 있습니다'를 체크하면 됩니다.&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. 대상 서버에 접속하기 위한 SSH정보는 이전 정보를 그대로 사용합니다.&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. 등록한 내용은 jenkins 관리 &amp;gt; 시스템 설정 &amp;gt; publish over SSH에서 확인 및 변경이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전에 만들었던 DeployTomcatJob과 같은 기능을 셸스크립트로 실행하는 공통 잡을 만들어 보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행 순서는 다음과 같습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;실행 중인 톰캣을 정지합니다.&lt;/li&gt;
&lt;li&gt;webapps에 배포된 애플리케이션을 삭제합니다.&lt;/li&gt;
&lt;li&gt;젠킨스 서버에서 war 파일을 복사합니다.&lt;/li&gt;
&lt;li&gt;톰캣 서버를 시작합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 새로운 Item을 클릭해서 Freestyle project에 DeployTomcatWithShellJob 이라는 이름으로 새로운 잡을 하나 만들어봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;General에서 '이 빌드는 매개변수가 있습니다'에 체크하고 '매개변수 추가'에서 String Parameter를 선택합니다.&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;5. 첫 String Parameter에서 매개변수 명에는 CI_WAR를 입력하고, Default Value 에는 build/libs/war파일이름.war 를 입력합니다.&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;6. 다시 매개변수 추가를 클릭하고 String Parameter를 선택한 후 매개변수 명에 CI_REMOTE_PATH를, Default Value에 webapps를 입력합니다.&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;7. 같은 방법을 CI_NAME에는 적절한 이름을, BUILD_ID에 dontKillme를 추가하여 매개변수를 추가합니다. BUILD_ID는 젠킨스가 대상 서버에서 톰캣을 실행한 후 접속을 종료하더라도 톰캣 프로세스를 계속 실행하는 용도입니다.&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;8. Git에 적절한 저장소를 지정해 주고, Build에서 Invoke를 적절히(gradle or maven) 추가 후 clean install를 입력합니다.&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;9. 빌드 후 조치에서 Send build artifacts over SSH를 선택한 후 실행할 명령어 순서대로 입력합니다.&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SSH Server &amp;gt; Name은 앞에서 설정한 것을 선택해 줍니다.&lt;/li&gt;
&lt;li&gt;Transfers &amp;gt; Exec command 에는 톰캣 중지 스크립트인 shutdown.sh 와 기존 배포된 App 삭제 명령어를 입력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;10. Add Transfer Set을 클릭하고 나머지 명령어도 입력해 줍니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Source files는 ${CI_WAR}&lt;/li&gt;
&lt;li&gt;Remove prefix는 build/libs 혹은 target&lt;/li&gt;
&lt;li&gt;Remote directory는 ${CI_REMOTE_PATH}&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;11. 이제 톰캣을 실행하는 설정을 합니다. Add Transfer Set을 추가하고 Exec command에 톰캣실행 스크립트인&amp;nbsp; /usr/local/tomcat/bin/startup.sh를 입력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장하고 대시보드로 돌아가면 Build Now가 사라지고 Build with Parameters가 보입니다. 클릭해서 페이지를 이동합니다.&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;12. 앞에서 설정한 매개변수를 지정할 수 있는 화면이 대시보드에 나옵니다. 기본값은 앞에서 지정한 Default Value로 되어있습니다. 빌드하기를 눌러서 빌드를 실행하고 콘솔 출력에서 정상적으로 배포되는지 확인합니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;빌드 파이프라인&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 개의 Jenkins의 Job들을 묶어서 실행하는 빌드 파이프라인을 만들 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플러그인을 설치해서 사용하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 사용법을 생략합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;소나큐브&lt;/h2&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>AWS</category>
      <category>deploy</category>
      <category>Java</category>
      <category>jenkins</category>
      <category>War</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/455</guid>
      <comments>https://aacii.tistory.com/455#entry455comment</comments>
      <pubDate>Sat, 1 Nov 2025 16:44:25 +0900</pubDate>
    </item>
    <item>
      <title>Jenkins (젠킨스)</title>
      <link>https://aacii.tistory.com/454</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;젠킨스는 자바 오픈소스 소프트웨어이며 플러그인으로 다른 다양한 시스템들과 연동할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주요기능&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;git과 연동&lt;/li&gt;
&lt;li&gt;웹 인터페이스&lt;/li&gt;
&lt;li&gt;테스트 보고서 생성&lt;/li&gt;
&lt;li&gt;빌드 및 테스트 자동화&lt;/li&gt;
&lt;li&gt;코드 품질 감시&lt;/li&gt;
&lt;li&gt;인증 권한 관리&lt;/li&gt;
&lt;li&gt;배포 관리 자동화&lt;/li&gt;
&lt;li&gt;분산 빌드&lt;/li&gt;
&lt;li&gt;그루비 스크립트를 사용한 잡 스케줄링&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;젠킨스 설치&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;젠킨스를 사용하려면 JDK와 메이븐이 필요합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여기서는 JDK11 이상을 설치했다고 가정합니다.&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;LTS 버전을 다운로드 받습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여기서는 Generic Java package (.war) 을 다운받는다고 가정합니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://jenkins.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://jenkins.io&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761905858372&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Jenkins&quot; data-og-description=&quot;Jenkins &amp;ndash; an open source automation server which enables developers around the world to reliably build, test, and deploy their software&quot; data-og-host=&quot;www.jenkins.io&quot; data-og-source-url=&quot;https://jenkins.io&quot; data-og-url=&quot;https://www.jenkins.io/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bBubhv/hyZMUytcZV/V2ZFzz53qXEQB6b9PlyHMK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bWIJfF/hyZMJwYRdR/C46Lu14zZ9na3xveEkqfKk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/cFXOAt/hyZML9oa3d/pvXrngVCVde7PLSP6iUalk/img.png?width=1800&amp;amp;height=630&amp;amp;face=0_0_1800_630&quot;&gt;&lt;a href=&quot;https://jenkins.io&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://jenkins.io&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bBubhv/hyZMUytcZV/V2ZFzz53qXEQB6b9PlyHMK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bWIJfF/hyZMJwYRdR/C46Lu14zZ9na3xveEkqfKk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/cFXOAt/hyZML9oa3d/pvXrngVCVde7PLSP6iUalk/img.png?width=1800&amp;amp;height=630&amp;amp;face=0_0_1800_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Jenkins&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Jenkins &amp;ndash; an open source automation server which enables developers around the world to reliably build, test, and deploy their software&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.jenkins.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 내려 받은 war 파일을 tomcat 서버에 deploy해도 되지만 아래 처럼 jre를 이용해서 바로 실행해도 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761906548740&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;D:\dev\jenkins\&amp;gt;java -jar jenkins.war&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 D:\dev\jenkins\ 경로에 다운받은 jenkins.war 파일을 이동시켜놨다고 가정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 war 파일 내부에 제티 웹 서버가 8080 포트로 실행되어 젠킨스를 사용할 수 있습니다.&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. 브라우저에서 http://localhost:8080/ 을 입력하면 관리자 패스워드 입력화면이 나옵니다.&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. Administrator password를 입력하고 continue를 누릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 jenkins 실행시 나오던 로그에서 Please use the following password to proceed to installaton 문장 다음에 나오는 암호화키를 복사 붙여넣고 continue를 누르시면됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아니면 C:\User\사용자이름\.jenkins\secrets\initialAdminPassword 파일을 메모장으로 열면 위에 나오는 키를 확인할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치시 예상치 않은 문제가 발생시 jenkins 인스턴스를 멈추고 위 jenkins 폴더를 삭제 후 다시 시도해 보십시오.&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;4. Install suggested plugins를 선택하면 젠킨스 추천 플러그인들이 같이 설치되고, Select plugins to install을 선택하면 필요한 플러그인을 직접 선택할 수 있습니다. 여기서는 Install suggested plugins를 선택하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 플러그인이 인스톨되는 과정이 보여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 플러그인 설치가 끝나면 관리자 정보 입력 화면이 나옵니다. 입력하고 Save&amp;nbsp; and Finish 버튼을 클릭합니다.&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;6. URL설정이 나오고 Save and Finish 하면 설치가 종료됩니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;윈도우 사용시 유니코드 적용&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우 환경에서 컴파일 시 문자 인코딩이 깨질 수 있어서 UTF-8 으로 설정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템&amp;gt;고급 시스템 설정&amp;gt;환경 변수&amp;gt;시스템 변수 항목에서 새로 만들기를 해서 다음과 같은 항목을 추가해줍니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시스템 변수 이름: JAVA_TOOL_OPTIONS&lt;/li&gt;
&lt;li&gt;변수 값: -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;잡(job) 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 좌측 상단 새로운 Item 을 클릭합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 적당한 이름을 넣고 아래 템플릿 중에서 Freestyle project 를 선택하고 OK합니다.&lt;/p&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: 26.1628%;&quot;&gt;FreeStyle project&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;대부분의 젠킨스 설정을 할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;Pipeline&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;그루비 스크립트로 파이프라인을 작성할 때 사용합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;Multi-configuration project&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;복수의 다른 환경의 서버에 각각 다른 설정을 할 때 사용합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;Folder&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;폴더를 만들어 잡들을 그룹화 합니다. 하위 폴더도 만들 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;GitHub Organization&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&gt;깃허브의 조직 혹은 개인 단위로 자동화하는 플러그인 입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 26.1628%;&quot;&gt;Multibranch Pipeline&lt;/td&gt;
&lt;td style=&quot;width: 73.8372%;&quot;&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;3.&amp;nbsp; 그러면 설정 메뉴가 생기는데, 깃허브에 있는 소스를 가지고 와서 빌드해봅시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 소스코드 관리 메뉴에서 Git을 선택하고 깃허브나 깃원격저당소의 URL을 복사해서 Repository URL에 붙여넣습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 다음은 자격 증명을 추가합니다. ssh key를 이용하는 방법이나 깃허브 계정을 입력하는 방법 등이 있습니다. 여기서는 깃허브 계정을 등록합니다. Credentials 항목에 Add를 클릭하고 Jenkins 를 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. Kind는 Username with password 상태로 두고 Username에 깃허브 ID를 Password에 깃허브 패스워드를 입력하고 Add 버튼을 클릭합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7. Credentials 항목에 방금 추가했던 깃허브 계정을 선택하고 일단 Save 버튼을 누릅니다. 정상 작성되었다면 잡의 대시보드로 이동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8. 지금 빌드를 클릭해서 빌드해봅시다. 그러면 좌측 아래 Build history가 보이게 됩니다. history를 클릭해보면 자세한 정보가 보이는데 Console Output을 클릭해보면 콘솔 출력을 확인할 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;로컬 환경에서 애플리케이션 배포&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빌드한 war 파일을 로컬 컴퓨터의 톰캣 서버에 배포하는 연습을 해봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 윈도우용 톰캣 9 버전을 기준으로 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;tomcat 다운로드 및 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://tomcat.apache.org&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://tomcat.apache.org&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761962724417&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Apache Tomcat&amp;reg; - Welcome!&quot; data-og-description=&quot;The Apache Tomcat&amp;reg; software is an open source implementation of the Jakarta Servlet, Jakarta Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the Jakarta&quot; data-og-host=&quot;tomcat.apache.org&quot; data-og-source-url=&quot;https://tomcat.apache.org&quot; data-og-url=&quot;https://tomcat.apache.org&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://tomcat.apache.org&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://tomcat.apache.org&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Apache Tomcat&amp;reg; - Welcome!&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The Apache Tomcat&amp;reg; software is an open source implementation of the Jakarta Servlet, Jakarta Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the Jakarta&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;tomcat.apache.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 Windows.zip 으로 다운받습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tomcat manager 기능을 사용하기 위해 적당한 곳에 압축을 풀고 압축을 푼 경로를 TOMCAT_HOME 이라고 하면 TOMCAT_HOME/conf/tomcat-users.xml 파일을 텍스트 에디터로 열고 &amp;lt;tomcat-users&amp;gt; &amp;lt;/tomcat-users&amp;gt;태그 사이에 다음 내용을 추가해줍니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1761963532029&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  &amp;lt;role rolename=&quot;admin-gui&quot;/&amp;gt;
  &amp;lt;role rolename=&quot;manager-gui&quot;/&amp;gt;
  &amp;lt;role rolename=&quot;manager-status&quot;/&amp;gt;
  &amp;lt;role rolename=&quot;manager-script&quot;/&amp;gt;
  &amp;lt;user username=&quot;tomcat&quot; password=&quot;tomcat&quot; roles=&quot;tomcat,admin-gui,manager-gui,manager-status,manager-script&quot;/&amp;gt;
  &amp;lt;user username=&quot;jenkins&quot; password=&quot;jenkins&quot; roles=&quot;tomcat,admin-gui,manager-gui,manager-status,manager-script&quot;/&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;젠킨스 서버가 8080 포트를 사용하기 때문에 톰캣의 기본 포트를 8088번으로 변경합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TOMCAT_HOME/conf/server.xml 파일을 텍스트 에디터로 열어서 포트 번호를 8080에서 8088으로 변경해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 환경 변수에 JAVA_HOME과 JRE_HOME을 설치된 JDK 경로로 지정해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나서 TOMCAT_HOME/bin/startup.bat 을 실행시킵니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상 실행되면 브라우저로 http://localhost:8088 으로 접속해서 tomcat 화면이 나오면 정상입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2025-11-01 11 33 49.png&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;392&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bvVgR5/dJMcafx7vVJ/Xkyd36hUUK8TG1MEYs6T10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bvVgR5/dJMcafx7vVJ/Xkyd36hUUK8TG1MEYs6T10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bvVgR5/dJMcafx7vVJ/Xkyd36hUUK8TG1MEYs6T10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvVgR5%2FdJMcafx7vVJ%2FXkyd36hUUK8TG1MEYs6T10%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;1016&quot; height=&quot;392&quot; data-filename=&quot;2025-11-01 11 33 49.png&quot; data-origin-width=&quot;1016&quot; data-origin-height=&quot;392&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 우측 상단 Manager App 버튼을 눌러서 아까 xml 파일에 추가했던 유저인 아이디 tomcat / 비번 tomcat 계정으로 로그인되는지 확인합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;manager app은 로컬 PC에서만 접속가능합니다. 다른 PC에서 접속하려면 추가 설정이 필요한데 여기서는 다루지 않겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;젠킨스 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;젠킨스 설정에서 플러그인을 선택한 뒤 검색에서 deploy to container 플러그인을 설치해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 Item을 눌러서 새로운 job을 Freestyle project 으로 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 이름은 DeployTomcatJob 으로 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소스 코드 관리에서 깃허브 원격 저장소 URL을 이용해 war 파일 제작용 웹 프로젝트를 연결합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예)https://github.com/사용자계정/spring-mvc-web-ex&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 Build Steps 설정에서 gradle 프로젝트이면 Invoke Gradle script를 선택하고 maven이라면 Invoke top-level Maven targets 을 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 빌드 후 조치에서 Deploy war/ear to a container를 선택하고 아래와 같은 정보를 입력해줍니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;이 내용은 예제일 뿐 프로젝트 상황에 맞게 잘 입력해야합니다.&lt;br /&gt;WAR/EAR files: **/build/libs/*war&lt;br /&gt;Context path: /spring&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Containers 에 Add Container 항목을 눌러서 tomcat 9를 선택합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Credentials 에 Add 버튼을 눌러 톰캣 매니저의 아이디와 패스워드를 입력해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tomcat URL은 위에서 설정했던 http://localhost:8088 을 입력해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정이 끝나면 save하고 지금 빌드를 눌러 빌드해봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;톰캣 매니저 화면을 새로고침해서 실제로 배포가 되었는지 확인합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>cd</category>
      <category>CI</category>
      <category>Java</category>
      <category>jenkins</category>
      <category>젠킨스</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/454</guid>
      <comments>https://aacii.tistory.com/454#entry454comment</comments>
      <pubDate>Sat, 1 Nov 2025 12:14:34 +0900</pubDate>
    </item>
    <item>
      <title>git branch 관리: tracking, cherry-pick, stash</title>
      <link>https://aacii.tistory.com/342</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;원격 브랜치 로컬로 가져오기(fetch)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 원격 저장소(orign)의 모든 원격 브랜치를 로컬로 가져옴&lt;/p&gt;
&lt;pre id=&quot;code_1677563519125&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git fetch 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;2. 체크아웃할 수 있는 브랜치 목록 확인&lt;/p&gt;
&lt;pre id=&quot;code_1677563558268&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git branch -a&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브랜치 목록 중에서 원격 브랜치에는 remotes/origin 접두사가 붙어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;로컬 브랜치를 분리 생성 후 원격 브랜치에 적용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 분리하려는 원본 브랜치를 checkout 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1732708670849&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout 분리하려는브랜치이름&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;2. 로컬 저장소에 분리하려는 새로운 브랜치를 생성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1732708805623&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout -b 분리생성할브랜치이름&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;3. 원격 저장소에 새 브랜치를 push 해 줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1732708879650&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git push 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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;원격 브랜치 업데이트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 원격 저장소의 브랜치들을 갱신&lt;/p&gt;
&lt;pre id=&quot;code_1677564888009&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git remote update&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;2. 원격 저장소 브랜치 목록 확인&lt;/p&gt;
&lt;pre id=&quot;code_1677564957178&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git branch -r&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git remote update 명령은 원격 저장소에서 삭제된 브랜치들을 로컬 저장소에서 정리하지는 않기 때문입니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 원격 저장소에 대해 삭제된 브랜치 정보를 정리(prune)하려면 아래와 같이 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1677566253990&quot; class=&quot;brainfuck&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git fetch --all --prune&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 특정 원격 저장소에 대해 삭제된 브랜치 정보를 정리하려면 아래와 같이 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1677566253990&quot; class=&quot;pgsql&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git fetch 원격저장소이름 --prune&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 원격 저장소(origin)에 브랜치를 merge 하고 나서 삭제해도 로컬에는 해당 브랜치가 존재하는 상황에서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬의 브랜치들을 잘라 없애는(prune) 작업은 위 처럼 할 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 아래 명령도 같은 기능을 수행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1677568342669&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git remote prune origin&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹은&lt;/p&gt;
&lt;pre id=&quot;code_1677568519401&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git remote update --prune&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;원격 브랜치의 변경 이력을 로컬 브랜치에 가져와서 적용(tracking)&lt;/h3&gt;
&lt;pre id=&quot;code_1677565158711&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout -t 원격브랜치명&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령어는 원격 저장소의 브랜치를 로컬 브랜치에 영구적으로 tracking 할 때 -t 옵션으로 checkout 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 checkout 하면 원격 브랜치 명과 로컬 브랜치명이 같게 checkout 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 원격과 로컬 브랜치명을 다르게 checkout 하고 싶으면 아래처럼 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1677565525747&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout -b 로컬브랜치명 원격브랜치명&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 origin/feature/tests 원격 브랜치를 로컬로 복사하려면 아래와 같이 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1677563972675&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout -b feature/tests origin/feature/tests&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령어는 feature/tests 브랜치를 생성하고, 새 브랜치(feature/tests)로 체크 아웃하며, 원격 브랜치 origin/feature/tests의 변경 이력을 로컬 feature/tests 브랜치로 가져(pull) 옵니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;브랜치 삭제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬 브랜치 삭제&lt;/p&gt;
&lt;pre id=&quot;code_1677568712218&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git branch -d 브랜치명&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-D 옵션으로 강제로 삭제할 수 있습니다.&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;원격 저장소(origin) 브랜치 삭제&lt;/p&gt;
&lt;pre id=&quot;code_1677568881606&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git push origin --delete 브랜치명&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고: git 웹페이지에서 원격 브랜치를 삭제를 지원할 수도 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;브랜치 병합&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브랜치의 head는 현재 사용중인 브랜치의 제일 최신 커밋 부분을 가리키고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 master 브랜치에 bugfix/MM-1234 브랜치를 가져와 합치는 상황이라고 가정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 기준이 되는 마스터 브랜치 체크아웃&lt;/p&gt;
&lt;pre id=&quot;code_1761889659464&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout master
git pull&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;bugfix/MM-1234 브랜치 병합&lt;/p&gt;
&lt;pre id=&quot;code_1761889724352&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git merge bugfix/MM-1234&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;이 때 conflict 가 없었다면 그대로 원격 저장소에 push합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761889826129&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git push&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;그런데 만약 conflict가 발생했다면 해당 파일을 열어봅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;=======&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 기호들이 해당 파일에 삽입되어 있을 텐데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;======= 를 기준으로 윗부분이 기준이되는 master 브랜치의 내용이고 아래 부분이 합쳐질 bugfix 브랜치의 내용입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내용을 보고 적절히 선택 후에 필요없는 부분을 제거한 다음 저장하고 커밋&amp;amp;push하면됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761890061880&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git add.
git commit -m &quot;충돌해결&quot;
git push&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;그런데 만약 conflict 가 발생했을 때 위 처럼 merge 작업을 취소하고 이전 상태로 돌아가려면,&lt;/p&gt;
&lt;pre id=&quot;code_1761890189153&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git merge --abort&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 취소하면됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 후 병합되는 bugfix 쪽 브랜치를 충돌이 나지 않게 다시 작업해서 다시 merge를 시도하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;다른 브랜치 커밋을 개별 적용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git cherry-pick은 다른 브랜치에 있는 커밋을 개별로 현재 브랜치에 적용시킬 때 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브랜치 전체를 병합(merge)하는 것이 아니라 특정 커밋만을 현재 브랜치로 가져옵니다.&lt;/p&gt;
&lt;pre id=&quot;code_1677759044322&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git cherry-pick 커밋해시값&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 merge 한 커밋에 대해 cherry-pick을 하려면 아래처럼 할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1677759121802&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git cherry-pick -m 1 머지커밋해시값&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cherry-pick 중단 명령&lt;/p&gt;
&lt;pre id=&quot;code_1677759171367&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git cherry-pick --abort&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;git현재브랜치상태임시저장후복원-##현재브랜치상태임시저장&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;현재 브랜치 상태 임시 저장/복원&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 현재 브랜치 상태 임시 저장&lt;/p&gt;
&lt;pre id=&quot;code_1740026751908&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git stash&lt;/code&gt;&lt;/pre&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 id=&quot;git현재브랜치상태임시저장후복원-##다른브랜치로이동하여작업&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 다른 브랜치로 이동하여 작업&lt;/p&gt;
&lt;pre id=&quot;code_1740026773124&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout 다른_브랜치_이름&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이제 다른 브랜치에서 필요한 작업 수행합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;git현재브랜치상태임시저장후복원-##원래브랜치로돌아오기&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. 원래 브랜치로 돌아오기&lt;/p&gt;
&lt;pre id=&quot;code_1740026799732&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git checkout 원래_브랜치_이름&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-macro-name=&quot;code&quot; data-hasbody=&quot;true&quot;&gt;
&lt;div style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;
&lt;div&gt;임시 저장했던 원래 브랜치로 checkout 합니다.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p id=&quot;git현재브랜치상태임시저장후복원-##임시저장된상태복원&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 임시 저장된 상태 복원&lt;/p&gt;
&lt;pre id=&quot;code_1740026814232&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;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 style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;git stash pop 명령어는 임시 저장된 상태를(스택) 삭제하면서 불러오는 명령어이고,&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;git stash apply 명령어는 임시 저장된 상태를 그대로 두면서 불러오는 명령어입니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. 임시 저장된 작업 목록을 삭제&lt;/p&gt;
&lt;pre id=&quot;code_1761898918703&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git stash drop
git stash clear&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>Branch</category>
      <category>checkout</category>
      <category>cherry pick</category>
      <category>git</category>
      <category>Stash</category>
      <category>브랜치</category>
      <category>체리픽</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/342</guid>
      <comments>https://aacii.tistory.com/342#entry342comment</comments>
      <pubDate>Fri, 31 Oct 2025 18:26:46 +0900</pubDate>
    </item>
    <item>
      <title>git 기본 사용 방법</title>
      <link>https://aacii.tistory.com/453</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;git 클라이언트 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://git-scm.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761891587377&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git&quot; data-og-description=&quot;&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/&quot; data-og-url=&quot;https://git-scm.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/DeeSB/hyZMBkZO5d/b3t31SIykKElbkjkz00yi0/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/DeeSB/hyZMBkZO5d/b3t31SIykKElbkjkz00yi0/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Git&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&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;h2 data-ke-size=&quot;size26&quot;&gt;git&amp;nbsp; 로컬 저장소 만들기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우의 cmd를 사용해도 되지만 linux 스타일인 위에서 설치한 git bash를 실행시켜 작업하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;d:\ 드라이브로 이동합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761892382910&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cd /d&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git이라는 디렉터리를 생성한 뒤 이동합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761892494698&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mkdir git
cd git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에 다시 gitwork 디렉토리를 생성한 뒤 이동합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761892542399&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mkdir gitwork
cd gitwork&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;깃 저장소를 생성해서 초기화 하는 명령어를 실행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761892631396&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git init&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면. git이라는 디렉터리가 하위에 자동생성되며 이 디렉터리가 git에서 관리하는 저장소라는 역할을 하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디렉터리 경로 앞에 점(.)을 붙이는 것은 리눅스에서 숨김 폴더(파일) 처리하는 것이므로 일반 ls 명령어로는 숨겨집니다.(하지만 윈도우 탐색기에선 그냥 보입니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 사용자 등록을 해보겠습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761893113457&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;p data-ke-size=&quot;size16&quot;&gt;이것으로 git 로컬 저장소가 준비되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;원격 저장소 (github) 만들기&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761893616778&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub &amp;middot; Change is constant. GitHub keeps you ahead.&quot; data-og-description=&quot;Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/&quot; data-og-url=&quot;https://github.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/HyAIi/hyZMtmWWYU/DF6uzBaktMNJDgj8JzmoF0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/NF68g/hyZMSgjqjC/KSDNZK9ySOw1U8zf7IarFk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://github.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/HyAIi/hyZMtmWWYU/DF6uzBaktMNJDgj8JzmoF0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/NF68g/hyZMSgjqjC/KSDNZK9ySOw1U8zf7IarFk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;GitHub &amp;middot; Change is constant. GitHub keeps you ahead.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영문의 압박감이 있지만 잘 가입해서 로그인해주시길 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그인하면 Create repository 버튼을 눌러 새로운 원격 저장소를 만듭니다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 Owner는 소유자 Repository name에는 원격저장소 이름을 입력해 주시고 아래 옵션들을 결정합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Choose visibility는 public으로 무료 공개 저장소로 만들기 위한 옵션입니다.&lt;/li&gt;
&lt;li&gt;Add README 옵션은 readme 파일을 자동으로 생성할지 옵션입니다.&lt;/li&gt;
&lt;li&gt;Add .gitignore 옵션은 git에서 관리하지 않는 예외 파일목록이 저장된 파일이 .gitignore 파일입니다. 이 파일은 저장소가 생성될 때 같이 생성하는 게 좋습니다. 그래서 No..gitignore 옵션을 사용하는 프로그래밍 언어로 변경해 주시길 바랍니다.&lt;/li&gt;
&lt;li&gt;Add license 옵션에서는 라이선스 표시를 결정합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러고 나서 Create Repository 버튼을 눌러서 원격 저장소를 생성합니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;원격 저장소에 push&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 git config&amp;nbsp; 명령어로 등록했던 사용자 정보와 github에 가입했던 사용자 정보랑 일치하지 않으면 git config 명령으로 일치시켜 주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 github에서 생성한 원격 저장소 경로를 git bash에서 추가해 줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761895071605&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git remote add origin https://github.com/계정명/원격저장소명.git&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;이제 d:/git/gitwork/ 경로에 README.MD 파일을 하나 생성해서 내용을 아무 내용이나 적어 놓습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나서 로컬 저장소에 commit을 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761895321944&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git add -A
git commit -m &quot;first commit&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러고 나서 push 하기 전에 원격저장소와 연결을 시켜줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761895408743&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git push --set-upstream origin master&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 origin master은 원격저장소를 생성할 때 기본적으로 생성된 master 브랜치를 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 branch에 push 하려면 다른 branch에 하셔도 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 push를 하게 되면 github 계정 인증 작업을 하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;적절한 인증 절차를 거치면 push가 완료되고 원격 저장소에 로컬 저장소 내용이 적용되게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;원격 저장소에서 가져오기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 로컬 디렉터리 d:\git\gitClone 디렉터리를 생성한 뒤(mkdir) git hub에 아까 생성했던 원격저장소 페이지에 갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초록색 Code 버튼을 눌러보면 Clone을 위한 HTTPS와 SSH 등 프로토콜이 있는데 여기서는 HTTPS를 이용하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;&lt;a href=&quot;https://github.com/계정이름/저장소이름.git&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://github.com/계정이름/저장소이름.git&lt;/a&gt;&quot; 옆의 copy url to clipboad 버튼을 눌러 url을 복사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 git bash에 위에서 만들었던 d:\git\gitClone 디렉터리로 이동(cd)해서 clone을 실행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761896721255&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone https://github.com/계정이름/원격저장소이름.git&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;clone을 실행하면 하위에 원격저장소 디렉터리가 생성되며 원격 저장소의 내용이 로컬 저장소와 동기화됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이 로컬 저장소에서&amp;nbsp; pull, push 등 명령어로 원격 저장소와 동기화 관리를 할 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;버전 관리 대상에서 제외하기(.gitignore)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬 저장소에 .gitignore 파일이 만들어져 있거나 만들면 버전 관리 대상에서 제외할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하위 디렉터리의 .gitignore 설정이 상위 디렉토리 설정보다 우선해서 적용됩니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 160px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 23.3332%; height: 21px;&quot;&gt;설정&lt;/td&gt;
&lt;td style=&quot;width: 11.3567%; height: 21px;&quot;&gt;예제&lt;/td&gt;
&lt;td style=&quot;width: 65.31%; height: 21px;&quot;&gt;의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 23.3332%; height: 21px;&quot;&gt;/ 가 없는 이름&lt;/td&gt;
&lt;td style=&quot;width: 11.3567%; height: 21px;&quot;&gt;web.xml&lt;/td&gt;
&lt;td style=&quot;width: 65.31%; height: 21px;&quot;&gt;.gitignore 이하의 모든 서브 디렉토리에서 설정한 파일(디렉토리)을 제외&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 23.3332%; height: 21px;&quot;&gt;/ 가 줄 마지막에 없는 이름&lt;/td&gt;
&lt;td style=&quot;width: 11.3567%; height: 21px;&quot;&gt;/file&lt;/td&gt;
&lt;td style=&quot;width: 65.31%; height: 21px;&quot;&gt;.gitignore 가 있는 디렉토리를 기준으로 상대 경로로 지정된 파일(디렉토리)를 제외&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 23.3332%; height: 21px;&quot;&gt;/ 가 줄 마지막에 있는 이름&lt;/td&gt;
&lt;td style=&quot;width: 11.3567%; height: 21px;&quot;&gt;path/&lt;/td&gt;
&lt;td style=&quot;width: 65.31%; height: 21px;&quot;&gt;.gitignore 이하의 모든 서브 디렉토리에서 지정된 디렉토리를 제외&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 42px;&quot;&gt;
&lt;td style=&quot;width: 23.3332%; height: 42px;&quot;&gt;/ 가 줄의 마지막과 다른 곳에도 있는 경우&lt;/td&gt;
&lt;td style=&quot;width: 11.3567%; height: 42px;&quot;&gt;/file/&lt;/td&gt;
&lt;td style=&quot;width: 65.31%; height: 42px;&quot;&gt;.gitignore 가 있는 디렉토리 기준으로 상대 경로로 지정된 디렉토리를 제외&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 23.3332%; height: 17px;&quot;&gt;! 으로 시작하는 경우&lt;/td&gt;
&lt;td style=&quot;width: 11.3567%; height: 17px;&quot;&gt;!/path/file&lt;/td&gt;
&lt;td style=&quot;width: 65.31%; height: 17px;&quot;&gt;! 다음의 문자열의 파일(디렉토리)를 버전 관리 제외로 하지 않음. 상위 디렉토리에서 제외시켰다고 해도 하위 디렉토리에서 이 설정을 하면 버전 관리 대상에 포함시킴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 23.3332%; height: 17px;&quot;&gt;# 으로 시작하는 경우&lt;/td&gt;
&lt;td style=&quot;width: 11.3567%; height: 17px;&quot;&gt;#/path/file&lt;/td&gt;
&lt;td style=&quot;width: 65.31%; height: 17px;&quot;&gt;주석으로 취급&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것 이외에 와일드카드 문자도 활용 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 *.bak 하면 확장자기 .bak는 제외시킬 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;브랜치의 활용&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/342&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://aacii.tistory.com/342&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761897896911&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;git branch 관리: tracking, cherry-pick, stash&quot; data-og-description=&quot;원격 브랜치 로컬로 가져오기(fetch)1. 원격 저장소(orign)의 모든 원격 브랜치를 로컬로 가져옴git fetch origin 2. 체크아웃할 수 있는 브랜치 목록 확인git branch -a브랜치 목록 중에서 원격 브랜치에는 r&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/342&quot; data-og-url=&quot;https://blog.aacii.net/342&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/uhClJ/hyZMX9Lvax/bqJRl7JzjjdoCg186KXE61/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/y440S/hyZMKJlOEs/blpKjVgMNdf3GrTOfblkvk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b0bM1v/hyZMOrquZu/zxR2paXQXBbUuQR4DkNd5k/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/342&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/342&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/uhClJ/hyZMX9Lvax/bqJRl7JzjjdoCg186KXE61/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/y440S/hyZMKJlOEs/blpKjVgMNdf3GrTOfblkvk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/b0bM1v/hyZMOrquZu/zxR2paXQXBbUuQR4DkNd5k/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;git branch 관리: tracking, cherry-pick, stash&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;원격 브랜치 로컬로 가져오기(fetch)1. 원격 저장소(orign)의 모든 원격 브랜치를 로컬로 가져옴git fetch origin 2. 체크아웃할 수 있는 브랜치 목록 확인git branch -a브랜치 목록 중에서 원격 브랜치에는 r&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;자주 사용하는 git 명령어 정리&lt;/h2&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;설정 관련&lt;/p&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: 44.3023%;&quot;&gt;&lt;span&gt;git config --global user.name &quot;사용자이름&quot;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 55.6977%;&quot;&gt;커밋할 사용자를 지정합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 44.3023%;&quot;&gt;git config --global user.email &quot;메일주소&quot;&lt;/td&gt;
&lt;td style=&quot;width: 55.6977%;&quot;&gt;사용자의 메일 주소를 지정합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 44.3023%;&quot;&gt;git config --list&lt;/td&gt;
&lt;td style=&quot;width: 55.6977%;&quot;&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;저장소 관련&lt;/p&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: 45.2325%;&quot;&gt;git init 프로젝트이름&lt;/td&gt;
&lt;td style=&quot;width: 54.7675%;&quot;&gt;새로운 로컬 저장소를 프로젝트 이름으로 생성합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 45.2325%;&quot; rowspan=&quot;2&quot;&gt;git clone 원격저장소주소URL&lt;/td&gt;
&lt;td style=&quot;width: 54.7675%;&quot; rowspan=&quot;2&quot;&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;파일 관련&lt;/p&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: 45.1163%;&quot;&gt;gir rm 파일이름&lt;/td&gt;
&lt;td style=&quot;width: 54.8837%;&quot;&gt;대상 파일을 작업 디렉토리와 스테이지에서 삭제합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 45.1163%;&quot;&gt;git mv 파일1 파일2&lt;/td&gt;
&lt;td style=&quot;width: 54.8837%;&quot;&gt;대상 파일1을 파일2 으로 이름을 바꿉니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 45.1163%;&quot;&gt;git config --global core.autocrlf true&lt;/td&gt;
&lt;td style=&quot;width: 54.8837%;&quot;&gt;이 값이 true 이면 윈도우로 체크아웃할 때 줄바꿈 문자(LF)를 윈도우의 줄바꿈 문자인 CRLF 으로 변환됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 45.1163%;&quot;&gt;git config --global core.autocrlf input&lt;/td&gt;
&lt;td style=&quot;width: 54.8837%;&quot;&gt;리눅스 환경에서 이 값을 input으로 하는 경우 커밋할 때만 CRLF를 LF로 변환합니다.&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;로그 관련&lt;/p&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: 43.6047%;&quot;&gt;git log 파일이름&lt;/td&gt;
&lt;td style=&quot;width: 56.3953%;&quot;&gt;해당 파일의 커밋 로그를 참조합니다.&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 43.6047%;&quot;&gt;git diff 브랜치1 브랜치2&lt;/td&gt;
&lt;td style=&quot;width: 56.3953%;&quot;&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;커밋 변경&lt;/p&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: 42.3256%;&quot;&gt;git commit -amend&lt;/td&gt;
&lt;td style=&quot;width: 57.6744%;&quot;&gt;이전에 커밋했던 내용에 새로운 내용을 추가합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 42.3256%;&quot;&gt;git revert 커밋번호&lt;/td&gt;
&lt;td style=&quot;width: 57.6744%;&quot;&gt;이전에 작성한 특정 커밋을 지울때 사용합니다.&lt;br /&gt;rebase나 reset도 가능하지만 지우고 싶지 않은 커밋이 있는 경우 사용합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 42.3256%;&quot;&gt;git reset 모드 헤드&lt;/td&gt;
&lt;td style=&quot;width: 57.6744%;&quot;&gt;reset은 필요없어진 커밋을 삭제합니다.&lt;br /&gt;모드에는 -soft, -mixed, -hard 가 있으며 head&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>git</category>
      <category>git bash</category>
      <category>github</category>
      <category>기본</category>
      <category>사용법</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/453</guid>
      <comments>https://aacii.tistory.com/453#entry453comment</comments>
      <pubDate>Fri, 31 Oct 2025 18:26:35 +0900</pubDate>
    </item>
    <item>
      <title>build.gradle 의 기본</title>
      <link>https://aacii.tistory.com/452</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;gradle 8.5와 인텔리제이를 기준으로 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Task&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;gradle은 기본적으로 task를 작성하고 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;task는 실행할 처리들로 이루어진 명령어들을 작성해둔 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 정의한 task는 gradle 명령어로 실행할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761804596842&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tasks.register('enjoy') {
    doLast {
        println(&quot;================================================&quot;);
        println(&quot;enjoy gradle build system.&quot;);
        println(&quot;================================================&quot;);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;build.gradle 파일의 끝에 위 task내용을 등록합시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나서 인텔리제이 터미널이나 cmd로 해당 gradle 프로젝트 경로에서 아래와 같이 gradle을 실행해보십시오.&lt;/p&gt;
&lt;pre id=&quot;code_1761804739611&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gradle enjoy&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 등록했던 task의 메시지가 출력되는것을 확인할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;doLast{ }는 task의 액션 리스트 마지막에 처리를 추가하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;doFirst{ }를 task의 맨 아래에 적어도 처음에 실행되기 때문에 doFirst{ }도 task의 최초 실행할 액션 처리를 추가하는 용도로 사용합니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;Task에 매개 변수 전달하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;task를 실행할 때 어떤 정보를 task에 전달하려면 매개 변수를 통해서 전달 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 task를 아래 처럼 수정해 보십시오.&lt;/p&gt;
&lt;pre id=&quot;code_1761805748338&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;tasks.register('enjoy') {
    doLast {
        def sum = 0;
        for(def i in 1..num.toInteger()){
            sum += i;
        }
        println(&quot;SUM: &quot;+sum);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 gradle을 실행할 때 아래와 같이 실행해 보십시오.&lt;/p&gt;
&lt;pre id=&quot;code_1761805826902&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gradle enjoy -q -Pnum=100&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때, -q 옵션은 quiet 모드로 쓸데없는 정보들을 출력하지 않게 해주는 옵션입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-P프로퍼티=프로퍼티값 형태로 매개 변수 값을 전달 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행하면 아래 처럼 나옵니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761805991754&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SUM: 5050&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;h2 data-ke-size=&quot;size26&quot;&gt;동적 task 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발 환경이나 제품 배포 환경을 나누어서 빌드할 수 있도록 동적으로 task를 생성할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761807196160&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 1. 동적으로 생성할 기준이 되는 목록 정의
def environments = ['dev', 'staging', 'prod']

// 2. 목록을 순회하며 'tasks.register'로 태스크 등록
environments.each { env -&amp;gt;

    // 동적 태스크 이름 생성 (예: Dev, Staging)
    def taskName = &quot;${env.capitalize()}&quot;

    tasks.register(taskName) {
        group = 'Env' // 태스크 그룹 지정 (gradle tasks --group=Env 명령으로 보기 편함)
        description = &quot;Prints a greeting for the ${env} environment.&quot;

        // 'doLast' 액션으로 실제 작업 정의
        doLast {
            println &quot;=========================&quot;
            if (env == 'prod') {
                println &quot;Hello, PRODUCTION environment!&quot;
            } else {
                println &quot;Hello, ${env} environment!&quot;
            }
            println &quot;=========================&quot;
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발환경으로 빌드할 때 아래 명령어로 실행해봅니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761807856091&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gradle dev&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제품배포 환경으로 빌드 할 때 아래 명령어로 실행해 봅시다.&lt;/p&gt;
&lt;pre id=&quot;code_1761807911545&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gradle prod&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;h2 data-ke-size=&quot;size26&quot;&gt;JAVA 플러그인의 task&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자바로 개발할 때의 기본적인 기능은 java 플러그인에 포함되어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;build.gradle에서 로드해서 이용합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761808845874&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;plugins {
    id 'java'
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹은&lt;/p&gt;
&lt;pre id=&quot;code_1761809839870&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;apply plugin: 'java'&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; java플러그인의 task들을 알아봅시다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;java&lt;br /&gt;자바 소스 코드를 컴파일하고 그 외 필요한 리소스들을 모아서 jar 파일을 생성합니다.&lt;br /&gt;프로그램을 배포할 때 이 태스크로 jar 파일을 만들면 유용합니다.&lt;br /&gt;단, 이 java 태스크로 생성되는 jar 파일은 Executable이 아닙니다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;compileJava&amp;nbsp;&lt;br /&gt;자바 소스 코드를 모두 컴파일합니다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;processResources&amp;nbsp;&lt;br /&gt;리소스 파일을 클래스 폴더 안에 복사합니다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;classes&amp;nbsp;&lt;br /&gt;소스 코드 컴파일과 리소스 파일 복사를 실행합니다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;test&amp;nbsp;&lt;br /&gt;프로그램 테스트를 실행합니다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;jar&amp;nbsp;&lt;br /&gt;프로그램을 컴파일하고 리소스를 준비한 뒤 jar 파일로 패키징합니다. 이 jar 파일 또한 Executable jar가 아닙니다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;clean&amp;nbsp;&lt;br /&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;이 task들은 gradle 태스크이름 형태로 실행할 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;클래스 실행&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;src\main\java\패키지경로 밑에 실행할 수 있는 main 메소드가 있는 .java 파일을 생성 후 편집합니다.(인텔리제이에서 자동 샘플 생성을 체크했다면 Main.java 파일이 생성되어 있습니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 Main.java 파일을 작성해줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761822485133&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;//패키지명 생략

public class Main {
    private String name;
    public static void main(String[] args) {
        System.out.println(&quot;Hello, World!&quot;);
    }
    public boolean showMessage(String name){
        this.name = name;
        System.out.println(&quot;Who are you? \n&quot;+this.name);
        return true;
    };
    public String getMessage(String name) {
        this.name = name;
        return this.name;
    }
}&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;java 플러그인에는 빌드는 할 수 있지만 실행하는 task가 없었습니다. application 플러그인을 사용해서 앱을 실행하게 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761813001492&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;plugins {
    // 'application' 플러그인을 적용합니다.
    // 'java' 플러그인은 'application'에 의해 자동으로 포함됩니다.
    // id 'java'
    id 'application'
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1761813083583&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 메인 클래스 지정
application {
    // 예를들어 'com.example.Main' 를 실행할 클래스로 지정
    mainClass = 'com.example.Main'
}&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;이처럼 buid.gradle을 수정한 후 run 태스크를 실행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761813158331&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gradle run&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;application 플러그인에는 run task가 포함되어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행하는 동안 클래스가 컴파일되며 MyMain클래스를 실행해줍니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;실행가능한 jar 만들기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 작업한 Main.java 클래스를 실행하능한 jar 으로 패키징하려면 다음과 같이 build.gradle에 추가해줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761814072870&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 실행 가능한 Fat JAR (Uber JAR)를 만들기 위한 설정
jar {
    // application 플러그인에서 설정한 mainClass(Main.java)를 MANIFEST.MF 파일에 추가합니다.
    manifest {
        attributes 'Main-Class': application.mainClass
    }

    // 모든 의존성(라이브러리)을 JAR 파일 내에 포함시킵니다.
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }

    // 의존성 포함 시 중복 파일이 발생할 경우 처리 전략 (선택 사항이지만 권장)
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 나서 인텔리제이의 gradle 탭에서 task &amp;gt; build를 실행하거나&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널에서 ./gradlew build 를 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 build/libs 경로에 jar 파일이 생성되어있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들어 이렇게 생성된 jar 파일이 demo-1.0-SNAPSHOT.jar 라고 가정하면&lt;/p&gt;
&lt;pre id=&quot;code_1761814293329&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;java -jar .\build\libs\demo-1.0-SNAPSHOT.jar&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 jar 파일을 실행할 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;유닛 테스트&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;java 플러그인에는 JUnit으로 유닛 테스트를 할 수 있는 태스크가 포함되어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행을 위한 Main.java 클래스는 위에서 작성했던 Main.java의 내용을 그대로 쓰겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유닛 테스트를 위한 테스트 클래스(.java)는 다음과 같습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761821750938&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import demo.exeample.Main;  //Main.java의 패키지 경로
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class AppTest {
    @Test
    public void testApp(){
        String name = &quot;I am tester.&quot;;
        Main app = new Main();
        assertNotNull(app);
        assertTrue(app.showMessage(name));
        try{
            assertTrue(app.getMessage(name).contains(name));	//아래꺼랑 바꿔가면서 테스트
            //assertTrue(app.getMessage(name).contains(&quot;operator&quot;));
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}&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;build.gradle 에 테스트 관련 설정을 해줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761822238058&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;repositories {
    //jcenter()
    mavenCentral()
}

dependencies {
    testImplementation platform('org.junit:junit-bom:5.10.0')
    testImplementation 'org.junit.jupiter:junit-jupiter'
}

test {
    useJUnitPlatform()
}&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;이제 명령행에서 gradle test를 실행하시거나 인텔리제이에서 gradle 탭을 이용 test 태스크를 실행하십시오.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;테스트에 대한 보고서가 build/reports/ 경로에 생성됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;html 문서로 되어있으니 브라우저에서 확인 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>build</category>
      <category>gradle</category>
      <category>Groovy</category>
      <category>Java</category>
      <category>도구</category>
      <category>빌드</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/452</guid>
      <comments>https://aacii.tistory.com/452#entry452comment</comments>
      <pubDate>Thu, 30 Oct 2025 20:50:37 +0900</pubDate>
    </item>
    <item>
      <title>gradle and groovy</title>
      <link>https://aacii.tistory.com/108</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;groovy&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;groovy는 jvm용 스크립트언어이며 gradle은 groovy를 사용한 빌드 도구입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;gradle 소프트웨어 내부에 groovy가 포함되어 있으므로 따로 설치 하지 않아도 됩니다만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 groovy언어 연습용으로 설치해보도록 합시다.&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;a href=&quot;https://groovy.apache.org/download.html&quot;&gt;https://groovy.apache.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1593437082571&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;The Apache Groovy programming language - Download&quot; data-og-description=&quot;* Modules:2.4.X: &amp;quot;ant&amp;quot;, &amp;quot;bsf&amp;quot;, &amp;quot;console&amp;quot;, &amp;quot;docgenerator&amp;quot;, &amp;quot;groovydoc&amp;quot;, &amp;quot;groovysh&amp;quot;, &amp;quot;jmx&amp;quot;, &amp;quot;json&amp;quot;, &amp;quot;jsr223&amp;quot;, &amp;quot;nio&amp;quot;, &amp;quot;servlet&amp;quot;, &amp;quot;sql&amp;quot;, &amp;quot;swing&amp;quot;, &amp;quot;test&amp;quot;, &amp;quot;templates&amp;quot;, &amp;quot;testng&amp;quot; and &amp;quot;xml&amp;quot;2.5.0: as above but excluding optional module &amp;quot;bsf&amp;quot; plus &amp;quot;cli-picocli&amp;quot;, &amp;quot;da&quot; data-og-host=&quot;groovy.apache.org&quot; data-og-source-url=&quot;https://groovy.apache.org/download.html&quot; data-og-url=&quot;https://groovy.apache.org/download.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://groovy.apache.org/download.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://groovy.apache.org/download.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;The Apache Groovy programming language - Download&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;* Modules:2.4.X: &quot;ant&quot;, &quot;bsf&quot;, &quot;console&quot;, &quot;docgenerator&quot;, &quot;groovydoc&quot;, &quot;groovysh&quot;, &quot;jmx&quot;, &quot;json&quot;, &quot;jsr223&quot;, &quot;nio&quot;, &quot;servlet&quot;, &quot;sql&quot;, &quot;swing&quot;, &quot;test&quot;, &quot;templates&quot;, &quot;testng&quot; and &quot;xml&quot;2.5.0: as above but excluding optional module &quot;bsf&quot; plus &quot;cli-picocli&quot;, &quot;da&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;groovy.apache.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 윈도우10, JVM은 JDK 11,&amp;nbsp; Groovy-4.X 을 기준으로 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우용 설치 파일 .msi 를 다운로드 받습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지원되는 JVM 버전을 확인하신 뒤 각자 JVM 버전에 맞는 Groovy를 다운 받습니다.&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;설치 확인: cmd 명령창에서 아래와 같이 입력해봅니다.&lt;/p&gt;
&lt;pre id=&quot;code_1702206307348&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;groovy -v&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;gradle&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://gradle.org/install&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://gradle.org/install&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1702205231822&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Gradle | Installation&quot; data-og-description=&quot;Install the Gradle build tool on Linux, macOS or Windows, either manually or using a package manager like SDKMAN! or Homebrew.&quot; data-og-host=&quot;gradle.org&quot; data-og-source-url=&quot;https://gradle.org/install&quot; data-og-url=&quot;https://gradle.org/install/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dqgvGj/hyUIyuAb4R/kE7umTLpAYaXRVe8xpd8hk/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400,https://scrap.kakaocdn.net/dn/bboo4h/hyUL1olp5D/OXZ3gHhYQQRsemnT2thmn1/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://gradle.org/install&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gradle.org/install&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dqgvGj/hyUIyuAb4R/kE7umTLpAYaXRVe8xpd8hk/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400,https://scrap.kakaocdn.net/dn/bboo4h/hyUL1olp5D/OXZ3gHhYQQRsemnT2thmn1/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Gradle | Installation&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Install the Gradle build tool on Linux, macOS or Windows, either manually or using a package manager like SDKMAN! or Homebrew.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;gradle.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 intall manually 링크를 클릭합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 binary-only를 클릭하여 다운로드 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;압축 파일이므로 적당한 곳에 압축을 풉니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우 제어판 시스템 고급 속성에서 아래와 같이 환경변수를 등록합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 변수 이름 : GRADLE_HOME&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 변수 값 : 압축 푼 경로 예) C:\gradle-8.5&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 Path값에도 아래와 같이 맨 앞에&amp;nbsp;추가합니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Path 설정 값 : %GRADLE_HOME%\bin;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치확인: cmd 입력창에서 아래와 같이 입력해봅니다.&lt;/p&gt;
&lt;pre id=&quot;code_1702206379306&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gradle -v&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예제 프로젝트 생성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트용 폴더를 하나 생성 후 cmd 창에서 그 경로로 이동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예) d:\gradle\gradle-app&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 gradle 명령어로 java프로젝트를 생성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1702208477954&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gradle init --type java-library&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;gradle은 태스크를 통해 처리를 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;생성된 프로젝트의 파일 및 폴더 설명&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;.gradle 폴더 :&amp;nbsp; 태스크로 생성된 파일 등을 보관합니다.&lt;/li&gt;
&lt;li&gt;gradle 폴더: 그레이들 환경을 모아놓은 랩퍼 파일들이 있습니다.&lt;/li&gt;
&lt;li&gt;src 폴더: 프로그램 소스&lt;/li&gt;
&lt;li&gt;build.gradle : 프로젝트의 빌드 내용을 기술합니다. groovy를 통해 실행할 처리들을 작성합니다. plugin과 repositories저장소, dependencies 의존성들을 설정할 수 있습니다. repository의 값으로 &lt;a href=&quot;https://jcenter.bintray.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;jcenter()&lt;/a&gt;나 &lt;a href=&quot;https://mvnrepository.com/repos/central&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;mavenCentral()&lt;/a&gt; 같은 것들이 설정되어 있는데 여기에 그레이들에서 사용하는 라이브러리들이 있습니다.&lt;/li&gt;
&lt;li&gt;gradlew, gradlew.bat : 그레이들 명렁어 파일&lt;/li&gt;
&lt;li&gt;settings.gradle 빌드 설정 정보를 기술한 파일입니다.&amp;nbsp; 빌드를 실행하기 전에 읽기 때문에 라이브러리 등을 기술 할 수 있습니다. 루트프로젝트 이름을 지정 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;기존 그레이들 프로젝트를 이클립스에 import&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 이클립스에 gradle 플러그인이 market place를 통해 설치되어 있어야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;build.gradle 파일을 열고 plugin 항목에 'eclipse' 항목을 추가한 뒤 그레이들 명령어로 아래와 같이 실행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1702210754122&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;gradle eclipse&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 이클립스 관련 파일들이 생성되고 이클립스에서 해당 프로젝트를 import 할 수 있게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;import된 프로젝트를 우클릭한 뒤 configure 항목에서 Add Gradle Nature를 선택하면 그레이들 프로젝트로서 필요한 것들이 추가됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;JCENTER 저장소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메이븐 저장소도 gradle에서 사용할 수 있지만 gradle도 중앙 저장소 jcenter가 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a title=&quot;jcenter&quot; href=&quot;https://jcenter.bintray.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://jcenter.bintray.com&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1704111073581&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Index of virtualjcenter/&quot; data-og-description=&quot;&quot; data-og-host=&quot;jcenter.bintray.com&quot; data-og-source-url=&quot;https://jcenter.bintray.com&quot; data-og-url=&quot;https://jcenter.bintray.com&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://jcenter.bintray.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://jcenter.bintray.com&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Index of virtualjcenter/&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;jcenter.bintray.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그냥 저장소이기 때문에 파일만 업로드 되어 있을 뿐입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 메이븐과 마찬가지로 검색용 사이트가 따로 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://jfrog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://jfrog.com/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1704111304081&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Software Supply Chain Platform for DevOps &amp;amp; Security | JFrog&quot; data-og-description=&quot;The JFrog Platform gives you an end-to-end pipeline to control the flow of your binaries from build to production. Power your software updates to the edge&quot; data-og-host=&quot;jfrog.com&quot; data-og-source-url=&quot;https://jfrog.com/&quot; data-og-url=&quot;https://jfrog.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/blx95s/hyUTwRhXVY/yPKZknJ87KsZ5c39wsZCj1/img.png?width=1200&amp;amp;height=628&amp;amp;face=0_0_1200_628&quot;&gt;&lt;a href=&quot;https://jfrog.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://jfrog.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/blx95s/hyUTwRhXVY/yPKZknJ87KsZ5c39wsZCj1/img.png?width=1200&amp;amp;height=628&amp;amp;face=0_0_1200_628');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Software Supply Chain Platform for DevOps &amp;amp; Security | JFrog&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;The JFrog Platform gives you an end-to-end pipeline to control the flow of your binaries from build to production. Power your software updates to the edge&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;jfrog.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>gradle</category>
      <category>Groovy</category>
      <category>Java</category>
      <category>그래이들</category>
      <category>그루비</category>
      <category>빌드</category>
      <category>빌드도구</category>
      <category>자바</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/108</guid>
      <comments>https://aacii.tistory.com/108#entry108comment</comments>
      <pubDate>Thu, 30 Oct 2025 14:58:22 +0900</pubDate>
    </item>
    <item>
      <title>WSL 우분투 배포판에서 Node.js 설치</title>
      <link>https://aacii.tistory.com/450</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;WSL ubuntu 24 기준입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;NVM(Node Version Manager) 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널을 열고 NVM을 설치하기 위한 스크립트를 다운로드하고 실행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761480932930&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash&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;curl 명령어로 스크립트를 다운로드하고 | bash 옵션으로 스크립트를 즉시 실행해서 설치를 진행하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;셸 초기화(설치 적용)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 스크립트에서 ~/.bashrc 파일에 NVM을 로드하는 설정을 추가하기 때문에, 현재 터미널 세션에 변경사항을 적용하려면 셸을 다시 로드하거나 터미널을 재시작해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761481137338&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;source ~/.bashrc&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;/p&gt;
&lt;pre id=&quot;code_1761481191184&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nvm --version&lt;/code&gt;&lt;/pre&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Node.js 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LTS(Long Term Support) 버전을 설치하는 것을 권장합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761481358306&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nvm install --lts&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;/p&gt;
&lt;pre id=&quot;code_1761481401040&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;nvm alias default 'lts/*'&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;이 명령은 새 터미널을 열 때마다 LTS 버전이 자동 사용되도록 설정합니다.&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;설치 확인을 위해 Node.js 버전을 확인합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761481470585&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;node -v&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;보통 Node.js 설치할 때 npm(Node Package Manager)도 같이 설치됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘 설치되었는지 확인하려면 npm 버전을 확인해 봅니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761481610565&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;npm -v&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>Linux</category>
      <category>node.js</category>
      <category>ubuntu</category>
      <category>WSL</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/450</guid>
      <comments>https://aacii.tistory.com/450#entry450comment</comments>
      <pubDate>Sun, 26 Oct 2025 21:27:26 +0900</pubDate>
    </item>
    <item>
      <title>WSL에서 리눅스 개발 환경 설정</title>
      <link>https://aacii.tistory.com/449</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ubuntu 24 배포판 기준입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;git 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 WSL 배포판에는 git이 설치되어 있지만, git 이 설치되어 있지 않은 배포판도 많은 관계로 명시적으로 git을 설치하는 방법을 살펴보겠습니다.&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. 우분투 소프트웨어 repository에서 git을 설치합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761458861196&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt-get install git&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;2. 다 설치되었다면 설치된 버전을 확인해 봅니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761458898778&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git --version&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;3. git 설정으로 사용자 이름과 메일 주소를 설정합니다. 여러 개발자가 협업하는 환경이라면 코드 변경자를 식별할 수 있게 해 줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761459039600&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;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;h2 data-ke-size=&quot;size26&quot;&gt;개행 문자 차이 문제&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우와 리눅스는 개행문자(캐리지 리턴: \r, 라인피드: \n) 처리가 다르기 때문에 이른 혼합 해서 사용하는 환경에서 이 개행문자들이 수정된 것으로 git에서 인식할 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우는 캐리지 리턴과 라인피드(CRLF)를 합쳐서 줄의 끝 문자로 사용하는 반면 유닉스(리눅스) 계열에서는 LF만을 줄의 끝 문자로 취급합니다. 그래서 리눅스에서는 캐리지리턴 문자(^M) 이 추가되었는지 확인해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제를 해결하려면 윈도우에서 체크아웃할 때는 윈도우의 개행문자를 따르게하고, 커밋할 때는 리눅스의 개행문자로 변환하도록 하는 방법이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러려면 git 설정을 아래처럼 설정하면 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761459500434&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global core.autocrlf 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;이 전역 설정을 적용하면 윈도우의 캐리지 리턴이 리눅스에서는 보이지 않습니다만 사실 해당 파일에는 캐리지리턴 문자가 포함되어 있습니다. 볼 때 다만 캐리지 리턴을 무시해 주는 거죠.&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;h2 data-ke-size=&quot;size26&quot;&gt;윈도우와 WSL에서 git 자격 증명 공유&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에 저장된 모든 자격 증명은 WSL에서 사용할 수 있어야 하고, 그 반대의 경우도 마찬가지입니다.&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;pre id=&quot;code_1761461179267&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global credential.helper wincred&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;2. WSL에서 윈도우의 자격 증명 도우미와 같은 프로그램을 사용하도록 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761462876092&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git config --global credential.helper &quot;/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-redential-wincred.exe&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>git</category>
      <category>WSL</category>
      <category>개발 환경</category>
      <category>리눅스</category>
      <category>배포판</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/449</guid>
      <comments>https://aacii.tistory.com/449#entry449comment</comments>
      <pubDate>Wed, 22 Oct 2025 21:50:24 +0900</pubDate>
    </item>
    <item>
      <title>Windows 11 설치(Upgrade) 및 로컬 계정 생성 방법</title>
      <link>https://aacii.tistory.com/447</link>
      <description>&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;h2 data-ke-size=&quot;size26&quot;&gt;Windows 11 새로 설치 시 로컬(Local) 계정 생성 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;네트워크가 연결되지 않은 환경이거나 기존 윈도우 처럼 로컬 계정으로 운영체제에 로그인 하려면 윈도우 설치시 로컬 계정을 생성해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Windows 11은 사용자(User)의 로그인을 Microsoft 계정이 기본 값으로 되어있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;네트워크 연결 없이 윈도우 11을 설치하다보면 인터넷 연결 설정 부분에서 막히게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 때 Shfit + F10 키를 눌러서 CMD 창을 실행하고 다음 명령어를 입력해줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1760786468309&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;oobe\bypassnro&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그러면 재부팅 되면서 이전에는 없던 &quot;인터넷 연결되어 있지 않음&quot; 이라는 버튼이 생겨있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고 나서 &quot;제한된 설치로 계속&quot; 을 선택하면 기존 윈도우10 처럼 로컬 계정을 생성하고 로그인 할 수 있게 됩니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;Windows 11 지원 안되는 Winodws 10 PC에서 Upgrade 설치(우회)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;windows 11은 TPM 등 설치 조건이 까다로운 관계로 구형 PC의 경우 windows 10을 사용하는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 상황에서 windows 10의 지원 종료되기 때문에 windows 11으로 upgrade를 하고 싶어도 할 수 없는 경우를 위한 우회 설치 방법을 소개합니다.&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;a href=&quot;https://www.microsoft.com/ko-kr/software-download/windows11&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;MS Windows 11 다운로드 링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1760787072471&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Windows 11 다운로드&quot; data-og-description=&quot;이 옵션은 부팅 가능한 설치 미디어(USB 플래시 드라이브, DVD)를 만들거나 가상 컴퓨터(.ISO 파일)을 만들어 Windows 11을 설치하려는 사용자를 위한 옵션입니다. 이 다운로드는 제품 키를 통해 올바&quot; data-og-host=&quot;www.microsoft.com&quot; data-og-source-url=&quot;https://www.microsoft.com/ko-kr/software-download/windows11&quot; data-og-url=&quot;https://www.microsoft.com/ko-kr/software-download/windows11&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bkBYVU/hyZMatW3v4/UZkzsmy2A2AyyS8AOrUUX1/img.jpg?width=431&amp;amp;height=270&amp;amp;face=0_0_431_270&quot;&gt;&lt;a href=&quot;https://www.microsoft.com/ko-kr/software-download/windows11&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.microsoft.com/ko-kr/software-download/windows11&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bkBYVU/hyZMatW3v4/UZkzsmy2A2AyyS8AOrUUX1/img.jpg?width=431&amp;amp;height=270&amp;amp;face=0_0_431_270');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Windows 11 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이 옵션은 부팅 가능한 설치 미디어(USB 플래시 드라이브, DVD)를 만들거나 가상 컴퓨터(.ISO 파일)을 만들어 Windows 11을 설치하려는 사용자를 위한 옵션입니다. 이 다운로드는 제품 키를 통해 올바&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.microsoft.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기에서 Winodws 11 디스크 이미지 (ISO) 다운로드를 선택해서 한국어를 선택 후 64-bit 다운로드 합니다.&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;다운로드가 완료되면 해당 iso 파일을 탐색기에서 더블 클릭(탑재)하면 iso 이미지가 드라이브 탑재됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CMD를 입력해서 명령 프롬프트를 실행한뒤 탑재된 드라이브로 이동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(예를 들어 iso 이미지가 탑재된 드라이브가 만약 G 드러이브 인경우 아래 처럼 입력해서 드라이브를 변경할 수 있습니다.)&lt;/p&gt;
&lt;pre id=&quot;code_1760788362523&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;G:&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;/p&gt;
&lt;pre id=&quot;code_1760787382762&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;setup /product server&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;그러면 Windows Server 설치 화면이 나오면서 Windows 11을 우회 설치 할 수 있습니다.&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. 설치프로그램 창이 뜨면 &quot;설치 프로그램에서 업데이트를 다운로드하는 방법 변경&quot; 을 누릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 업데이트, 드라이버 및 옵션 기능 가져오기 창에서 &quot;나중에&quot; 를 선택하고 다음을 누릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 관련 통지 및 사용 조건 창에서는 동의를 누릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 유지할 항목 선택 화면이 나오면 &quot;파일, 설정 및 앱 유지하기&quot;를 선택합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 설치 준비 완료 화면이 나오면 설치 버튼을 누릅니다.&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;이후 설치가 진행되고 windows 11이 정상 설치됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Snippets</category>
      <category>TPM</category>
      <category>Upgrade</category>
      <category>windows 10</category>
      <category>Windows 11</category>
      <category>계정</category>
      <category>로컬 계정</category>
      <category>생성</category>
      <category>설치</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/447</guid>
      <comments>https://aacii.tistory.com/447#entry447comment</comments>
      <pubDate>Sat, 18 Oct 2025 20:24:54 +0900</pubDate>
    </item>
    <item>
      <title>https 테스트 용 SSL 사설 인증서 Tomcat 적용</title>
      <link>https://aacii.tistory.com/446</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id=&quot;SSL사설인증서Tomcat9적용-HTTPS테스트용SSL사설인증서Tomcat9적용방법&quot; style=&quot;color: #172b4d;&quot;&gt;HTTPS 테스트용 SSL 사설 인증서 Tomcat 9 적용 방법&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 HTTPS 포트는 8443 을 사용할 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CentOS7, JDK11, Tomcat9 기준으로 작성되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-HTTPS통신Handshake과정&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;HTTPS 통신 Handshake 과정&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;서버측: 서버 정보가 담긴 인증서와 공개키-개인키 쌍을 생성한 뒤 공개키를 인증기관(CA)에 등록합니다. (개인키는 서버측에서 관리하고 공개키는 인증기관에 등록되며 브라우저에 내장 됨)&lt;/li&gt;
&lt;li&gt;클라이언트 측: 실제 데이터를 암호화할 때 필요한 대칭키 자체를 이 인증기관에 등록된 공개키로 암호화해서 이 암호문을 서버측에 전송합니다.&lt;/li&gt;
&lt;li&gt;서버측: 클라이언트에서 전송된 암호문을 개인키(1에서 생성했던)를 써서 복호화하여 실제 클라이언트와 통신할 데이터를 암호화할 대칭키(암호키와 복호키가 같아서 대칭키)를 획득합니다.&lt;/li&gt;
&lt;li&gt;클라이언트 측과 서버측은 이제 대칭키를 안전하게 나눠 가졌으므로 이제 데이터를 이 대칭키로 암호화-복호화하여 통신합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-SSL(SecureSocketLayer)사설인증서&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;SSL(Secure Socket Layer) 사설 인증서&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HTTPS 통신을 위한 SSL 인증서는 보통 symantec, comodo 등 공인 인증기관에 비용을 지불하고 인증서를 받아서 웹서버나 WAS에 적용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 HTTPS 테스트용으로 직접 인증서를 생성해서 사용하는 것을 사설 인증서라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-Tomcat의SSL인증서&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;Tomcat의 SSL 인증서&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tomcat에서 지원하는 keystore의 타입은 JKS, PKCS11, PKCS12 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JKS: JAVA 표준 키스토어 형식&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PKCS12: 인터넷 표준 형식&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 data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-JDK를이용한사설인증서생성과keystore파일생성&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;JDK를 이용한 사설 인증서 생성과 keystore 파일 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JDK의 keytool 명령어를 이용해 인증서와 keystore파일을 생성할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761006754769&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;keytool -genkeypair \
 -alias tomcat \
 -keyalg RSA \
 -keysize 2048 \
 -validity 365 \
 -keystore keystore.p12 \
 -storetype PKCS12&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;-alias tomcat : 인증서 별칭&lt;/li&gt;
&lt;li&gt;-keyalg RSA : 키 생성 알고리즘을 RSA로 설정&lt;/li&gt;
&lt;li&gt;-keysize 2048 : 키 길이&lt;/li&gt;
&lt;li&gt;-validity 365: 유효기간 1년&lt;/li&gt;
&lt;li&gt;-keystore keystore.p12: 키스토어 파일명 지정&lt;/li&gt;
&lt;li&gt;-storetype PKCS12: 키스토어 유형 (JDK9이상)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tomcat 설정에 키스토어파일을 지정해주면 마찬가지로 HTTPS 통신을 사용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-Tomcat설정&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;Tomcat 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;톰캣 디렉토리 내에 conf/server.xml 파일을 수정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;https 관련 &amp;lt;Connector&amp;gt; 설정을 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tomcat의 server.xml에 기본적으로 주석 처리 되어있는 &amp;lt;Connector&amp;gt;설정은 두가지가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나는 JSSE방식으로&amp;nbsp;org.apache.coyote.http11.Http11NioProtocol 프로토콜을 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 하나는 APR 방식으로 org.apache.coyote.http11.Http11AprProtocol 프로토콜을 사용합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 간단한 JSSE방식으로 설정하겠습니다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1761006775216&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;Connector port=&quot;8443&quot;
            protocol=&quot;org.apache.coyote.http11.Http11NioProtocol&quot; 
            SSLEnabled=&quot;true&quot;
            maxThreads=&quot;150&quot;
            scheme=&quot;https&quot;
            secure=&quot;true&quot;
            keystoreFile=&quot;키스토어 파일의 절대경로&quot;
            keystorePass=&quot;키스토어 생성시 입력한 패스워드&quot;
            keystoreType=&quot;PKCS12&quot;
            clientAuth=&quot;false&quot;
            sslProtocol=&quot;TLS&quot; /&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;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-방화벽에서8443포트를열어줍니다.&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;방화벽에서 8443 포트를 열어줍니다.&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 8443 포트가 사용중인지 확인&lt;/p&gt;
&lt;pre id=&quot;code_1761006816608&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo firewall-cmd --list-ports | grep 8443&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;2. 8443 tcp 포트 열기&lt;/p&gt;
&lt;pre id=&quot;code_1761006841639&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo firewall-cmd --permanent --add-port=8443/tcp&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;&amp;nbsp;3. 방화벽 갱신&lt;/p&gt;
&lt;pre id=&quot;code_1761006857991&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo firewall-cmd --reload&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;그리고 tomcat을 재시작하면 https 통신이 가능합니다.&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;h2 id=&quot;SSL사설인증서Tomcat9적용-테스트&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;테스트&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라우저에서&amp;nbsp;&lt;a style=&quot;color: #0052cc;&quot; href=&quot;https://localhost:8443/&quot;&gt;https://localhost:8443&lt;/a&gt;&amp;nbsp;을 입력해서 테스트합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라우저에서 신뢰할 수 없는 인증서 경고가 뜨는데, 이는 사설 인증서이기 때문에 경고를 무시하고 테스트를 진행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-HTTP를HTTPS으로리디렉션설정&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;HTTP 를 HTTPS 으로 리디렉션 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;server.xml 에서 http 커넥터인 8080 포트 설정에 redirectPort 설정을 해줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761006886813&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;Connector port=&quot;8080&quot;
           protocol=&quot;HTTP/1.1&quot;
           connectionTimeout=&quot;20000&quot;
           redirectPort=&quot;8443&quot; /&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;이 설정은 tomcat이 8080 요청을 https 포트인 8443 포트로 리디렉션 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-모든요청에대해HTTPS으로만허용설정(선택적설정)&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;모든 요청에 대해 HTTPS으로만 허용 설정(선택적 설정)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$CATALINA_HOME/webapps/앱컨텍스트루트/WEB-INF/web.xml 에 다음 항목을 추가해줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761006937860&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;security-constraint&amp;gt;
    &amp;lt;web-resource-collection&amp;gt;
        &amp;lt;web-resource-name&amp;gt;HTTPS Redirect&amp;lt;/web-resource-name&amp;gt;
        &amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;
    &amp;lt;/web-resource-collection&amp;gt;
    &amp;lt;user-data-constraint&amp;gt;
        &amp;lt;transport-guarantee&amp;gt;CONFIDENTIAL&amp;lt;/transport-guarantee&amp;gt;
    &amp;lt;/user-data-constraint&amp;gt;
&amp;lt;/security-constraint&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;이 설정은 모든 요청(/*) 에 대해서 https 으로만 허용하게 합니다.&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 data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-URL에포트번호없이접속하는설정&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;URL에 포트 번호 없이 접속하는 설정&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tomcat이 직접 443 포트를 사용하도록 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sever.xml 에서 https 커넥터의 포트를 8443이 아닌 443으로 설정&lt;/p&gt;
&lt;pre id=&quot;code_1761006961220&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;Connector port=&quot;443&quot;
           protocol=&quot;org.apache.coyote.http11.Http11NioProtocol&quot;
           SSLEnabled=&quot;true&quot;
           maxThreads=&quot;150&quot;
           scheme=&quot;https&quot;
           secure=&quot;true&quot;
           keystoreFile=&quot;/절대경로/keystore.p12&quot;
           keystorePass=&quot;비밀번호&quot;
           keystoreType=&quot;PKCS12&quot;
           sslProtocol=&quot;TLS&quot; /&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;그러나 1024 이하의 포트는 root 만이 열수 있기 때문에 root으로 tomcat을 실행하는 것보다 setcap으로 443포트를 열게 해줍니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761006980291&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo setcap 'cap_net_bind_service=+ep' $CATALINA_HOME/bin/java&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;참고로 운영 환경에서는 보통 웹서버(Nginx)로 443 포트를 리스닝하고 Tomcat으로 전달하는 방식을 사용합니다.&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 data-ke-style=&quot;style1&quot; /&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;h1 id=&quot;SSL사설인증서Tomcat9적용-OpenSSL을이용해사설인증서를발급하는방법(참고)&quot; style=&quot;color: #172b4d;&quot;&gt;OpenSSL을 이용해 사설 인증서를 발급하는 방법(참고)&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-OpenSSL다운로드및설치&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;OpenSSL 다운로드 및 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사설 인증서를 발급하기 위해 openssl 이라는 프로그램이 필요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #0052cc;&quot; href=&quot;https://sourceforge.net/projects/openssl/files/latest/download?source=typ_redirect&quot;&gt;open ssl download&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1761007008298&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;yum install -y openssl&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;open ssl을 실행시켜서 open ssl 프롬프트 상태에서 실행해도 되지만 여기서는 bash 프롬프트에서 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-CA(CertificateAuthority:인증기관)개인키생성&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;CA(Certificate Authority: 인증기관) 개인키 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RSA 알고리즘으로 2048 bit 길이의 CA 개인키를 생성&lt;/p&gt;
&lt;pre id=&quot;code_1761007028602&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl genrsa -out rootCA.key 2048&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;h2 id=&quot;SSL사설인증서Tomcat9적용-CACSR(CertificateSigningRequest:인증서명요청)생성&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;CA CSR(Certificate Signing Request: 인증 서명 요청) 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CSR은 인증서를 발급하는데 필요한 인증 요청서입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 생성한 CA 개인키를 이용해서 CSR을 생성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761007044769&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl req -new -key rootCA.key -out rootCA.csr&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사설 인증서이기 때문에 자유롭게 입력해도 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Country Name : KR&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;State or Province Name : Seoul&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Locality Name : SeoCho&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Organization Name : Googol&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Organizational Unit Name: YouDube&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Common Name: 192.168.0.111&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Email Address :&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #0052cc;&quot; href=&quot;mailto:mymail@gmail.co.kr&quot;&gt;mymail@gmail.co.kr&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 쪽 패스워드는 입력하지 않아도 됩니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-서버측개인키생성&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;서버측 개인키 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 동일한 명령어로 서버측 개인키를 생성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761007059365&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl genrsa -out server.key 2048&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;h2 id=&quot;SSL사설인증서Tomcat9적용-서버측CSR생성&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;서버측 CSR 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마찬가지로 CSR도 생성합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761007072614&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl req -new -key server.key -out server.csr&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;h2 id=&quot;SSL사설인증서Tomcat9적용-서버CRT(인증서)생성&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;서버 CRT(인증서) 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 CA 인증서를 만들었으니 이 CA로부터 인증 받은 서버의 인증서를 생성해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1761007094585&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl x509 -req -in server.csr -CA rootCA.crt -CAKey rootCA.key -CAcreateserial -out server.crt&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rootCA.crt,&amp;nbsp;rootCA.csr, rootCA.key, rootCA.srl, server.crt, server.csr, server.key&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 중에서 server.crt가 우리가 tomcat 서버에 적용해야 할 서버 인증서 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;SSL사설인증서Tomcat9적용-Tomcat에서사용할수있는keystore파일생성&quot; style=&quot;color: #172b4d;&quot; data-ke-size=&quot;size26&quot;&gt;Tomcat에서 사용할 수 있는 keystore 파일 생성&lt;/h2&gt;
&lt;pre id=&quot;code_1761007115772&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openssl pkcs12 -export -in server.crt -inkey server.key -out keystore.p12 -name tomcat&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;여기서는 pkcs12 포멧으로 생성했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;키스토어 비밀번호를 입력하라고 나오면 적당한 비밀번호를 설정해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>https</category>
      <category>Self</category>
      <category>SSL</category>
      <category>리눅스</category>
      <category>사설</category>
      <category>인증서</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/446</guid>
      <comments>https://aacii.tistory.com/446#entry446comment</comments>
      <pubDate>Mon, 21 Apr 2025 17:34:13 +0900</pubDate>
    </item>
    <item>
      <title>JAVA Thread</title>
      <link>https://aacii.tistory.com/206</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자바 어플리케이션은 main()스레드 외에 병렬로 처리하는 스레드를 같이 실행할 수 있습니다.&amp;nbsp;보통은 단순하고 긴 작업이나 I/O작업들을 멀티 스레드로 병렬로 작업하는 것이 효율적입니다. 그러나, 너무 많은 스레드를 실행하면 각 스레드간 context switching 에 시간을 더 소비하게 되어 오히려 효율이 떨어지게 됩니다.&amp;nbsp;java.lang.Thread 클래스로부터 extends 하거나 Runnable 인터페이스로부터 implements 해서 스레드를 생성할 수 있습니다.&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;Runnable 구현 방법&lt;/p&gt;
&lt;pre id=&quot;code_1649914641165&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.awt.Toolkit;

public class BeepTask implements Runnable {

	@Override
	public void run() {
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		for(int i=0; i&amp;lt;5;i++) {
			toolkit.beep();
			System.out.println(&quot;beep&quot;);
			try {
				Thread.sleep(1000);
			}catch(Exception e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) {
		Runnable beepTask = new BeepTask();
		Thread thread = new Thread(beepTask);
		thread.start();
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Thread클래스로부터 상속받아 실행하는 방법(main 스레드 동시 실행)&lt;/p&gt;
&lt;pre id=&quot;code_1649915137505&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.awt.Toolkit;

public class BeepThread extends Thread{
	@Override
	public void run() {
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		for(int i=0; i&amp;lt;5;i++) {
			toolkit.beep();
			System.out.println(&quot;beep&quot;);
			try {
				Thread.sleep(1000);
			}catch(Exception e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) {
		Thread thread = new BeepThread();
		thread.start();
		//메인스레드 0.5초간격 동시 진행
		for(int i=0;i&amp;lt;5;i++) {
			System.out.println(&quot;빞&quot;);
			try {
				Thread.sleep(500);
			}catch(Exception e){
				e.printStackTrace();
			}
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스레드의 이름&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스레드의 이름은 크게 의미는 없지만 디버깅할 때 스레드를 구분하는 용도로 가끔 사용합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1649917267533&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class ThreadNameEx {

	public static void main(String[] args) {
		Thread mainThread = Thread.currentThread();
		System.out.println(&quot;시작 스레드: &quot;+mainThread.getName());
		
		ThreadA threadA = new ThreadA();
		System.out.println(&quot;작업 스레드: &quot;+threadA.getName());
		threadA.start();
		
		ThreadB threadB = new ThreadB();
		System.out.println(&quot;작업 스레드: &quot;+threadB.getName());
		threadB.start();
	}

}

class ThreadA extends Thread{
	public ThreadA() {
		setName(&quot;ThreadA&quot;);	//스레드 이름 설정
	}
	
	public void run() {
		for(int i=0;i&amp;lt;2;i++) {
			System.out.println(getName() + &quot;가 실행&quot;);
		}
	}
}

class ThreadB extends Thread{
	public ThreadB() {
		setName(&quot;ThreadB&quot;);	//스레드 이름 설정
	}
	
	public void run() {
		for(int i=0;i&amp;lt;2;i++) {
			System.out.println(getName() + &quot;가 실행&quot;);
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스레드 우선순위&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스레드를 병렬로 실행하다보면 우선순위를 지정해줘야 할 필요가 생깁니다.&amp;nbsp;우선 순위는 1부터 10까지 부여되는데 숫자가 클수록 우선순위가 높습니다.&amp;nbsp;우선 순위의 기본값은 5입니다.&amp;nbsp;주의할 점은 우선 순위가 높다고 반드시 작업이 먼저 끝나는 것은 아닙니다.&amp;nbsp;스레드의 개수가 많을 수록 우선 순위대로 작업을 완료할 확률이 높아집니다.&lt;/p&gt;
&lt;pre id=&quot;code_1649918947613&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class PriorityEX {

	public static void main(String[] args) {
		for(int i=1; i&amp;lt;=10; i++) {
			Thread thread = new CalcThread(&quot;thread&quot;+i);
			if(i != 10) {
				thread.setPriority(Thread.MIN_PRIORITY); 	//가장 낮은 우선순위: 1
			}else {
				thread.setPriority(Thread.MAX_PRIORITY);	//가장 높은 우선순위: 10
			}
			thread.start();
		}
	}

}

class CalcThread extends Thread{
	public CalcThread(String name) {
		setName(name);
	}
	public void run() {
		long sum = 0;
		for(int i=0;i&amp;lt;10000000;i++) {
			sum += i;
		}
		System.out.println(getName() +&quot;:&quot;+sum);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;동기화 블록&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 자원(메모리)를 여러 스레드가 공유해서 진행하다보면 결과 값이 엉터리가 될 수도 있기 때문에 각 스레드들을 동기화가 필요할 수도 있습니다.&amp;nbsp;스레드가 사용중인 자원을 작업이 끝날때까지 잠금을 걸어서 다른 스레드가 사용할 수 없도록 해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1649997064821&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class MainThreadEx {

	public static void main(String[] args) {
		Calculator calculator = new Calculator();
		
		User1 user1 = new User1();
		user1.setCalculator(calculator);
		user1.start();
		
		User2 user2 = new User2();
		user2.setCalculator(calculator);
		user2.start();
	}

}

class Calculator{
	private int memory;
	public int getMemory() {
		return memory;
	}
	public void setMemory(int memory) {
		this.memory = memory;
		try {
			Thread.sleep(2000);	//스레드를 2초 정지
		}catch(InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println(Thread.currentThread().getName()+&quot;: &quot;+this.memory);
		
	}
}

class User1 extends Thread{
	private Calculator calculator;
	public void setCalculator(Calculator calculator) {
		this.setName(&quot;User1&quot;);
		this.calculator = calculator;
	}
	public void run() {
		calculator.setMemory(100); 	//공유객체 메모리에 100을 저장
	}
}

class User2 extends Thread{
	private Calculator calculator;
	public void setCalculator(Calculator calculator) {
		this.setName(&quot;User2&quot;);
		this.calculator = calculator;
	}
	public void run() {
		calculator.setMemory(40); 	//공유객체 메모리에 40을 저장
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;User1스레드가 Calculator객체의 memory 필드에 100을 저장하고 2초간 일시정지 되며, 그동안 User2 스레드가 memory필드 값을 40으로 변경합니다.&amp;nbsp;2초가 지나 정지상태에 있던 User1 스레드가 memory필드값을 출력하면 40이 나오게 됩니다.&amp;nbsp;의도대로 였다면 User1은 100을 출력하고 User2는 40을 출력했어야하지만 결과는 User1, Use2둘다 40을 출력하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;동기화 블록&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스레드가 객체 내부 동기화 블록에 들어가면 객체에 잠금을 걸어 다른 스레드가 실행하지 못하도록 해야하는데, synchronized 키워드를 이용하면 됩니다.&amp;nbsp;위 예제에서 setMemory()메서드를 동기화 하려면 아래와 같이 하면됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1649997738226&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class MainThreadEx {

	public static void main(String[] args) {
		Calculator calculator = new Calculator();
		
		User1 user1 = new User1();
		user1.setCalculator(calculator);
		user1.start();
		
		User2 user2 = new User2();
		user2.setCalculator(calculator);
		user2.start();
	}

}

class Calculator{
	private int memory;
	public int getMemory() {
		return memory;
	}
	public synchronized void setMemory(int memory) {
		this.memory = memory;
		try {
			Thread.sleep(2000);	//스레드를 2초 정지
		}catch(InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println(Thread.currentThread().getName()+&quot;: &quot;+this.memory);
		
	}
}

class User1 extends Thread{
	private Calculator calculator;
	public void setCalculator(Calculator calculator) {
		this.setName(&quot;User1&quot;);
		this.calculator = calculator;
	}
	public void run() {
		calculator.setMemory(100); 	//공유객체 메모리에 100을 저장
	}
}

class User2 extends Thread{
	private Calculator calculator;
	public void setCalculator(Calculator calculator) {
		this.setName(&quot;User2&quot;);
		this.calculator = calculator;
	}
	public void run() {
		calculator.setMemory(40); 	//공유객체 메모리에 40을 저장
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;setMemory()에 synchronized를 걸어주면 User1스레드가 setMemory() 실행을 마칠 때까지 User2스레드는 기다려야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 예제처럼 메소드에 직접 잠금을 하는 방법 말고도 아래처럼 synchronized블록으로 잠금 대상인 Calulator 인스턴스 객체를 잠글 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1649998037759&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public synchronized void setMemory(int memory) {
	synchronized(this){
		this.memory = memory;
		try {
			Thread.sleep(2000);	//스레드를 2초 정지
		}catch(InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println(Thread.currentThread().getName()+&quot;: &quot;+this.memory);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스레드 상태&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스레드를 start()하면 바로 스레드가 시작되는 것처럼 보이지만 사실은 실행 대기(RUNNABLE) 상태가 됩니다.&amp;nbsp;이러한 실행 대기 상태의 스레드들 중에서 우선순위 스케줄링으로 선택된 스레드가 실행됩니다.&amp;nbsp;실행중인 스레드가 할당된 시간을 다 사용하면 작업이 마무리되지 않아도 다시 대기 상태로 돌아가고 스케줄링에 의해&amp;nbsp; 다른 스레드가 선택되어 실행상태가 됩니다.&amp;nbsp;&amp;nbsp;이렇게 스레드들이 번갈아가면서 실행되다가 작업을 모두 완료하면 스레드가 종료(Terminated) 상태가 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경우에 따라 스레드가 일시 정지(WAITING:다른스레드응답대기, TIMED_WAITING(일정시간대기), BLOCKED(락이 플릴때까지대기)) 상태가 되기도 합니다.&amp;nbsp;일시 정지된 스레드들이 다시 실행 상태가 되기 위해선 먼저 실행 대기 상태로 돌아가야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1650257593808&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class TargetThreadEx {

	public static void main(String[] args) {
		StatePrintThread statePrintThread = new StatePrintThread(new TargetThread());
		statePrintThread.start();
	}

}

class StatePrintThread extends Thread{
	private Thread targetThread;
	public StatePrintThread(Thread targetThread) {
		this.targetThread = targetThread;
	}
	public void run() {
		while(true) {
			Thread.State state = targetThread.getState();
			System.out.println(&quot;타겟 스레드 상태: &quot;+state);
			if(state == Thread.State.NEW) {
				targetThread.start();
			}
			if(state == Thread.State.TERMINATED) {
				break;
			}
			try {
				Thread.sleep(300);
			}catch(Exception e) {
				e.printStackTrace();
			}
		}
	}
}

class TargetThread extends Thread{
	public void run() {
		for(long i = 0; i&amp;lt;1000000000; i++) {
		}
		
		try {
			Thread.sleep(1500);
		}catch(Exception e) {
			e.printStackTrace();
		}
		
		for(long i = 0; i&amp;lt;1000000000; i++) {
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;다른 스레드에게 실행 양보 yield&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동시에 여러 스레드가 실행중일 때, 무의미한 대기 시간을 줄이기 위해 다른 스레드에게 실행을 양보할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1650258880527&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class YieldEx {

	public static void main(String[] args) {
		ThreadA1 threadA1 = new ThreadA1();
		ThreadB1 threadB1 = new ThreadB1();
		threadA1.start();
		threadB1.start();
		
		try {
			Thread.sleep(3000);
		}catch(Exception e) {
			e.printStackTrace();
		}
		threadA1.work = false;
		
		try {
			Thread.sleep(3000);
		}catch(Exception e) {
			e.printStackTrace();
		}
		threadA1.work =true;
		
		try {
			Thread.sleep(3000);
		}catch(Exception e) {
			e.printStackTrace();
		}
		threadA1.stop = true;
		threadB1.stop = true;
	}

}

class ThreadA1 extends Thread{
	public boolean stop = false;
	public boolean work = true;
	public void run() {
		while(!stop) {
			if(work) {
				System.out.println(&quot;ThreadA1 작업 내용&quot;);
			}else {
				Thread.yield(); //work가 false면 양보
			}
		}
		System.out.println(&quot;ThreadA1 종료&quot;);
	}
}

class ThreadB1 extends Thread{
	public boolean stop = false;
	public boolean work = true;
	
	public void run() {
		while(!stop) {
			if(work) {
				System.out.println(&quot;ThreadB1 작업 내용&quot;);
			}else {
				Thread.yield();
			}
		}
		System.out.println(&quot;ThreadB1 종료&quot;);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;다른 스레드의 종료를 기다림 join&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어느 한 스레드가 어떠한 다른 작업을 요청 한 뒤 스레드를 일시 정지 했다가 요청한 결과값을 받으면 다시 실행해야 하는 경우가 있습니다.&amp;nbsp;예를 들어, ThreadA가 ThreadB의 join()메서드를 호출하면 ThreadA는 ThreadB가 종료될 때 까지 일시정지가 되고 ThreadB가 종료되어야 ThreadA가 비로소 일시정지에서 풀려 이후의 코드가 실행하게 되는 것입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1650261768932&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class JoinEX {

	public static void main(String[] args) {
		SumThread sumThread = new SumThread();
		sumThread.start();
		try {
			sumThread.join();
		}catch(Exception e) {
			e.printStackTrace();
		}
		System.out.println(&quot;합:&quot;+sumThread.getSum());
	}

}

class SumThread extends Thread{
	private long sum;
	public long getSum() {
		return sum;
	}
	public void setSum(long sum) {
		this.sum = sum;
	}
	public void run() {
		for(int i = 1; i &amp;lt;= 100; i++) {
			sum += i;
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스레드 간 협업: wait, notify, notifyAll&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경우에 따라, 두개의 스레드가 교대로 번갈아가면서 실행해야 하는 경우도 있습니다.&amp;nbsp;아래 예제는 두 스레드의 작업을 WorkObject의 methodA()아 methodB()에 정의 하고, 두 스레드 ThreadA2와 ThreadB2가 번갈아가면서 methodA()와 methodB()를 호출합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1650264164296&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class WaitNotifyEx {

	public static void main(String[] args) {
		WorkObject sharedObject = new WorkObject();	//공유객체 생성
		ThreadA2 threadA2 = new ThreadA2(sharedObject);
		ThreadB2 threadB2 = new ThreadB2(sharedObject);
		threadA2.start();
		threadB2.start();
	}
}

class WorkObject{
	public synchronized void methodA() {
		System.out.println(&quot;ThreadA2의 methodA() 실행&quot;);
		notify();	//일시 정지한 ThreadB2를 실행 대기 상태로 만듦
		try {
			wait();
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public synchronized void methodB() {
		System.out.println(&quot;ThreadB2의 methodB() 실행&quot;);
		notify(); 	//일시 정지한 ThreadA2를 실행 대기 상태로 만듦
		try {
			wait();
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
}

class ThreadA2 extends Thread{
	private WorkObject workObject;
	public ThreadA2(WorkObject workObject) {
		this.workObject = workObject;
	}
	public void run() {
		for(int i=0;i&amp;lt;10;i++) {
			workObject.methodA();
		}
	}
}

class ThreadB2 extends Thread{
	private WorkObject workObject;
	public ThreadB2(WorkObject workObject) {
		this.workObject = workObject;
	}
	public void run() {
		for(int i=0;i&amp;lt;10;i++) {
			workObject.methodB();
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생산자 스레드가 생성한 데이터를 소비자 스레드가 읽는 작업을 교대로 실행하는 예제&lt;/p&gt;
&lt;pre id=&quot;code_1650269017715&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class WaitNotify {

	public static void main(String[] args) {
		DataBox dataBox = new DataBox();
		
		ProducerThread producerThread = new ProducerThread(dataBox);
		ConsumerThread consumerThread = new ConsumerThread(dataBox);
		producerThread.start();
		consumerThread.start();
	}

}

class DataBox{
	private String data;
	public synchronized String getData() {
		if(this.data == null) {
			try {
				wait(); 	//소비자 스레드를 일시 정지 상태로 
			}catch(InterruptedException e) {
				e.printStackTrace();
			}
		}
		String returnValue = data;
		System.out.println(&quot;소비자 스레드가 읽은 데이터:&quot;+returnValue);
		data = null;	//data필드를 null로
		notify();		//생산자 스레드를 실행 대기 상태로
		return returnValue;
	}
	public synchronized void setData(String data) {
		if(this.data != null) {
			try {
				wait(); 	//생산자 스레드를 일시 정지 상태로 
			}catch(InterruptedException e) {
				e.printStackTrace();
			}
		}
		this.data = data;	//data 필드를 세팅
		System.out.println(&quot;생산자 스레드가 생성한 데이터:&quot;+data);
		notify();	//소비자 스레드를 실행 대기 상태로
	}
}

//생산자(저장) 스레드
class ProducerThread extends Thread{
	private DataBox dataBox;
	public ProducerThread(DataBox dataBox) {
		this.dataBox = dataBox;
	}
	public void run() {
		for(int i = 1; i &amp;lt;= 3; i++) {
			String data = &quot;Data-&quot; + i;
			dataBox.setData(data);
		}
	}
}

//소비자(읽는) 스레드
class ConsumerThread extends Thread{
	private DataBox dataBox;
	public ConsumerThread(DataBox dataBox) {
		this.dataBox = dataBox;
	}
	public void run() {
		for(int i=0;i&amp;lt;=3;i++) {
			String data = dataBox.getData();
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스레드의 안전한 종료 stop, interrupt&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;stop() 메소드는 deprecated되었는데 사용중이던 자원들이 종료되지 않고 남겨지기 때문입니다.&amp;nbsp;그래서 stop 플래그를 통해서 run() 메소드의 종료를 유도합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1650270513406&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class StopFlagEx {

	public static void main(String[] args) {
		PrintThread1 printThread = new PrintThread1();
		printThread.start();
		try {
			Thread.sleep(1000);
		}catch(Exception e) {
			e.printStackTrace();
		}
		printThread.setStop(true);
	}

}

class PrintThread1 extends Thread{
	private boolean stop;
	public void setStop(boolean stop) {
		this.stop = stop;
	}
	public void run() {
		while(!stop) {
			System.out.println(&quot;실행 중&quot;);
		}
		System.out.println(&quot;자원 정리&quot;);
		System.out.println(&quot;실행 종료&quot;);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;interrupt() 메소드는 스레드가 일시 정지 상태에 있을 때 InterrruptedException을 발생시켜 스레드를 종료시킬 수 있습니다.&amp;nbsp;주의할 점은 일시 정지 상태에 있을 때만 예외를 발생시킨다는 점입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1650345390715&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class InterruptEx {

	public static void main(String[] args) {
		Thread thread = new PrintThread2();
		thread.start();
		try {
			Thread.sleep(1000);
		}catch(Exception e) {
			e.printStackTrace();
		}
		thread.interrupt(); //interruptedException 발생
	}

}

class PrintThread2 extends Thread{
	public void run() {
		while(true) {
			System.out.println(&quot;실행 중&quot;);
			if(Thread.interrupted()) {
				break;
			}
		}
		
		System.out.println(&quot;자원 정리&quot;);
		System.out.println(&quot;실행 종료&quot;);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;데몬 스레드&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데몬 스레드는 주 스레드의 보조적인 역할을 수행하는 스레드를 말합니다.&amp;nbsp;주 스레드가 종료되면 데몬 스레드도 강제적으로 종료됩니다.&amp;nbsp;이 점을 제외하면 일반 스레드와 다르지 않습니다.&amp;nbsp;스레드를 데몬으로 만들기 위해서는 주 스레드가 데몬이 될 스레드에 setDaemon(true)를 호출하면 됩니다.&amp;nbsp;주의할 점은 start() 호출되고 나서 setDaemon(true)를 호출하면 IllegalThreadStateException이 발생하기 때문에 start()하기 전에 setDaemon(true)를 호출해야 합니다.&amp;nbsp;아래 예제는 자동 저장하는 데몬 스레드 예제 입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1650346362737&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class DaemonEx {

	public static void main(String[] args) {
		AutoSaveThread autoSaveThread = new AutoSaveThread();
		autoSaveThread.setDaemon(true);
		autoSaveThread.start();
		try {
			Thread.sleep(3000);
		}catch(Exception e) {
			e.printStackTrace();
		}
		System.out.println(&quot;메인 스레드 종료&quot;);
	}

}

class AutoSaveThread extends Thread{
	public void save() {
		System.out.println(&quot;작업 내용 저장.&quot;);
	}
	
	public void run() {
		while(true) {
			try {
				Thread.sleep(1000);
			}catch(Exception e) {
				break;
			}
			save();
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스레드 그룹&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스레드 그룹은 관련된 스레드끼리 묶어서 관리할 목적으로 이용합니다.&amp;nbsp;JVM이 실행되면 system스레드 그룹을 만들고 하위 스레드 그룹으로 main을 만들고 메인 스레드를 mian 그룹에 포함시킵니다.&amp;nbsp;스레드는 명시적으로 그룹을 지정하지 않으면 자신을 생성한 스레드와 같은 그룹에 속하게 됩니다.&amp;nbsp;아래 예제의 AutoSaveThread는 위의 예제의 AutoSaveThread 입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1650357409121&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.Map;
import java.util.Set;

public class ThreadInfoEx {

	public static void main(String[] args) {
		AutoSaveThread autoSaveThread = new AutoSaveThread();
		autoSaveThread.setName(&quot;AutoSaveThread&quot;);
		autoSaveThread.setDaemon(true);
		autoSaveThread.start();
		
		Map&amp;lt;Thread, StackTraceElement[]&amp;gt; map = Thread.getAllStackTraces();
		Set&amp;lt;Thread&amp;gt; threads = map.keySet();
		for(Thread thread : threads) {
			System.out.println(&quot;Name: &quot;+thread.getName() + ((thread.isDaemon()) ? &quot;(데몬)&quot; : &quot;(주)&quot;));
			System.out.println(&quot;\t&quot; + &quot;소속그룹: &quot;+ thread.getThreadGroup().getName());
			System.out.println();
		}
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스레드를 그룹으로 지정하면 interrupt()를 이용해서 일괄 종료 시킬 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스레드 풀&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/209&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aacii.tistory.com/209&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1743066716026&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Thread Pool&quot; data-og-description=&quot;스레드 풀 스레드 풀은 작업 스레드를 제한된 개수(총 개수)만큼 정해놓고 작업 큐에 들어오는 작업들을 하나씩 스레드가 맡아서 처리합니다. 작업 처리가 끝난 스레드는 다시 작업 큐에서 새로&quot; data-og-host=&quot;blog.aacii.net&quot; data-og-source-url=&quot;https://aacii.tistory.com/209&quot; data-og-url=&quot;https://blog.aacii.net/209&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c5TZQ2/hyYyVSakRk/A1KYW7WKqvtOl7sIBLEOT0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bNrRB3/hyYxEpOdOn/XiTIes9aECCUO3OkQBEWn1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/tabIG/hyYuc9zXWE/jNolzMUzbmAdEiAt6fyVQ1/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot;&gt;&lt;a href=&quot;https://aacii.tistory.com/209&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aacii.tistory.com/209&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c5TZQ2/hyYyVSakRk/A1KYW7WKqvtOl7sIBLEOT0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bNrRB3/hyYxEpOdOn/XiTIes9aECCUO3OkQBEWn1/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/tabIG/hyYuc9zXWE/jNolzMUzbmAdEiAt6fyVQ1/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Thread Pool&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;스레드 풀 스레드 풀은 작업 스레드를 제한된 개수(총 개수)만큼 정해놓고 작업 큐에 들어오는 작업들을 하나씩 스레드가 맡아서 처리합니다. 작업 처리가 끝난 스레드는 다시 작업 큐에서 새로&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.aacii.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;멀티 스레드 개발 가이드 라인&amp;nbsp;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;스레드 풀 사용: Executors.newFixedThreadPoll(스레드개수) 을 사용하여 스레드 풀을 생성하고 작업을 Runnable(Callable) 으로 작성해서 작업을 분배합니다.&lt;/li&gt;
&lt;li&gt;DB 연결: 각 스레드별로 DB 연결을 독립적으로 관리하거나 커넥션 풀(HikariCP, DBCDP)을 사용하여 안전하게 커넥션을 관리합니다.&lt;/li&gt;
&lt;li&gt;트랜잭션 관리: insert나 update가 있으면 트랜잭션 처리를 하여 데이터의 일관성을 유지합니다.&lt;/li&gt;
&lt;li&gt;파일 처리: 각 스레드가 서로 다른 파일을 처리하도록 작업을 분배하여 입출력 충돌을 최소화합니다.&lt;/li&gt;
&lt;li&gt;공유 자원 동기화: 공유 자원(파일, 컬렉션)은 동기화 블록(synchronized)를 사용하고 java.util.concurrent의 스레드에 안전한 컬렉션을 사용합니다.&lt;/li&gt;
&lt;li&gt;예외 처리:&amp;nbsp; 예외 발생시 각 스레드 내부에서 예외/로깅/재시도 처리를 해줍니다.&lt;/li&gt;
&lt;li&gt;작업 결과 통합: 각 스레드가 반환하는 결과를 Future 객체(CompletableFuture)로 받아서, 전체 작업이 끝난 후 결과를 모으거나 후속 작업을 진행합니다.&lt;/li&gt;
&lt;li&gt;작업 완료 후 ExecutorService.shutdown() 또는 shutdownNow()를 호출해서 스레드 풀을 종료시켜 작업들을 안전하게 처리합니다.&lt;/li&gt;
&lt;li&gt;메모리 누수 방지: DB커넥션과 파일 스트림 등 자원은 반드시 close()하고 try-with-resources 구분으로 예외 발생시에도 자원이 정상 해제 되도록 합니다.&lt;/li&gt;
&lt;li&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>Callable</category>
      <category>runnable</category>
      <category>thread</category>
      <category>가이드</category>
      <category>멀티 스레드</category>
      <category>스레드</category>
      <category>자바</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/206</guid>
      <comments>https://aacii.tistory.com/206#entry206comment</comments>
      <pubDate>Thu, 27 Mar 2025 18:13:27 +0900</pubDate>
    </item>
    <item>
      <title>WSL 2 파일 시스템</title>
      <link>https://aacii.tistory.com/445</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL은 두 운영체제를 분리하여 네트워크로만 접근할 수 있게 하지 않고 직접 파일을 주고 받을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서 리눅스 파일 시스템을 실행할 수 있게 WSL은 리눅스 파일 시스템에서 수행되는 모든 작업을 NT 커널 작업으로 변환합니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;가상 하드웨어 디스크(VHD)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL 2는 모든 리눅스 파일을 ext4 파일 시스템을 사용하는 가상 하드웨어 디스크(VHD)에 저장합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VHD 파일은 처음 만들어질 때 최대 256GB 까지 늘어날 수 있도록 만들어지고 사용량에 따라 최대 제한에 도달할 때까지 자동으로 크기가 조절됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한계에 도달하면 디스크 공간 부족 오류가 발생합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디스크 공간 부족을 해결하려면 다음 단계를 진행하여 VHD 크기를 확장합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 실행중인 wsl의 인스턴스들을 종료&lt;/h4&gt;
&lt;pre id=&quot;code_1742217095074&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl --shutdown&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 파워셸으로 리눅스(ubuntu) 배포판의 설치 패키지 이름 PackageFamilyName과 ext4.vhdx 파일의 전체 경로를 찾습니다.&lt;/h4&gt;
&lt;pre id=&quot;code_1742217445131&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$pkgFamilyName = (Get-AppxPackage -Name &quot;*ubuntu*&quot;).PackageFamilyName
$Path = &quot;$env:LOCALAPPDATA\Packages\$pkgFamilyName\LocalState\*.vhdx&quot;
$vhd = Get-ChildItem $Path
Resize-VHD -Path $VHD.FullName -SizeBytes 500GB&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;Resize-VHD 명령어를 이용하여 VHD 파일 크기를 원하는 크기(500GB)으로 확장해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. WSL2 리눅스 배포판을 다시 시작합니다.&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. 리눅스 내부에 변경된 사항을 적용해야 합니다.&amp;nbsp;&amp;nbsp;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 명령어로 파일 시스템이 탑재되었는지 확인&lt;/p&gt;
&lt;pre id=&quot;code_1742217778484&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo mount -t devtmpfs none /dev&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ext4 유형의 파일 시스템을 필터링해서 사용중인 루트 파일 시스템을 찾아야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1742217858362&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mount | grep ext4&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5. /dev/sdb 처럼 해당 마운트되는 디바이스(dev) 항목의 이름을 복사하고 다음 명령어를 실행합니다.&lt;/h4&gt;
&lt;pre id=&quot;code_1742217947061&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo resize2fs /dev/sdb&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들어 sda, sdb, sdc 처럼 sd 다음 문자가 달라집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;resize2fs는 리눅스 배포판에 없다면 별도로 설치해야 합니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;volfs&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;volfs는 모든 리눅스 시스템 파일과 홈 디렉터리를 저장하는 데 사용되는 WSL의 기본 파일 시스템입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 파일은 윈도우 파일 시스템 안에 있고 이 파일 시스템의 목적은 윈도우와 상호운용성이 아니라 /home 이나 /root같은 리눅스 환경을 제공하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 윈도우에서 새 파일이 추가되더라도 volfs에서 무시되고 사용할 수 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 파일 시스템은 윈도우에서 리눅스의 파일에 접근하기 불편한 단점이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;drvfs&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 파일 시스템은 리눅스 배포판에 자동으로 마운트 되어 윈도우의 파일과 리눅스의 파일 사이의 상호 운용 가능하게 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서 사용하는 C드라이브가 리눅스에 /mnt/c 로 마운트 되어 사용할 수 있게 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;drvfs 파일 시스템 안의 파일을 윈도우에서 열면 파일의 퍼미션이 접근 제어 목록을 통해 적용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL 환경에서 root 권한으로도 NTFS 파일 시스템의 특정 파일(예: /mnt/c/Windows)에 접근하지 못하는 경우가 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;tmpfs&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tmpfs는 메모리와 디스크 기반 스왑 공간을 조합하여 파일 시스템을 만들어 데이터를 읽고 쓰는 속도가 매우 빠릅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;tmpfs를 마운트 해제하면 그 안의 모든 데이터가 손실됩니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;procfs, sysfs&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;procfs, sysfs는 장치 구성 같은 시스템 정보가 있는 특수한 파일 시스템입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;profs는 /proc 디렉터리에서 찾을 수 있는 시스템 관련 정보들을 제공합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/sys는 sysfs 인데 전원 설정이나 이더넷 물리 주소 같은 정보를 얻는데 사용할 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;리눅스 배포판 내에서 윈도우 파일 접근하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;drvfs 파일 시스템을 이용해서 언급했듯 NTFS의 C:\ 드라이브는 WSL에서 /mnt/c/ 으로 마운트 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 이용해서 WSL에서 윈도우 파일들을 접근할 수 있어서 리눅스 명령어나 앱으로 윈도우의 파일을 사용할 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;윈도우에서 리눅스 배포판 내의 파일 접근하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우에서 WSL의 리눅스의 파일에 접근하려면 윈도우 탐색기의 경로 입력창에 UNC 경로인&amp;nbsp;&amp;nbsp; \\wsl$\&amp;nbsp; &amp;nbsp;을 입력하면 모든 리눅스 배포판 내에 포함된 파일을 볼 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&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>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>vhd</category>
      <category>WSL</category>
      <category>WSL 2</category>
      <category>디스크</category>
      <category>파일 시스템</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/445</guid>
      <comments>https://aacii.tistory.com/445#entry445comment</comments>
      <pubDate>Thu, 13 Mar 2025 22:40:30 +0900</pubDate>
    </item>
    <item>
      <title>WSL 배포판 관리</title>
      <link>https://aacii.tistory.com/443</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;배포판 목록 조회&lt;/h2&gt;
&lt;pre id=&quot;code_1741696023038&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl -l
wsl --list&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기본 배포판 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 조회한 배포판의 목록을 이용해서 --setdefault 또는 -s 매개변수로 WSL 기본 배포판을 지정할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741696894307&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl --set-default 배포판이름&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;배포판 백업&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL의 배포판 패키지는 tar 파일로 내보내면 쉽게 백업할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관리자 권한으로 명령 프롬프트에서 다음과 같이 export 할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741697810910&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl --export 배포판이름 저장될윈도우경로\백업될파일이름.tar&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;백업된 배포판 복원&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;백업 파일이 c:\temp\ 경로에 복사되었다고 가정하면 다음과 같이 복원할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 c:\temp\ 경로는 배포판의 루트 파일 시스템이 설치됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741698018639&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl --import 배포판새이름 c:\temp\ c:\temp\백업된파일이름.tar&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 배포판 목록에서 import한 배포판을 확인할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가져온 배포판의 모든 파일, 루트 파일 시스템이 담긴 rootfs 폴더를 확인할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;WSL 배포판 등록 취소와 제거&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이 배포판 등록을 취소 할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741698635019&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl --unregister 배포판이름&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>WSL</category>
      <category>관리</category>
      <category>배포판</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/443</guid>
      <comments>https://aacii.tistory.com/443#entry443comment</comments>
      <pubDate>Tue, 11 Mar 2025 22:14:33 +0900</pubDate>
    </item>
    <item>
      <title>WSL(Windows Subsystem for Linux) 설치와 설정</title>
      <link>https://aacii.tistory.com/440</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;WSL2&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSL은 리눅스 가상 머신(VM)을 실행하지 않고도 기본적인 리눅스 바이너리를 그대로 윈도우에서 실행할 수 있드록 해줍니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 리눅스 bash 쉘만 제공하는 것을 넘어서 실제 리눅스와 똑같이 보이도록 동작하게 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 윈도우10 버전 1903 빌드 18362 이상에서 설치 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;WSL2 기능 활성화&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.윈도우의 PowerShell을 관리자 권한으로 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시작 버튼 &amp;gt; powershell 입력 &amp;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. 아래 명령어를 입력해서 wsl을 활성화 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1739971953941&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1739971963942&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart&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;3. 윈도우를 재부팅합니다.&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;/p&gt;
&lt;pre id=&quot;code_1741871224553&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;optionalfeatures&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 Windows 기능 켜기/끄기 가 실행되는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Windows Subsystem for Linux 와 Virtual Machine Platform을 체크해서 설치합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 비슷한 가상 기술인 Hyper-V와 Windows Hypervisor Platform은 설치하지 않아도 됩니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;WSL2 리눅스 커널 업데이트&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;X64 리눅스 커널 업데이트 패키지 다운로드&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/ta6b0/btsMoH0VMdk/slEYZoqbAdDYmwl4XKGWXk/wsl_update_x64.msi?attach=1&amp;amp;knm=tfile.msi&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;wsl_update_x64.msi&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;16.31MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&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;arm54 리눅스 커널 업데이트 패키지 다운로드&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/dgslQi/btsMnRcd0ay/TUIagzW29YiB2FrPXgzZkk/wsl_update_arm64.msi?attach=1&amp;amp;knm=tfile.msi&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;wsl_update_arm64.msi&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;8.65MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&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;background-color: #121212; color: #ececec; text-align: start;&quot;&gt;WslRegisterDistribution failed with error:&lt;/span&gt;이 발생합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 완료되면 윈도우 PowerShell 에서 다음과 같이 입력합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1739972257895&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl --set-default-version 2&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;h2 data-ke-size=&quot;size26&quot;&gt;Microsoft Store에서 리눅스 배포판 다운로드 및 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마이크로소프트 스토어에서 리눅스 배포판을 다운로드 받을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 시작 메뉴 &amp;gt; Microsoft Store 검색 후 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Linux or ubuntu 검색 후 다운로드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 우분투24를 다운로드받고 설치하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 실행 시 &lt;span style=&quot;background-color: #121212; color: #ececec; text-align: start;&quot;&gt;WslRegisterDistribution failed with error: &lt;/span&gt;이 발생한다면 아래 방법으로 해결해봅니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;1. 시작 &amp;gt; 실행 &amp;gt; %localappdata%\Packages 입력합니다.&lt;br /&gt;2..CanonicalGroupLimited.Ubuntu_ 로 검색해서 나오는 폴더를 찾아서 오른쪽 클릭을 합니다.&lt;br /&gt;3..속성 &amp;gt; 일반 &amp;gt; 고급 &amp;gt; &quot;내용을 압축하여 디스크 공간 절약&quot; 의 체크 박스의 체크를 해제합니다.&lt;br /&gt;4..Ubuntu App을 재실행 합니다..&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;정상적으로 실행되면 username과 password를 등록합니다. (윈도우 사용자 계정과 일치할 필요는 없습니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 사용자는 배포판의 기본 사용자이고 sudo 그룹에 추가됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 이제 탐색기에서 리눅스의 파일 시스템에 접근할 수 있으며 네트워크 드라이브로도 등록할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;WSL 으로 설치된 리눅스 배포판 실행&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치된 배포판 확인 방법(powershell 이나 cmd 에서)&lt;/p&gt;
&lt;pre id=&quot;code_1741089443036&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl.exe -list
혹은
wsl.exe -l&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;위 명렁어에 나오는 리눅스 배포판 이름을 이용해서 wsl 실행 시 특정 배포판으로 실행 할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741089501586&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl.exe -d 설치된배포판이름&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;C:\Users\사용자계정\AppData\Local\Microsoft\WindowsApps 경로에는 설치된 배포판 이름의 exe 파일이 존재하는데 이 exe 파일으로도 리눅스 배포판을 실행할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간편하게 시작 메뉴에서 설치한 배포판을 검색해서 app으로도 실행 할 수 있습니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;WSL 사용자 계정 구성 및 관리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 리눅스 배포판에 대한 암호를 잊어버렸다면 파워셸을 열고 리눅스 배포판의 루트 사용자로 실행합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741179914158&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;wsl -u root -d 리눅스배포판이름&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;그런 다음 아래처럼 passwd 명령어로 사용자의 암호를 재 설정합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741180036149&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;passwd 사용자계정&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;h2 data-ke-size=&quot;size26&quot;&gt;우분투 배포판 업데이트와 업그레이드&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업데이트와 업그레이드의 차이점은 업데이트는 현재 제품을 수정하는 것이고 업그레이드는 현제 재품을 새 버전으로 교체하는 것입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741180796152&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade&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;Advanced Package Tool(apt)는 우분투 배포판 패키지 처리를 도와주는 도구입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;apt update는 /etc/apt/sources.list 파일에 있는 배포판 소프트웨어 저장소에서 사용 가능한 패키지 목록 데이터베이스를 갱신하는 작업입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 apt upgrade는 실제 소프트웨어를 업그레이드 하는 것입니다.&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;h2 data-ke-size=&quot;size26&quot;&gt;메모리, CPU 제한 값 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;딥러닝 학습을 시키려면 많은 자원이 필요한데 기본 설정으로는 부족할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;%USERPROFILE%\.wslconfig 파일을 만들고 적절히 편집합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741871676142&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=32GB 

# Sets the VM to use two virtual processors
processors=8

# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
kernel=C:\\temp\\myCustomKernel

# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
kernelCommandLine = vsyscall=emulate

# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=16GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
swapfile=C:\\temp\\wsl-swap.vhdx

# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false

# Turn on default connection to bind WSL 2 localhost to Windows localhost. Setting is ignored when networkingMode=mirrored
localhostforwarding=true

# Disables nested virtualization
nestedVirtualization=false

# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true

# Enable experimental features
[experimental]
sparseVhd=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;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;WSL 에서 배포판 리눅스의 포트로 연결하는 방법&lt;/h2&gt;
&lt;pre id=&quot;code_1741917814840&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# WSL의 IP 주소를 172.19.120.200 이라 가정합니다.

# 윈도우즈 파워쉘의 네트워크 관리 기능인 netsh 명령어를 이용하여 5432 포트를 포워딩 설정합니다.
netsh interface portproxy add v4tov4 listenport=5432 listenaddress=0.0.0.0 connectport=5432 connectaddress=172.19.120.200

# 다시 netsh 명령어로 방화벽 규칙을 추가합니다.
netsh advfirewall firewall add rule name=&quot;WSL PostgreSQL Port Forwarding&quot; dir=in action=allow protocol=TCP localport=5432&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;방화벽 규칙에서 사용한 옵션 설명&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;name=&quot;WSL PostgreSQL Port Forwarding&quot;&lt;/b&gt;: 규칙의 이름을 지정합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;dir=in&lt;/b&gt;: 규칙의 방향을 지정하여, direction=inbound 즉, 들어오는 트래픽에 적용합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;action=allow&lt;/b&gt;: 트래픽을 허용합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;protocol=TCP&lt;/b&gt;: 규칙이 TCP 프로토콜에 적용됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;localport=5432&lt;/b&gt;: 로컬 포트 5432로 향하는 트래픽에 적용됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000;&quot; data-ke-size=&quot;size26&quot;&gt;wsl.conf&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/etc/wsl.conf 에 있는 파일을 사용해서 모든 배포판의 시작 구성을 설정할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 파일은 생성되지 않았다면 직접 생성해줘야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;key=value 형식으로 속성을 지정해주면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경사항을 적용하려면 wsl을 다시 시작해야 합니다.&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;[automount]&amp;nbsp;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 항목은 wsl 시작시 리눅스에서 파일시스템을 자동으로 마운트 해줍니다.&lt;/p&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: 13.0232%;&quot;&gt;속성&lt;/td&gt;
&lt;td style=&quot;width: 11.628%;&quot;&gt;형식&lt;/td&gt;
&lt;td style=&quot;width: 12.2093%;&quot;&gt;기본값&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.0232%;&quot;&gt;enabled&lt;/td&gt;
&lt;td style=&quot;width: 11.628%;&quot;&gt;true/false&lt;/td&gt;
&lt;td style=&quot;width: 12.2093%;&quot;&gt;true&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;true를 설정하면 리눅스의 /mnt 경로 아래에 윈도우 운영체제의 C:\ , D:\ 등 고정 드라이브들이 자동으로 마운트 됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.0232%;&quot;&gt;mountFsTab&lt;/td&gt;
&lt;td style=&quot;width: 11.628%;&quot;&gt;true/false&lt;/td&gt;
&lt;td style=&quot;width: 12.2093%;&quot;&gt;true&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;true를 설정하면 고정 드라이브 외에 /etc/fstab 파일에 서술된 항목들이 자동으로 마운트 됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.0232%;&quot;&gt;root&lt;/td&gt;
&lt;td style=&quot;width: 11.628%;&quot;&gt;문자열&lt;/td&gt;
&lt;td style=&quot;width: 12.2093%;&quot;&gt;/mnt/&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;고정 드라이브들을 마운트할 기본 경로를 설정합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.0232%;&quot;&gt;options&lt;/td&gt;
&lt;td style=&quot;width: 11.628%;&quot;&gt;쉼표로 구분된 문자열&lt;/td&gt;
&lt;td style=&quot;width: 12.2093%;&quot;&gt;빈 문자열&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;drvfs 마운트시 세부 옵션을 추가로 지정할 수 있습니다.&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;options 항목에서 사용하는 drvfs 마운트 옵션은 다음과 같습니다.&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;uid: 모든 파일의 소유자가 사용하는 사용자 ID&lt;br /&gt;gid: 모든 파일의 소유자가 사용하는 그룹 ID&lt;br /&gt;umask: 모든 파일(디렉터리)를 제외하기 위한 8진수 권한 마스크&lt;br /&gt;fmask: 모든 일반 파일을 제외하기 위한 8진수 권한 마스크&lt;br /&gt;dmask: 모든 디렉터리를 제외하기 위한 8진수 권한 마스&lt;/blockquote&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;[network]&lt;/h4&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: 20.3488%;&quot;&gt;속성&lt;/td&gt;
&lt;td style=&quot;width: 13.0233%;&quot;&gt;형식&lt;/td&gt;
&lt;td style=&quot;width: 12.2093%;&quot;&gt;기본값&lt;/td&gt;
&lt;td style=&quot;width: 54.4186%;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.3488%;&quot;&gt;generateHosts&lt;/td&gt;
&lt;td style=&quot;width: 13.0233%;&quot;&gt;true/false&lt;/td&gt;
&lt;td style=&quot;width: 12.2093%;&quot;&gt;true&lt;/td&gt;
&lt;td style=&quot;width: 54.4186%;&quot;&gt;true로 설정하면 /etc/hosts 파일에 윈도우의 \system32\drivers\etc\hosts의 내용을 반영해줍니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 20.3488%;&quot;&gt;generateResolvConf&lt;/td&gt;
&lt;td style=&quot;width: 13.0233%;&quot;&gt;true/false&lt;/td&gt;
&lt;td style=&quot;width: 12.2093%;&quot;&gt;true&lt;/td&gt;
&lt;td style=&quot;width: 54.4186%;&quot;&gt;true로 설정하면 /etc/resolv.conf 파일에 WSL에서 사용할 DNS 서버 주소 목록을 생성합니다.&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;h4 style=&quot;color: #000000;&quot; data-ke-size=&quot;size20&quot;&gt;[interop]&lt;/h4&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: 19.5349%;&quot;&gt;속성&lt;/td&gt;
&lt;td style=&quot;width: 11.2791%;&quot;&gt;형식&lt;/td&gt;
&lt;td style=&quot;width: 11.5116%;&quot;&gt;기본값&lt;/td&gt;
&lt;td style=&quot;width: 57.6744%;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 19.5349%;&quot;&gt;Enabled&lt;/td&gt;
&lt;td style=&quot;width: 11.2791%;&quot;&gt;true/false&lt;/td&gt;
&lt;td style=&quot;width: 11.5116%;&quot;&gt;true&lt;/td&gt;
&lt;td style=&quot;width: 57.6744%;&quot;&gt;true로 설정하면 WSL이 notepad.exe 처럼 윈도우 프로세스를 실행할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 19.5349%;&quot;&gt;appendWindowsPath&lt;/td&gt;
&lt;td style=&quot;width: 11.2791%;&quot;&gt;true/false&lt;/td&gt;
&lt;td style=&quot;width: 11.5116%;&quot;&gt;true&lt;/td&gt;
&lt;td style=&quot;width: 57.6744%;&quot;&gt;true로 설정하면 환경 변수인 $PATH에 윈도우의 PATH 환경 변수의 내용을 자동으로 덧붙입니다.&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;h2 style=&quot;color: #000000;&quot; data-ke-size=&quot;size26&quot;&gt;WSLENV&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSLENV는 윈도우와 WSL 환경 사이 공유되는 설정입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WSLENV 변수에 대한 변경 사항은 WSL 세션이 종료되면 자동으로 제거됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 계속해서 값들을 유지하려면 .profile 이나 .bash_rc 값으로 설정해야 합니다.&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;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;/p : WSL에서 윈도우 사이에 경로를 변환해야함을 의미합니다.&lt;br /&gt;/l : 환경 변수가 경로 목록임을 나타냅니다.&lt;br /&gt;/u : 이 플래그가 붙은 환경 변수는 윈도우에서 WSL 애플리케이션을 실행할 때만 사용합니다.&lt;br /&gt;/w : 이 플래그가 붙은 환경 변수는 반대로 WSL에서 윈도우 애플리케이션을 실행할 때에만 사용합니다.&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;/p&gt;
&lt;pre id=&quot;code_1741850107412&quot; class=&quot;routeros&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ export FORWSL=/mnt/c
$ export FORWIN=/mnt/c/Data
$ export MYPATHLIST=/mnt/c/Users:/mnt/c/Data
$ export TEMPDIR=/mnt/c/temp
$ export WSLENV=FORWSL/u:FORWIN/w:MYPATHLIST/l:TEMPDIR/p
$ cmd.exe #WSL에서 윈도우 명령 프롬프트를 실행
C:\WINDOWS\system32&amp;gt; echo %TEMPDIR%&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Linux &amp;amp; Cloud</category>
      <category>WSL</category>
      <category>wsl2</category>
      <category>가상</category>
      <category>리눅스</category>
      <category>설정</category>
      <category>설치</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/440</guid>
      <comments>https://aacii.tistory.com/440#entry440comment</comments>
      <pubDate>Wed, 5 Mar 2025 22:24:29 +0900</pubDate>
    </item>
    <item>
      <title>SimCity 4 러시아워 &amp;amp; 디럭스 에디션</title>
      <link>https://aacii.tistory.com/422</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;구버진 심시티4 실행 종료 문제&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;구버전 심시티4는 &lt;span style=&quot;background-color: #ffffff;&quot;&gt;한창 플레이중에 강제로 실행 종료되는 현상이 자주 일어납니다. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이것은 듀얼 코어 이상 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;CPU&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;에서 주로 발생하는 문제로 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;해결 방법은 다음과 같이 하시면 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;심시티4 실행&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;작업관리자 실행&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;프로세스 관리에서 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;simcity4.exe &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 우클릭&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;선호도 설정 클릭&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;cpu0 &lt;span style=&quot;background-color: #ffffff;&quot;&gt;만 체크하고 나머지 전부 체크 해제 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그러나 실행시 마다 매번 병경하기 귀찮기 때문에 다음과 같이 바로가기에 등록해 두면 됩니다. .&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;심시티4 바로가기를 우클릭하여 속성 클릭&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바로가기 탭의 대상&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(T) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;의 명령라인 끝에 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-CPUcount:1 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 추가&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;예&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;) &quot;C:\Program Files (x86)\Maxis\SimCity 4\Apps\SimCity 4.exe&quot; -CPUcount:1&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;구버전 심시티4 창 모드&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;전체화면 모드 실행&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;심시티4 바로가기를 우클릭하여 속성 클릭&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;바로가기 탭의 대상&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(T) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;의 명령라인 끝에 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;ndash;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;w &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;혹은 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;ndash;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;f &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 추가합니다.&amp;nbsp; -&amp;gt; &lt;/span&gt;창모드&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(-w), &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;전체화면모드&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(-f)&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;예&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;) &quot;C:\Program Files (x86)\Maxis\SimCity 4\Apps\SimCity 4.exe&quot; -CPUcount:1 -w&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지원해상도:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1280x800, 1440x900, 1680x1050, 1920x1200, 1360x768, 1024x600, 1600x900, 1920x1080&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;심시티4 러시아워 치트키&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;치트를 사용하려면 도구툴이 선택되지 않은 상태에서 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;[Ctrl]+[X]&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 누르시면 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;만약 커서가 다른 것으로 바뀌어있을 때는 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ESC&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 누른 뒤 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;[Ctrl]+[X] &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 누르시면 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;stopwatch - 24&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;시간 주기를 일시 정지&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;시작 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;whattimeizit - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;원하는 시간을 설정 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;whererufrom - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;원하는 도시 이름 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;hellomynameis - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;원하는 시장 이름 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;you don't deserve it - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;모든 보상 건물 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;sizeof - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;화면을 확대&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(1-100) &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;weaknesspays - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;기금에 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1000 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;추가 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;fightthepower - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;모든 건물의 전력 요구 조건을 제거 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;zoneria - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;비어있는 구역의 색깔을 숨김&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;tastyzots - zots&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 제거&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(zots: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도로&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;전력&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;수도&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일자리가 없을 때&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;) &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;howdryiam - &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;모든 건물의 수도 요구 조건을 제거&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;심시티4 단축키&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ctrl+` &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;일시정지&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ctrl+1 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;거북이속도&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ctrl+2 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;코뿔소속도&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ctrl+3 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;치타속도&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ctrl+f &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;소방차파견&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ctrl+p &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;경찰차파견&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;ctrl+s &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도시저장&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;줌인&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;줌아웃&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;page up &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;반시계방향회전&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;page down &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;시계방향회전&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;home &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;건물 시계방향회전&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;end &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;건물 반시계방향회전&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;spacebar &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;커서에 화면맞추기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;esc &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;창도구 켜거나 끄기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;q &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;낮은 밀도 주거&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;w &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;중간 밀도 주거&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;e &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;높은 밀도 주거&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;낮은 밀도 상업&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;s &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;중간 밀도 상업&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;d &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;높은 밀도 상업&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;z &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;농업&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;x &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;중간 밀도 공업&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;c &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;높은 밀도 공업&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;v &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;구역취소&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;b &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;철거&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;r &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도로도구&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;t &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;철도도구&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;shift+t &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;지하철도구&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;I &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;전력선&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;i &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;수도관&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;심시티4 팁&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;건설도중 신의 모드 사용 방법&lt;/b&gt;: 도시를 만들기 전에 일단 &quot;신의 모드&quot;를 통해서 지형을 만드는데 일단 도시를 짓기 시작하면 &quot;신의 모드&quot;에 있는 &quot;지형 만들기&quot;나 &quot;지형 효과 만들기&quot; 도구를 사용할 수 없습니다. 도시를 짓고나서 위의 도구를 사용하려면 &lt;span style=&quot;background-color: #ffffff;&quot;&gt;[Ctrl]+[Alt]+[Shift]&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 누른 상태에서 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;신의 모드&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;아이콘에 클릭하시면 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;탈것 조종 모드&lt;/b&gt;: 도시의 신호등을 제어하거나&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;철길 건널목의 막대를 내리거나&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;달려가는 차량에 카메라를 고정할 때는 조회도구가 선택된 상태에서 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;[Shift]&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;를 누르고 대상을 클릭하시면 됩니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;시프트 키 활용&lt;/b&gt;: &lt;span style=&quot;background-color: #ffffff;&quot;&gt;주거나 상업구역을 만들때 쉬프트를 누르고 드래그하면 거리가 생기지 않습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;컨트롤 키 활용: 컨트롤 키를 누른 상태에서 구역을 만들면 최대 크기 건물을 들어서게 하는 구역을 설정할 수 있습니다. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;경찰을 출동시키면 도시 통계에서 체포 횟수가 늘어납니다.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;심시티4 고급 팁&lt;/span&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;공해 산업&lt;/b&gt;은 하류층 심의 유입과 도시 발전의 기초라 기본적으로 어느 정도 육성해야 합니다. 그러나 오염이 많이 발생하므로 이웃 도시에 구역을 따로 만드는 것도 한 방법입니다. 주거 지역의 교육점수 40미만이어야 공해 산업 수요가 생깁니다. .&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;하이테크 산업&lt;/b&gt;은 교육 점수 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;100 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이상이면 육성할 수 있습니다. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;그러나 일자리 제공 역할 밖에 없으므로 무리한 육성을 하지 않아도 됩니다. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;고층 상업 건물&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(CO &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)이 썩는 문제: &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;부지의 적합성을 맞춰주어도 건물이 썩게되는데 수요가 부족한 것입니다. CO상 건물의 수요는 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;높은 교육 점수인 심즈(인구)가 있어야합니다.&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;즉&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, 더 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;많은 인구와 교육 점수를 올려줘야 수요가 생깁니다. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;하류층&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;중류층&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;상류층&lt;/b&gt;은 교육수준에 따라 나누어 질 뿐 특별한 이유가 있지 않는한 따로 관리 할 필요 없습니다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상업지역도 마찬가지로 강제로 철거해서 쫓아낼 필요 없이 수요에 따라 높은 수준으로 자동으로 교체가 됩니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;공항&lt;/b&gt;은 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오피스 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상업 건물만 이용하므로 상업이 활성화되면 상업 지구와 도로와 연결합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;항구&lt;/b&gt;는 공업지역과&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; 도로로 연결합니다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;도시 흑자&lt;/b&gt;를 위해서는 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;CS&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;상이 가장 중요 합니다. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;교통&lt;/b&gt;은 아파트 단지 인구를 버스 정류장으로 모아서 대중 교통으로 일자리지역으로 이동하는 경로를 최단경로로 설계합니다. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;심들은 최단 거리 교통 수단을 이용 합니다. 그래서 도로가 바로 일자리로 가도록 설계하지 말고 대중 교통보다 돌아서 가도록 설계를 하는 것이 좋습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도로 건너편은 이동 거리가 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이지만 도로가 한 칸 옆으로 이동하면 이동거리가 한 칸이므로 버스 정류장은 건물 옆이 아니라 도로 건너편에 건설 해야 합니다. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;대중 교통과 연결할 때도 역 도로 건너편에 버스 정류장을 배치해서 버스와 환승이 쉽도록 설계해야 합니다. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&lt;b&gt;오페라하우스&lt;/b&gt;는 일정 인구 이상에서 교육 수준을 낮추는 버그가 있으므로 짓지 않습니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;관료청&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;보건&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;의료 기금이 기준선 초과&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;최대치&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;기금을 일시적으로 수요보다 기금을 높게 올려두면 지을 수 있습니다. 짓고 나서 기금을 다시 내리면 됩니다. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;우주 공항은&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;철도&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;화물역&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(30&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;타일 이상&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)2&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;개 열차 미션으로 해금합니다&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;대형철도역은&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;보통 해금이 어려우므로 화물 열차 미션으로 해금합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;공원: 주거 수요 제한 해제 방법&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;도시 건설 하다보면 어느 순간 인구가 더 이상 유입되지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;이것은 버그가 아니라 주거 수요 제한을 늘리기 위해 공원을 건설해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;주거 수요는 아래의 공원을 사용하는 것이 효율적입니다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&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;커다란 광장: 상업 80, 범위 15, 주거수요상승한계치 9000&lt;/li&gt;
&lt;li&gt;커다란 화초가든&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;오염 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;-15 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;범위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;6 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;주거 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;85 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;범위 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;45, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;주거수요상승한계치 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;7000&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;테니스코트&lt;span style=&quot;background-color: #ffffff;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;스케이트보드공원&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;주거수요상승한계치 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;4000&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;녹지가 있는 공원은 대기 오염도 줄여줍니다&lt;span style=&quot;background-color: #ffffff;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;공원을 건설하다보면 보상 건물로 축구장이나 야구장을 건설 할 수 있는데 이 것들도 인구 유입 제한을 해제합니다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;전체 맵 크기 편집&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;C:\Users\&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;사용자&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;\Documents\SimCity 4\Regions\&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;위 Regions &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;폴더에 원하는 맵 이름의 폴더가 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;거기서&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;&amp;nbsp;config.bmp &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;파일을 그림판으로 열어줍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;확대&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(ctrl+&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;휠&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;후 스포이드 툴로 색깔 추출 후 연필 도구로 편집합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;빨강&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: 전체 맵에서 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;소형 도시 구획으로 변경됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;연두&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: 전체 맵에서 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;중형 도시 구획으로 변경됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;파란&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: 전체 맵에서 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;대형 도시 구획으로 변경됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;심시티 디럭스 에디션&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;스팀&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;)&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;기본 설치 경로: C:\Program Files (x86)\Steam\steamapps\common\SimCity 4 Deluxe&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;스팀에서 구입 할 수 있는 디럭스 에디션은 한글 패치가 되어 있지 않습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;그래서 수동으로 따로 한글 패치를 해줘야 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;1. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;한글 패치&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;심시티 설치 경로에 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;Korean &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;폴더를 만든 뒤 거기에 패치 파일&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;(simcityLocale.dat)&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;을 복사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bzXN1O/btsH1nSzop4/IPKm13Ky8HPso6TkwikYcK/SimCityLocale.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;SimCityLocale.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.38MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;2. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;스팀 설정에서 시작 옵션 변경 방법&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;해상도 조정&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: -CustomResolution:enabled -r1920x1080x32&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;인트로 끄기(EA Sports it's in the game&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: -intro:off&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;창모드 변경&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;: -w&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;3. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;자문위원 한국 버전으로 바꾸기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;심시티 설치 경로에 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;Sku_Data &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;폴더에 &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;Sku3_Thai_Kor_Tch &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;폴더를 복사합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/GFqsQ/btsH00Dpebt/KorK5690E4RXrYJArHEnB1/Sku3_Thai_Kor_Tch.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Sku3_Thai_Kor_Tch.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;6.54MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;4. 호환성 설정&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;윈도우10이나 윈도우11에서 실행이 되지 않는 경우 호환성 설정을 하셔야 합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;C:\Program&amp;nbsp;Files&amp;nbsp;(x86)\Steam\steamapps\common\SimCity&amp;nbsp;4&amp;nbsp;Deluxe\Apps&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;에 SimCity 4.exe 를 우클릭 &amp;gt; 속성 &amp;gt; 호환성 탭에서&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;Windows 7 이나 그 이전 버전으로 설정해보시고 실행하시면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2024-12-31 19 06 02.png&quot; data-origin-width=&quot;461&quot; data-origin-height=&quot;576&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BEekL/btsLCLoITCr/2w35GjxAvAhn6pWmmnqjkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BEekL/btsLCLoITCr/2w35GjxAvAhn6pWmmnqjkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BEekL/btsLCLoITCr/2w35GjxAvAhn6pWmmnqjkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBEekL%2FbtsLCLoITCr%2F2w35GjxAvAhn6pWmmnqjkK%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;461&quot; height=&quot;576&quot; data-filename=&quot;2024-12-31 19 06 02.png&quot; data-origin-width=&quot;461&quot; data-origin-height=&quot;576&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;5. 맵 복사 경로&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;C:\Users\사용자이름\Documents\SimCity 4\Regions&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;에 심시티 맵을 복사하시면 됩니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff;&quot; 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;ed.jpg&quot; data-origin-width=&quot;150&quot; data-origin-height=&quot;113&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckY2KT/btsH0YT0OxV/TINKfbX6FKU02jppKBhlKK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckY2KT/btsH0YT0OxV/TINKfbX6FKU02jppKBhlKK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckY2KT/btsH0YT0OxV/TINKfbX6FKU02jppKBhlKK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckY2KT%2FbtsH0YT0OxV%2FTINKfbX6FKU02jppKBhlKK%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;150&quot; height=&quot;113&quot; data-filename=&quot;ed.jpg&quot; data-origin-width=&quot;150&quot; data-origin-height=&quot;113&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>GAME/고전게임</category>
      <category>Rush Hour</category>
      <category>simcity4</category>
      <category>고전게임</category>
      <category>구버전</category>
      <category>디럭스</category>
      <category>러시아워</category>
      <category>스팀</category>
      <category>심시티4</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/422</guid>
      <comments>https://aacii.tistory.com/422#entry422comment</comments>
      <pubDate>Tue, 31 Dec 2024 20:35:17 +0900</pubDate>
    </item>
    <item>
      <title>ORA-01704: JAVA ORACLE JDBC로 4000자 이상 CLOB 데이터 INSERT, UPDATE 예제</title>
      <link>https://aacii.tistory.com/364</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;ORA-01704&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JAVA로 ORACLE DBMS에 JDBC로 프로그램을 작성할 때,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문자열이 4000자가 넘어가면 일반 String statement로 insert/update시 &amp;nbsp;ORA-01704를 발생시키며 안됩니다.&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;그럴 때 java.sql.Clob 클래스를 사용해서 preparedStatement.setClob()를 써서 구현하면 CLOB 데이터를 insert/update 할 수 있습니다.&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;/p&gt;
&lt;pre id=&quot;code_1703678066761&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Clob;

public class ClobExample {

    private static final String JDBC_URL = &quot;jdbc:oracle:thin:@localhost:1521:yourdb&quot;;
    private static final String USERNAME = &quot;yourUsername&quot;;
    private static final String PASSWORD = &quot;yourPassword&quot;;

    public static void main(String[] args) {
        Connection connection = null;

        try {
            // 1. 데이터베이스 연결
            connection = DriverManager.getConnection(JDBC_URL, USERNAME, PASSWORD);

            // 2. CLOB 삽입 예제
            String clobData = generateLargeClobData(); // 큰 CLOB 데이터 생성
            insertClobData(connection, clobData);

            // 3. CLOB 업데이트 예제
            String updatedClobData = generateUpdatedClobData(); // 업데이트할 CLOB 데이터 생성
            updateClobData(connection, updatedClobData);

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 4. 연결 종료
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    private static void insertClobData(Connection connection, String clobData) throws SQLException {
        String insertQuery = &quot;INSERT INTO your_table (clob_column) VALUES (?)&quot;;
        try (PreparedStatement preparedStatement = connection.prepareStatement(insertQuery)) {
            // CLOB 데이터를 PreparedStatement에 설정
            Clob clob = connection.createClob();
            clob.setString(1, clobData);
            preparedStatement.setClob(1, clob);
            // 쿼리 실행
            preparedStatement.executeUpdate();
        }
    }

    private static void updateClobData(Connection connection, String updatedClobData) throws SQLException {
        String updateQuery = &quot;UPDATE your_table SET clob_column = ? WHERE your_condition&quot;;
        try (PreparedStatement preparedStatement = connection.prepareStatement(updateQuery)) {
            // CLOB 데이터를 PreparedStatement에 설정
            Clob clob = connection.createClob();
            clob.setString(1, updatedClobData);
            preparedStatement.setClob(1, clob);
            // 쿼리 실행
            preparedStatement.executeUpdate();
        }
    }

    private static String generateLargeClobData() {
        // 큰 CLOB 데이터를 생성하는 코드 작성
        return &quot;엄청나게 긴 4000자 이상 CLOB Data...&quot;;
    }

    private static String generateUpdatedClobData() {
        // 업데이트할 CLOB 데이터를 생성하는 코드 작성
        return &quot;엄청나게 긴 4000자 이상 Updated CLOB Data...&quot;;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또는 아주 긴 문자열을 등분하여 insert/update 해도 됩니다.&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;String을 10등분 하는 예제&lt;/p&gt;
&lt;pre id=&quot;code_1703678933593&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class LongStringDivider {
    public static void main(String[] args) {
        // 아주 긴 문자열 생성 
        String longString = &quot;이것은 굉장히 길어서 10등분 해서 나누어질 String 입니다...&quot;;

        // 문자열의 길이 계산
        int length = longString.length();

        // 등분할 개수 여기서는 10등분
        int parts = 10;

        // 등분한 문자열 출력
        for (int i = 0; i &amp;lt; parts; i++) {
            int startIndex = i * length / parts;
            int endIndex = (i + 1) * length / parts;
            String part = longString.substring(startIndex, endIndex);
            System.out.println(&quot;Part &quot; + (i + 1) + &quot;: &quot; + part);
        }
    }
}&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;그러고 나서 아래처럼 쿼리를 TO_CLOB() 함수를 써서 문자열 연결 연산자 || 로 연결해서 쿼리를 작성하면 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1703678766143&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;UPDATE your_table SET clob_column = TO_CLOB('아주 긴 String') || TO_CLOB('엄청나게 긴 String') WHERE your_condition&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;또 다른 방법으로는 2000 글자씩 나누는 방법도 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1735279061402&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.ArrayList;
import java.util.List;

public class StringSplitter {

    private static final int CHUNK_SIZE = 2000;

    public static List&amp;lt;String&amp;gt; splitString(String input) {
        List&amp;lt;String&amp;gt; result = new ArrayList&amp;lt;&amp;gt;();
        int length = input.length();
        for (int i = 0; i &amp;lt; length; i += CHUNK_SIZE) {
            result.add(input.substring(i, Math.min(length, i + CHUNK_SIZE)));
        }
        return result;
    }

    public static void main(String[] args) {
        String longString = &quot;This is a very long string...&quot;; 
        List&amp;lt;String&amp;gt; parts = splitString(longString);
        
        for (int i = 0; i &amp;lt; parts.size(); i++) {
            System.out.println(&quot;Part &quot; + (i + 1) + &quot;: &quot; + parts.get(i));
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 String을 나눈 뒤 위처럼 TO_CLOB('2000자') || TO_CLOB('2000자') 처럼 연결하는 방법도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;두 개의 CLOB데이터를 insert 하는 예제&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;한번에 두 개 이상의 CLOB데이터를 setCharacterStream() 을 이용해서 insert 할 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1735553821310&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// 1. 데이터베이스 연결
connection = DriverManager.getConnection(jdbcUrl, username, password);

// 2. 두 개의 CLOB 열이 있는 테이블의 INSERT SQL 준비
String sql = &quot;INSERT INTO clob_table (id, clob_column1, clob_column2) VALUES (?, ?, ?)&quot;;
pstmt = connection.prepareStatement(sql);

// 3. CLOB 데이터 준비
int id = 1;
String largeText1 = &quot;이것은 첫 번째 CLOB 데이터입니다.&quot;;
String largeText2 = &quot;이것은 두 번째 CLOB 데이터입니다.&quot;;

// 4. PreparedStatement에 값 설정
pstmt.setInt(1, id);
pstmt.setCharacterStream(2, new java.io.StringReader(largeText1), largeText1.length());
pstmt.setCharacterStream(3, new java.io.StringReader(largeText2), largeText2.length());

// 5. 쿼리 실행
int rowsInserted = pstmt.executeUpdate();&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>clob</category>
      <category>insert</category>
      <category>Java</category>
      <category>JDBC</category>
      <category>ORA-01704</category>
      <category>Oracle</category>
      <category>Update</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/364</guid>
      <comments>https://aacii.tistory.com/364#entry364comment</comments>
      <pubDate>Mon, 30 Dec 2024 19:23:08 +0900</pubDate>
    </item>
    <item>
      <title>자산 분배</title>
      <link>https://aacii.tistory.com/441</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;흔히 돈은 버는 것보다 지키는 것이 어렵다고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;돈의 가치는 시간이 갈수록 떨어지기 때문에 돈을 벌면 자산으로 바꿔 놓아야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자산의 가치는 변화하기 때문에 자산이 늘어날 수록 분배할 필요가 생깁니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자산 분배를 주기적으로 원화자산: 해외자산 비율을 50:50 으로 균형을 맞춰주는 것을 추천합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 주식 : 현금(채권) 비율도 일정한 비율을 유지하는 것을 추천합니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;국내 배당주&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TIGER MKF배당귀족ETF : 국내 배당 성장주&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PLUS 고배당주: 국내 고배당&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RISE 200위클리커버드콜&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PLUS 고배당주위클리커버드콜&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;KODEX금융고배당TOP10타겟위클리커버드콜&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;국내상장미국주식&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ACE 미국WideMoat동일가중: 넓은 경제적 해자(산업내 독점적 경쟁력 높은 종목) 전략&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TIGER미국배당다우존스타겟커버드콜2호: SCHD 60% +S&amp;amp;P 40% 먼슬리 타겟 커버드콜&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;KODEX미국배당커버드콜액티브&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;KODEX미국배당다우존스타겟커버드콜&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ACE미국500데일리타겟커버드콜(합성): S&amp;amp;P500+데일리 옵션1%&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TIGER미국나스닥100타겟데일리커버드콜: 나스닥90%+데일리옵션 10%&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;채권, 채권혼합&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SOL미국배당미국채혼합50: SCHD와미국채를 반반 혼합하여 연금추천&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;TIGER글로벌멀티에셋TIF액티브(채권혼합): 자산분배형 안정적인 수익 연금추천&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;KODEX iShares미국투자등급회사채액티브: 미국 우량 회사채&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;ACE미국S&amp;amp;P500채권혼합액티브: 단기채권베이스에 S&amp;amp;P 30%&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;RISE 미국30년국채커버드콜(합성): 미국장기채70%+옵션100%&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;b&gt;리츠, 인프라&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;RISE글로벌리얼티인컴: 미국 상업용 리츠 + 국내 맥쿼리인프라 조합&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;TIGER리츠부동산인프라: 맥쿼리인프라외 국내 우수 인프라 업체들&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;KODEX한국부동산인프라: 맥쿼리인프라외 국내 우수 인프라 업체들&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;미국&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SCHD: 배당성장, 안정적인 성장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JEPI: S&amp;amp;P500 기반 커버드콜 프리미엄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SPLG: 저렴한 수수료, 저렴한 가격의 S&amp;amp;P500 지수추종&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;RSP: 동일비중 S&amp;amp;P500 지수 추종, 경기 방어주도 골고루&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SPYG: S&amp;amp;P500중에 상위 기업에 더욱 가중치를 줘서 성장중&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MOAT: 경제적 해자( 산업내 독점적 경쟁력 )개념 ETF&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SGOV: 미국 초단기 채권 매월1일이 배당락이라 월초가 가장싸고 매월0.4%, 파킹형 달러예금효과&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>STUDY/Capitalism</category>
      <category>ETF</category>
      <category>배당</category>
      <category>분배</category>
      <category>자산</category>
      <category>주식</category>
      <category>포트폴리오</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/441</guid>
      <comments>https://aacii.tistory.com/441#entry441comment</comments>
      <pubDate>Sat, 21 Dec 2024 15:28:56 +0900</pubDate>
    </item>
    <item>
      <title>org.apache.poi 자바용 오피스 라이브러리 임시 파일 제거</title>
      <link>https://aacii.tistory.com/439</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;POI 라이브러리 임시 파일 저장 경로 지정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자바로 오피스(엑셀) 파일을 다룰 때 흔히 사용하는 org.ahache.poi 라이브러리를 사용할 때, 엑셀 파일 작성을 위한 데이터와 스타일 정보들이 정의된 xml 형식의 임시 파일들이 생성되게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 임시 파일들이 생성되는 경로는 기본적으로 시스템의 임시 디렉터리 경로를 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 리눅스에서는 기본 임시 파티션인 /tmp 을 사용하게 되는데, 이 /tmp 파티션이 용량이 부족한 경우가 발생할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1732713357098&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class TempDirCheck {
    public static void main(String[] args) {
        String tempDir = System.getProperty(&quot;java.io.tmpdir&quot;);
        System.out.println(&quot;Temporary Directory: &quot; + tempDir);
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;System.getProperty(&quot;java.io.tmpdir&quot;)을 이용하면 자바 application에서 시스템의 임시 디렉터리 경로를 알아낼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자바 application이 실행되는 JVM 환경 변수를 지정해서 이 임시 파일들이 저장되는 경로를 변경해줄 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1732713515915&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-Djava.io.tmpdir=/your/custom/tmpdir&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;톰캣(WAS)이나 자바를 실행할 때 위 처럼 tmpdir을 특정 경로로 지정해 주면 poi 라이브러리에서 사용하는 임시 파일(xml)들이 저장되는 경로를 지정해 줄 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;poi 라이브러리 임시 파일 자동 삭제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Apache POI 라이브러리를 사용해서 대용량 데이터를 처리할 때 SXSSFWorkbook을 이용하면 성능을 최적화할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 dispose() 메서드를 작업 끝난 후 사용하면 생성되었던 임시 파일(xml)들을 자동으로 삭제할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1732713804824&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;

public class POIDisposeExample {
    public static void main(String[] args) {
        // SXSSFWorkbook 생성
        SXSSFWorkbook workbook = new SXSSFWorkbook();
        Sheet sheet = workbook.createSheet(&quot;ExampleSheet&quot;);

        // 데이터를 시트에 작성
        for (int rownum = 0; rownum &amp;lt; 1000; rownum++) {
            Row row = sheet.createRow(rownum);
            for (int cellnum = 0; cellnum &amp;lt; 10; cellnum++) {
                Cell cell = row.createCell(cellnum);
                cell.setCellValue(&quot;Data &quot; + rownum + &quot;,&quot; + cellnum);
            }
        }

        try (FileOutputStream out = new FileOutputStream(&quot;example.xlsx&quot;)) {
            workbook.write(out);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 작업이 완료된 후 dispose() 메소드를 호출하여 임시 파일 삭제
            workbook.dispose();
        }
    }
}&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>Java</category>
      <category>org.apache.poi</category>
      <category>poi</category>
      <category>Temp</category>
      <category>라이브러리</category>
      <category>엑셀</category>
      <category>오피스</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/439</guid>
      <comments>https://aacii.tistory.com/439#entry439comment</comments>
      <pubDate>Wed, 27 Nov 2024 22:23:57 +0900</pubDate>
    </item>
    <item>
      <title>[SWT/JFace] FileDialog 파일 열기 대화 상자</title>
      <link>https://aacii.tistory.com/438</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자바 SWT/JFace 를 이용한 GUI 애플리케이션에서&amp;nbsp;실행중인 PC의 파일(텍스트)을 읽을 수 있는 파일 열기 대화 상자의 간단한 사용법에 대해 알아보겠습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1732712173054&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.*;
import org.eclipse.jface.window.ApplicationWindow;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class TextFileReaderApp extends ApplicationWindow {

    public TextFileReaderApp() {
        super(null);
    }

    @Override
    protected Control createContents(Composite parent) {
        parent.getShell().setText(&quot;Text File Reader&quot;);
        parent.setLayout(new FillLayout());

        Text textArea = new Text(parent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);

        Menu menuBar = new Menu(parent.getShell(), SWT.BAR);
        parent.getShell().setMenuBar(menuBar);

        MenuItem fileMenuHeader = new MenuItem(menuBar, SWT.CASCADE);
        fileMenuHeader.setText(&quot;File&quot;);

        Menu fileMenu = new Menu(parent.getShell(), SWT.DROP_DOWN);
        fileMenuHeader.setMenu(fileMenu);

        MenuItem openItem = new MenuItem(fileMenu, SWT.PUSH);
        openItem.setText(&quot;Open&quot;);

        openItem.addListener(SWT.Selection, e -&amp;gt; {
            FileDialog fileDialog = new FileDialog(parent.getShell(), SWT.OPEN);
            // 확장자를 txt으로 제한하려면 아래처럼 필터를 설정해줍니다. 
            fileDialog.setFilterExtensions(new String[] {&quot;*.txt&quot;}); 
            fileDialog.setFilterNames(new String[] {&quot;Text Files (*.txt)&quot;}); // 파일 유형 이름 설정
            String selectedFile = fileDialog.open();
            if (selectedFile != null) {
                try (BufferedReader br = new BufferedReader(new FileReader(selectedFile))) {
                    StringBuilder sb = new StringBuilder();
                    String line;
                    while ((line = br.readLine()) != null) {
                        sb.append(line).append(&quot;\n&quot;);
                    }
                    textArea.setText(sb.toString());
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        });
        
        return parent;
    }

    public static void main(String[] args) {
        TextFileReaderApp app = new TextFileReaderApp();
        app.setBlockOnOpen(true);
        app.open();
        Display.getCurrent().dispose();
    }
}&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>Java</category>
      <category>JFace</category>
      <category>RCP</category>
      <category>SWT</category>
      <category>오블완</category>
      <category>읽기</category>
      <category>자바</category>
      <category>티스토리챌린지</category>
      <category>파일</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/438</guid>
      <comments>https://aacii.tistory.com/438#entry438comment</comments>
      <pubDate>Wed, 27 Nov 2024 22:00:07 +0900</pubDate>
    </item>
    <item>
      <title>[SWT/JFace] 주요 위젯</title>
      <link>https://aacii.tistory.com/396</link>
      <description>&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;SWT Text 위젯&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;org.eclipse.swt.widgets.Text 위젯은 간단한 텍스트를 입력받을 때 사용하는 위젯입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;addModifyListener() : 텍스트를 수정했음을 알리기 위한 리스너를 추가&lt;/li&gt;
&lt;li&gt;addSelectionListener() : 컨트롤이 선택되었음을 알리기 위한 리스너를 추가&lt;/li&gt;
&lt;li&gt;addVerifyListener() : 텍스트에 변화가 일어났는지 검증하기 위한 리스너를 추가&lt;/li&gt;
&lt;li&gt;append() : 현 텍스트에 주어진 문자열을 추가&lt;/li&gt;
&lt;li&gt;insert() : 현 텍스트를 주어진 문자열로 대체&lt;/li&gt;
&lt;li&gt;copy(), cut(), paste() : 선택된 문자들을 클립보드로 옮기거나 클립보드의 내용으로 대체&lt;/li&gt;
&lt;li&gt;setSelection(), selectAll() : 코드 상에서 직접 선택 영역을 설정&lt;/li&gt;
&lt;li&gt;setEchoCharacter() : 사용자가 타이핑하는 문자 대신 보여줄 다른 문자를 지정(비밀번호)&lt;/li&gt;
&lt;li&gt;setEditable() : 편집을 가능하게 하거나 불가능하게 한다.&lt;/li&gt;
&lt;li&gt;setFont() : 전체 폰트 설정. 부분적으로 폰트를 설정할 수는 없다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 예제는 Text위젯에 소문자를 입력하면 대문자로 바꾸는 예제입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1715168251342&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import org.eclipse.swt.SWT;
import org.eclipse.swt.events.VerifyEvent;
import org.eclipse.swt.events.VerifyListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;

public class Capital extends Composite {
	public Capital(Composite parent) {
		super(parent, SWT.NONE);
		buildControls();
	}
	
	public void buildControls() {
		this.setLayout(new FillLayout());
		Text text = new Text(this, SWT.MULTI | SWT.V_SCROLL);
		text.addVerifyListener(new VerifyListener() {

			@Override
			public void verifyText(VerifyEvent e) {
				//대문자로 변경
				e.text = e.text.toUpperCase();
			}
			
		});
	}
}&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;SWT StyledText 위젯&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;org.eclipse.swt.custom.StyledText 은 텍스트 위젯에서 제공하는 메서드에 좀 더 다양한 스타일을 수정할 수 있는 기능이 추가되어 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;setKeyBinding() 메소드는 Shift 키, Ctrl 키 같은 기능키를 사용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 기능키들은 SWT 상수로 정의되어 있어서 단축키 기능을 구현할 때 유용하게 사용할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 운영체제 디폴트 단축키(잘라내기, 복사하기, 붙여 넣기)는 되지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명시적으로 지정하지 않아도 기본적으로 제공되기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;StyleRange 클래스는 텍스트 범위에 대한 스타일 정보를 보유하고 있는데 모든 필드가 public 이므로 자유롭게 수정할 수 있습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수정한 스타일은 setStyleRange()를 호출해야 적용이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;StyleRange는 텍스트의 영역을 관리하기 위해 시작(오프셋) 지점과 길이를 통해 관리합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1715168251344&quot; class=&quot;arduino&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;import java.util.LinkedList;
import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ExtendedModifyEvent;
import org.eclipse.swt.custom.ExtendedModifyListener;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;

public class UndoRedo extends Composite {
	public static final int MAX_STACK_SIZE = 100;	//변경 사항을 저장하는 스택의 크기
	public List undoStack;	
	public List redoStack;
	public StyledText styledText;

	/** 
	* @date        : 2024-01-26  
	* @description : 생성자에서 초기화 작업을 수행합니다.
	**/
	UndoRedo(Composite parent) {
		super(parent, SWT.NONE);
		undoStack = new LinkedList();
		redoStack = new LinkedList();
		buildControls();
	}

	public void buildControls() {
		this.setLayout(new FillLayout());
		styledText = new StyledText(this, SWT.MULTI | SWT.V_SCROLL);
		
		//텍스트가 편집될 때마다 이벤트를 처리
		styledText.addExtendedModifyListener(new ExtendedModifyListener() {

			@Override
			public void modifyText(ExtendedModifyEvent event) {
				String currText = styledText.getText();
				//편집을 되돌리기 위해 저장합니다.
				String newText = currText.substring(event.start, event.start + event.length);
				//undo 스택 처리
				if(newText != null &amp;amp;&amp;amp; newText.length() &amp;gt; 0) {
					if(undoStack.size() == MAX_STACK_SIZE) {
						undoStack.remove(undoStack.size() - 1);
					}
					undoStack.add(0, newText);
				}
			}
		});
		
		//F1 펑션키를 누르면 undo동작을 하고 F2 펑션키를 누르면 redo 동작을 수행합니다.
		styledText.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent ke) {
				switch(ke.keyCode) {
				case SWT.F1:
					undo();
					break;
				case SWT.F2:
					redo();
					break;
				default:		
				}
			}
		});		
	}
	
	/** 
	* @date        : 2024-01-26  
	* @description : 커서를 끝으로 이동 시킴
	**/
	public void moveCursorToEnd() {
		styledText.setCaretOffset(styledText.getText().length());
	}
	
	/** 
	* @date        : 2024-01-26  
	* @description : 다시 실행 동작 정의
	**/
	public void redo() {
		if(redoStack.size() &amp;gt; 0) {
			//스택에서 꺼낸 뒤 append 합니다.
			String text = (String)redoStack.remove(0);
			moveCursorToEnd();
			styledText.append(text);
			moveCursorToEnd();
		}
	}
	
	/** 
	* @date        : 2024-01-26  
	* @description : 되돌리기 동작 정의 
	**/
	public void undo() {
		if(undoStack.size() &amp;gt; 0) {
			//실행 취소를 위해 스택에서 하나 꺼냅니다. 
			String lastEdit = (String)undoStack.remove(0);
			int editLength = lastEdit.length();
			String currText = styledText.getText();
			int startReplaceIndex = currText.length() - editLength;
			//버퍼에서 사라져야 할 문자열을 삭제합니다.
			styledText.replaceTextRange(startReplaceIndex, editLength, &quot;&quot;);
			redoStack.add(0, lastEdit);
		}
	}
	
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1715168251350&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;

public class WidgetWindow extends ApplicationWindow {

	public WidgetWindow() {
		super(null);
	}
	
	public Control createContents(Composite parent) {
		UndoRedo undoRedo = new UndoRedo(parent);
		parent.setSize(800, 600);	
		getShell().setText(&quot;Undo Redo&quot;);
		return parent;
	}

	public static void main(String[] args) {
		WidgetWindow wwin = new WidgetWindow();
		wwin.setBlockOnOpen(true);
		wwin.open();
		Display.getCurrent().dispose();
	}

}&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;화면 캡처 2024-02-21 214111.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;593&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9iRup/btsHhqXFthg/W6KIKbDfKkqRr7R767FZQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9iRup/btsHhqXFthg/W6KIKbDfKkqRr7R767FZQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9iRup/btsHhqXFthg/W6KIKbDfKkqRr7R767FZQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9iRup%2FbtsHhqXFthg%2FW6KIKbDfKkqRr7R767FZQ1%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;593&quot; data-filename=&quot;화면 캡처 2024-02-21 214111.png&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;593&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;JFace 텍스트 패키지&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JFace 텍스트 패키지는 text.jar와 jfacetext.jar 파일입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이클립스 경로/plugins/org.eclipse.text~~~ 패지지에 text.jar 파일이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이클립스 경로/plugins/org.eclipse.jface.text~~~ 패키지에 jfacetext.jar 파일이 있습니다.&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;IDocument 인터페이스&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AbstractDocument는 일부만 구현되어 있고 Document 클래스가 IDocument 인터페이스의 구현체입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IDocument는 아래 처럼 고급 텍스트 기능을 지원합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Position : 텍스트 영역에 Position을 저장해 두는 기능입니다. 북마크 기능이나 TODO 주석 찾아가기 기능 등을 구현할 수 있습니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Content 타입을 구분: 일반 text외에 HTML 등 Content 타입을 구분합니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;search() :&amp;nbsp; 정규표현식이나 패턴 검색은 지원하지 않지만, 시작 위치 검색, 방향, 대소문자 구분, 단어 검색을 할 수 있습니다.&lt;/li&gt;
&lt;/ul&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;ITextViewer 인터페이스&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TextViewer 클래스가 구현체이며 StyledText를 이용해서 데이터를 보여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;텍스트 수정 이벤트와 스타일 이벤트 양쪽에 대한 리스너를 지원합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원할 때 StyledText에 접근하는 것을 허용하지만, 대신 TextPresentation을 권장합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IUndoManager 인터페이스를 통해 undo 기능을 구현할 수 있습니다.&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;org.eclipse.jface.text 하위 패키지&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;contentassist : 자동 완성 기능을 지원합니다.&lt;/li&gt;
&lt;li&gt;formatter : 텍스트의 서식을 설정하는 기능을 제공합니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;presentation : 문서의 시각적인 효과를 업데이트 할 때 사용하는 패키지입니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;reconciler : 문서를 텍스트의 외부 저장소와 동기화 하는데 사용합니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;rules : 텍스트를 스캔하고 매치하기 위한 클래스를 지원합니다.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;source : 텍스트에 시각적인 표시를 추가해줍니다. 예를 들어 이클립스에서 빨간색 X로 컴파일 에러를 표시하는 기능이 그 예입니다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;Combo 위젯&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;콤보 박스의 스타일은 Simple, Drop-down, Read-only 세 가지 스타일이 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1715168251352&quot; class=&quot;scala&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;

public class ComboComposite extends Composite {

	public ComboComposite(Composite parent) {
		super(parent, SWT.NONE);
		buildControls();
	}
	
	public void buildControls() {
		setLayout(new RowLayout());
		int[] comboStyles = {SWT.SIMPLE, SWT.DROP_DOWN, SWT.READ_ONLY};
		for(int idx = 0; idx &amp;lt; comboStyles.length; ++idx) {
			Combo combo = new Combo(this, comboStyles[idx]);
			combo.add(&quot;Option 1&quot;);
			combo.add(&quot;Option 2&quot;);
			combo.add(&quot;Option 3&quot;);
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1715168251353&quot; class=&quot;java&quot; style=&quot;background-color: #f8f8f8; color: #383a42;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;java&quot;&gt;&lt;code&gt;import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;

public class WidgetWindow extends ApplicationWindow {

	public WidgetWindow() {
		super(null);
	}
	
	public Control createContents(Composite parent) {
		TabFolder tf = new TabFolder(parent, SWT.NONE);
		TabItem combos = new TabItem(tf, SWT.NONE);
		combos.setText(&quot;Combos&quot;);
		combos.setControl(new ComboComposite(tf));
		getShell().setText(&quot;위젯 윈도우&quot;);
		return parent;
	}

	public static void main(String[] args) {
		WidgetWindow wwin = new WidgetWindow();
		wwin.setBlockOnOpen(true);
		wwin.open();
		Display.getCurrent().dispose();
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WidgetWindow.java 실행결과:&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;화면 캡처 2024-02-21 210523.png&quot; data-origin-width=&quot;252&quot; data-origin-height=&quot;161&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7TFKC/btsHiqbOgIk/Pk8s672ofA8hwzMFQHbsZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7TFKC/btsHiqbOgIk/Pk8s672ofA8hwzMFQHbsZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7TFKC/btsHiqbOgIk/Pk8s672ofA8hwzMFQHbsZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7TFKC%2FbtsHiqbOgIk%2FPk8s672ofA8hwzMFQHbsZ1%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;161&quot; data-filename=&quot;화면 캡처 2024-02-21 210523.png&quot; data-origin-width=&quot;252&quot; data-origin-height=&quot;161&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DEV&amp;amp;OPS/Java</category>
      <category>Eclipse</category>
      <category>GUI</category>
      <category>Java</category>
      <category>JFace</category>
      <category>SWT</category>
      <category>widget</category>
      <category>위젯</category>
      <author>ALEPH.GEM</author>
      <guid isPermaLink="true">https://aacii.tistory.com/396</guid>
      <comments>https://aacii.tistory.com/396#entry396comment</comments>
      <pubDate>Wed, 27 Nov 2024 21:48:20 +0900</pubDate>
    </item>
  </channel>
</rss>