<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>마이홈주의자</title>
    <link>https://hangyojung.tistory.com/</link>
    <description>IT, 여행, 역사, 책...
일상다반사</description>
    <language>ko</language>
    <pubDate>Fri, 29 May 2026 23:58:08 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>마이홈주의자</managingEditor>
    <image>
      <title>마이홈주의자</title>
      <url>https://tistory1.daumcdn.net/tistory/954365/attach/55dbedb2ed5f485a9a060786c8d9bc4d</url>
      <link>https://hangyojung.tistory.com</link>
    </image>
    <item>
      <title>국가정보 자원관리원 장애가 전부 IT인의 책임인가?</title>
      <link>https://hangyojung.tistory.com/174</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;직장생활하면서 공식적인 연휴가 이렇게 길었던 적이 없었습니다. 즐거운 긴 연휴입니다만 한쪽에서는 매일 밤샘 복구를 하고 계신 분들이 있어 마음이 편하지 않습니다.&lt;br&gt;정말 남의일 같지 않습니다.&lt;br&gt;&lt;br&gt;제 경력중 많은 시간을 정부,공공기관 사업에서 보냈기에 원인과 대책에 대한 개인적인 생각을 적어 봅니다.&lt;br&gt;&lt;br&gt;문제의 원인&lt;br&gt;첫째. 예산의 문제&lt;br&gt;&lt;br&gt;IT부서의 예산확보 어려움이 가장 큰 걸림돌입니다.&lt;br&gt;결국 돈줄을 쥐고 있는 부서가 권력입니다. 특히 공공기관의 권력부서는 돈을 버는 부서와 '기획' 비슷한 이름을 가진 부서입니다. 이쪽 부서 사람들이 보기에 IT부서는 돈을 쓰는 부서로만 봅니다. 속된 말로 찬밥인 경우가 많습니다. 그런 IT부서가 DR 구성하기 쉅지 않습니다. IT부서는 DR예산 또는 백업 관련 예산을 당연히 매년 올렸지만 예산이 매번&amp;nbsp;&amp;nbsp;잘렸을 겁니다.&lt;br&gt;&lt;br&gt;국가정보자원 DR 공주센터 완공까지 18년이 걸렸고 아직 오픈도 못하고 있다는 것이 권력부서가 DR에 대한 어떤 인식을 갖고 있는지 보여주는 아주 극명한&amp;nbsp;&amp;nbsp;예라고 봅니다. 어떤 분들은 정치에 연결시켜 얘기하시는데 공주센터에서 보듯 진보, 보수의 얘기가 아님을 쉽게 알수 있습니다.&lt;br&gt;&lt;br&gt;DR구축을 위해서는 고위직 또는 결정정권자의 인식 전환이 필요합니다.&lt;br&gt;Active-Active&lt;br&gt;Active-Standby&lt;br&gt;Cloud에 대한 인식은 이제는 어느 정도 자리를 잡은 반면 DR에 대한 인식 부족이 여전히 문제입니다. IT경험을 바탕으로 부서장이 된 사람들도 DR을 왜 해야 하느냐며 예산 투자를 주저하는 경우가 아직도 많습니다.&lt;br&gt;&lt;br&gt;둘째. 전문성의 문제&lt;br&gt;&lt;br&gt;인식 부족도 결국은 정부,공공기관 담당자의 전문지식 수준과 연결 됩니다.&lt;br&gt;어찌보면 창피한 얘기일 수도 있지만 그동안 함께 일했던 정부,공공기관 담당자 중 '이사람 일하는게 프로 맞네'라고 느낀적이 한번도 없습니다. 여러분은 있나요?&lt;br&gt;정말 책임감을 갖고 전문가로서 저같은 협력사를 리딩하고 문제점을 함께 파악하고 함께 해결책을 찾아가는 그런 정부,공공기관 담당자는 왜 없는 걸까?&lt;br&gt;&lt;br&gt;제가 사실 얘기하고 싶은 부분이 이건데요.&lt;br&gt;여기에는 뿌리깊은 순환 근무제가 자리 잡고 있습니다. 사실 전산직군 뿐만 아닐 겁니다.&lt;br&gt;전산직을 포함한 전체 문제라고 봐야 합니다.&lt;br&gt;업무적으로 몇마디만 섞어보면 압니다. 전문성이 없는 경우가 태반입니다. 분명히 업무 회의를 하고 있는데 먼산 보는 사람들이 많습니다. 마치 '이거 나의 일과 크게 상관 없어' 또는 '지금 이 얘기는 내가 받아들이기에 너무 디테일한 얘기인데?'라고 생각하는 것 같습니다.&lt;br&gt;저는 이런 생각의 근본에 '내년이면 난 다른데 간다'라는 순환 근무제의 병폐가 자리잡고 있다고 생각합니다.&lt;br&gt;&lt;br&gt;조금 삼천포로 빠져보겠습니다.&lt;br&gt;정권이 들어설때마다 국가균형발전이라고 해서 혁신도시를 만들고 공공기관을 지방도시로 내려보냅니다. 혁신도시를 통한 국가균형 발전을 이루려면 해당 기관의 소속 직원이 혁신 도시에 이사, 정착하고 자녀가 혁신도시 학교를 다니고 거기서 세금을 내야 지방 발전이라는 목표를 달성 할 수 있는데 그게 잘 안됩니다. 왜냐면 순환근무제 때문입니다. 어차피 조금 근무하면 다른데 가는데 주민등록 이전을 하지 않습니다. 그래서 주말에 혁신 도시는 죽은 도시라는 말이 나옵니다.&lt;br&gt;즉, 순환근무제는 담당자의 전문성 확보를 저해하고 혁신도시를 통한 국가 균형 발전 정책을 저해하는 요소로 작용하고 있는 겁니다.&lt;br&gt;처음 순환 근무제의 목적은 한자리에서 오래 근무하면 협력사의 로비에 노출되어 부패할수 있다는 것 때문에 생겼지만 지금은 장점보다 단점이 훨씬 많아진 제도라고 생각합니다.&lt;br&gt;&lt;br&gt;이상이 제가 꼽는 원인입니다.&lt;br&gt;이제 앞으로는 어떻게 해야 하는가?&lt;br&gt;&lt;br&gt;첫째. 공간 분리&lt;br&gt;직접적인 이번 화재의 문제 해결 방안으로 거론되는것이 뉴스에 나오고 있는 '장애 격벽'입니다. Active-Active, Active-Standby 서버들은 랙을 분리해서 다른 공간에 설치하자는 얘기입니다. 이번처럼 서버실 하나만 화재가 난 경우에 대한 가장 빠르고 현실적인 대안이긴 합니다. DR구축은 예산이 필요한 장기적인 과제입니다. 그래서 공간 분리 얘기가 나오지만 여전히 문제가 있습니다.&lt;br&gt;지금 설치되어 있는 서버들이 하나의 랙안에 설치된 경우가 대부분이라는 것.&lt;br&gt;업무 중요도의 등급이 있더라도 공간 분리를 염두에 두고 서버가 설치 된게 아니기 때문입니다.&lt;br&gt;그리고 이번에 문제가 된 항온항습기, UPS가 상전원이 완전 분리되어 있는지도 검토된 후 가능하니 정밀하게 따져보고 진행되어야 겠습니다. 생각해 보니 이것도 단순하지가 않네요. 시간도 한참 걸릴것 같습니다.&lt;br&gt;앞으로 사업이 나올때 공간 분리를 염두에 두고 RFP가 나와야 하겠습니다.&lt;br&gt;&lt;br&gt;둘째. 순환 근무제도를 손봐야 합니다.&lt;br&gt;문제는 위에 적었으니 제도 개선을 통해 각 업무 담당 공무원들이 책임감있는 전문가로 거듭날 수 있도록 해야 합니다. 저희처럼 장기간 경력이 쌓여서 전문가가 되는 것을 그들도 경험해야죠. 점점 더 고도의 기술들이 나오고 있는데 특히 공공기관 담당자들이 시대에 너무 뒤쳐지고 있습니다. 본인들이 사업을 냈으니 가장 잘 알아야 함에도 몰라도 너무 모릅니다. 개인적으로는 순환 근무제는 없어져야할 유물이라고 생각합니만 제가 모르는 그들만의 무언가가 있는지도 모르겠습니다. 순환근무제를 없애고 부패를 걱정한다면 현재 유명 무실해진 감사제도를 강화해야 한다고 봅니다. 공공기관마다 감사실이 있습니다만 유명무실한 것 맞지요?&lt;br&gt;&lt;br&gt;셋째. IT시장이 활성화 되기를 바라는 IT종사자로서&lt;br&gt;정부,공공기관의 1등급 시스템(또는 2등급까지) 의 경우 남품시 무조건 DR 구축도 포함하는 방향으로 가면 좋겠습니다. &lt;br&gt;지금보다 엄청난 예산 확보가 필요하겠지만 시스템 중요도를 생각할때 꼭 가야할 방향 이라고 봅니다.&lt;br&gt;사업비용이 올라가면 참여 제한에 걸리는 기업들이 생겨 문제이지만... 어쨌든 방향은 이렇게 가야 합니다.&lt;br&gt;&lt;br&gt;이외에도&lt;br&gt;. 공공sw 사업 참여제한 규정&lt;br&gt;. 중소기업 sw 우선 구매&lt;br&gt;. 최저가 입찰 문제&lt;br&gt;등등 한두가지 문제가 아닙니다만 우선적인 문제에 대해서만 적어 봤습니다.&lt;br&gt;&lt;br&gt;아무쪼록 이시간에도 고생하시는 IT인들(특히 dba분들) 화이팅입니다. 조속히 마무리 되길 기원합니다.&lt;br&gt;고생하신거 보상도 제대로 받으시길요.&lt;br&gt;&lt;br&gt;===============================&lt;br&gt;위의 글을 네이버 카페에 올렸더니 이런 저런 의견들이 댓글로 달렸다.&lt;br&gt;한가지를 추가해야 겠다.&lt;br&gt;&lt;br&gt;. 비용 절감 위주의 업무 실적 평가&lt;br&gt;&lt;br&gt;위의 글에서 나는 대면하는 정부/공공기관의 업무 담당자와 직접 대면하면서 일하는 경우가 많다 보니 순환 근무제도에 대한 문제점에 대해서 많이 적었는데 공무원 조직의 근본 원인으로 너무 실적 위주의 업무 평가가 많다는 지적이 나왔다. 그리고 실적에 비용 절감이 포함되어 있기 때문에 지금의 이런 투자 위축 낮은 시스템 수준이 많다는 얘기가 있었다. 전적으로 공감한다.&lt;/p&gt;</description>
      <category>IT</category>
      <category>DBA</category>
      <category>DR</category>
      <category>공주센터</category>
      <category>국가정보 자원관리원</category>
      <category>복구</category>
      <category>화재</category>
      <author>마이홈주의자</author>
      <guid isPermaLink="true">https://hangyojung.tistory.com/174</guid>
      <comments>https://hangyojung.tistory.com/174#entry174comment</comments>
      <pubDate>Wed, 8 Oct 2025 09:41:09 +0900</pubDate>
    </item>
    <item>
      <title>[2024 스페인 여행] 스페인 마지막 날-렌터카반납,빌바오 공항</title>
      <link>https://hangyojung.tistory.com/167</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;• 여행 일정( 2024.1.17 ~ 2024.2.9 총23일)&lt;/b&gt;&lt;br&gt;인천 -비행- 파리 -비행- 바르셀로나 6박 -렌페- 마드리드 5박 -버스(Alsa)- 빌바오 2박 -렌트카- 산티아나 델 마르2박 -빌바오렌트카반납후 비행- 파리 6박 -비행- 인천&lt;br&gt;&lt;br&gt;산티아나 델 마르에서 2박을 마치고 우리는 다시 빌바오로 향했다.&lt;br&gt;남은 일정은 빌바오에서 빌린 렌터카를 공항에 반납하는 것과 빌바오 공항에서 비행기 탑승이다. 스페인에서의 마지막 여정이다.&lt;br&gt;&lt;br&gt;마지막 일정이니 아침에 일찍 일어난 우리는 다시 한번 산티아나 델 마르 동네를 거닐었다. 이 오래된 시골 마을의 분위기를 한번이라도 더 기억에 넣고 싶었다. 아이들도 같은 마음이었는지 불만없이 따라 나섰다.&lt;br&gt;마을을 한바퀴 돌고 오니 조식 시간.&lt;br&gt;조식을 먹고 우리는 바로 체크아웃을 하고 빌바오로 돌아왔다.&lt;br&gt;&lt;br&gt;빌바오 공항 -&amp;gt; 파리 샤를드골 공항까지의 에어프랑스 비행기는 저녁 5시가 넘어 출발한다.&lt;br&gt;오전에 빌바오로 돌아와 약간의 시간이 있으니 차를 반납하기 전 &lt;a href=&quot;https://maps.app.goo.gl/bn5shAffN99YKK5q8&quot; target=&quot;_blank&quot; title=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;span&gt;빌바오 해양박물관(Itsasmuseum)&lt;/span&gt;&lt;/a&gt;에 가보기로 했다.&lt;br&gt;왜냐면 고생한 아이들을 위해서였다. 빌바오 해양 박물관은 빌바오 Intermodal 버스터미널에 주차하면 산마메스 경기장을 지나 가까운 곳에 위치해 있다. 그리고 미리 빌바오 해양 박물관이 아이들 체험할 수 있는 좋은 곳이라는 정보를 미리 알아두었기 때문.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/13R4N/btsM3kQoAI7/EKYkFG4Olii1d6SR7GFALk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/13R4N/btsM3kQoAI7/EKYkFG4Olii1d6SR7GFALk/img.jpg&quot; data-alt=&quot;빌바오 버스터미널 Bilbao Intermodal&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/13R4N/btsM3kQoAI7/EKYkFG4Olii1d6SR7GFALk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F13R4N%2FbtsM3kQoAI7%2FEKYkFG4Olii1d6SR7GFALk%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 버스터미널 Bilbao Intermodal&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마드리드에서&amp;nbsp;빌바오로&amp;nbsp;알사버스를&amp;nbsp;타고&amp;nbsp;도착했던&amp;nbsp;버스터미널이&amp;nbsp;Bilbao&amp;nbsp;Intermodal인데&amp;nbsp;빌바오를&amp;nbsp;돌아다닌면서&amp;nbsp;이곳의&amp;nbsp;주차장을&amp;nbsp;이미&amp;nbsp;알아&amp;nbsp;놓았었다.&amp;nbsp;몇시간&amp;nbsp;정도&amp;nbsp;주차&amp;nbsp;요금이&amp;nbsp;4.5유로&amp;nbsp;였음. &lt;br&gt;&lt;br&gt;빌바오 인터모달에 주차를 하고 올라오니 표 파는 곳과 매표기가 특이했다. 각 회사별로 창구가 달랐고 한쪽에는 위 사진 처럼&amp;nbsp; 각 버스 회사의 매표기가 제각각 있었다. 흠... 저 얘기는 우리같은 사람들에게는 표 구매하는게 아주 어렵다는 얘기 되겠다. 내가 가고자 하는 목적지에 어느 회사의 버스가 가는지 먼저 검색을 해본 후 그 회사의 창구(또는 매표기)에 가서 표를 구매해야 한다는 얘기.&amp;nbsp;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKYOFT/btsM1i04D4X/oXzCkQqZNQaLoNk39mjaU0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKYOFT/btsM1i04D4X/oXzCkQqZNQaLoNk39mjaU0/img.jpg&quot; data-alt=&quot;빌바오 버스터미널 Bilbao Intermodal&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKYOFT/btsM1i04D4X/oXzCkQqZNQaLoNk39mjaU0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKYOFT%2FbtsM1i04D4X%2FoXzCkQqZNQaLoNk39mjaU0%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 버스터미널 Bilbao Intermodal&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;빌바오 해양 박물관은 강가에 위치해 있다.&lt;br&gt;아마도 과거 조선소 였던 곳을 재활용하는 차원으로 만든게 아닌가 싶다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/utBps/btsM0NfGx7O/UGccHeedKPFK24TCuaudMK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/utBps/btsM0NfGx7O/UGccHeedKPFK24TCuaudMK/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum) 입구&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/utBps/btsM0NfGx7O/UGccHeedKPFK24TCuaudMK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FutBps%2FbtsM0NfGx7O%2FUGccHeedKPFK24TCuaudMK%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum) 입구&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;빌바오 해양박물관 입장료는 네사람 총 14유로 지불.(6세 미만 무료)&lt;br&gt;홈페이지( &lt;a href=&quot;https://itsasmuseum.eus/en/tickets/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;https://itsasmuseum.eus/en/tickets/&lt;/span&gt;&lt;/a&gt; )에는 1인당 4유로로 나오는데 그날 지불한 금액은 14유로였다. 음... 왜였을까?^^&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JiJax/btsM1mhwwa1/1fFLuVbTFo26GEalnfHLEk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JiJax/btsM1mhwwa1/1fFLuVbTFo26GEalnfHLEk/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JiJax/btsM1mhwwa1/1fFLuVbTFo26GEalnfHLEk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJiJax%2FbtsM1mhwwa1%2F1fFLuVbTFo26GEalnfHLEk%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIzFiC/btsM1OSGhxQ/cmIl7mlXsZPW2qfA1kfpJK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIzFiC/btsM1OSGhxQ/cmIl7mlXsZPW2qfA1kfpJK/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIzFiC/btsM1OSGhxQ/cmIl7mlXsZPW2qfA1kfpJK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIzFiC%2FbtsM1OSGhxQ%2FcmIl7mlXsZPW2qfA1kfpJK%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cf7FDf/btsM0sQoFyX/QYjnnslnjuIT3dkAIQHVW0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cf7FDf/btsM0sQoFyX/QYjnnslnjuIT3dkAIQHVW0/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cf7FDf/btsM0sQoFyX/QYjnnslnjuIT3dkAIQHVW0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcf7FDf%2FbtsM0sQoFyX%2FQYjnnslnjuIT3dkAIQHVW0%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;여러가지 다양한 배들이 많이 전시 되어 있다. 어른들이야 흥미가 없지만 아이들은 나름 좋아했다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dQRJ74/btsM1Pqwdpm/gAMWNPGCntkUBfvw3dF2K0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dQRJ74/btsM1Pqwdpm/gAMWNPGCntkUBfvw3dF2K0/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dQRJ74/btsM1Pqwdpm/gAMWNPGCntkUBfvw3dF2K0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdQRJ74%2FbtsM1Pqwdpm%2FgAMWNPGCntkUBfvw3dF2K0%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/leC8Q/btsM2ann3ku/4Pv9cgbkP633bkIkKBni41/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/leC8Q/btsM2ann3ku/4Pv9cgbkP633bkIkKBni41/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/leC8Q/btsM2ann3ku/4Pv9cgbkP633bkIkKBni41/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FleC8Q%2FbtsM2ann3ku%2F4Pv9cgbkP633bkIkKBni41%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cRseFw/btsM04ovvtF/mLYfQ2IE8ATk2RhkPYYjx0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cRseFw/btsM04ovvtF/mLYfQ2IE8ATk2RhkPYYjx0/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum) 비즈카이야 다리 모형&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cRseFw/btsM04ovvtF/mLYfQ2IE8ATk2RhkPYYjx0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRseFw%2FbtsM04ovvtF%2FmLYfQ2IE8ATk2RhkPYYjx0%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum) 비즈카이야 다리 모형&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brAHbw/btsM0rRuIZL/BcAlgnmvNlmYYf5lSI6LMk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brAHbw/btsM0rRuIZL/BcAlgnmvNlmYYf5lSI6LMk/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brAHbw/btsM0rRuIZL/BcAlgnmvNlmYYf5lSI6LMk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrAHbw%2FbtsM0rRuIZL%2FBcAlgnmvNlmYYf5lSI6LMk%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;675&quot; height=&quot;900&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이것이 배끼리 통신할때 쓰는 조명인데 요거 아이들이 재미있어했다.&lt;br&gt;우리 아이들은 미야자키 하야오의 만화영화를 하도 많이 봐서 거의 외우고 있는데 '벼랑위의 포뇨'에 이 조명을 이용해 소스케와 아빠가 모스 부호로 통신하는 장면이 나온다. 소스케 엄마가 나중에 '바보바보바보...'를 조명으로 보내는 장면에서는 너무 재미있었는데 ㅎㅎ.&lt;br&gt;&lt;br&gt;둘째 아이가 이걸 보고는 바로 '이거 포뇨에 나오잖아'하면서 한참을 갖고 놀았다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lPL1O/btsM1jkN7ti/8ZOSHvm1vyeM0MbKbQDLC1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lPL1O/btsM1jkN7ti/8ZOSHvm1vyeM0MbKbQDLC1/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lPL1O/btsM1jkN7ti/8ZOSHvm1vyeM0MbKbQDLC1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlPL1O%2FbtsM1jkN7ti%2F8ZOSHvm1vyeM0MbKbQDLC1%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;675&quot; height=&quot;900&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선박간&amp;nbsp;조명을 이용한 통신 방법을 설명해 놓았다. 위에 나온 것을 직접 해보라고 하니 나름 재미있어 했다.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dN8kqI/btsM1KCt2So/17rfH1tY49Cs0K1LocZExk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dN8kqI/btsM1KCt2So/17rfH1tY49Cs0K1LocZExk/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dN8kqI/btsM1KCt2So/17rfH1tY49Cs0K1LocZExk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdN8kqI%2FbtsM1KCt2So%2F17rfH1tY49Cs0K1LocZExk%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cofQrT/btsM1mBRoMF/YQU7VPN0k6vYZKx6uBgyxk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cofQrT/btsM1mBRoMF/YQU7VPN0k6vYZKx6uBgyxk/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cofQrT/btsM1mBRoMF/YQU7VPN0k6vYZKx6uBgyxk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcofQrT%2FbtsM1mBRoMF%2FYQU7VPN0k6vYZKx6uBgyxk%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;위 사진. 저인망 어선?을 설명한 모형.&lt;br&gt;직접 보니 바로 이해가 감.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oWGAY/btsM1o7MSVL/2z8XFXF4rd1nlEX0wfVNj1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oWGAY/btsM1o7MSVL/2z8XFXF4rd1nlEX0wfVNj1/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oWGAY/btsM1o7MSVL/2z8XFXF4rd1nlEX0wfVNj1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoWGAY%2FbtsM1o7MSVL%2F2z8XFXF4rd1nlEX0wfVNj1%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLLC0Y/btsM0tVYQ7K/UNBPAbYIMUjC2j5Kmahak1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLLC0Y/btsM0tVYQ7K/UNBPAbYIMUjC2j5Kmahak1/img.jpg&quot; data-alt=&quot;빌바오 해양박물관(Itsasmuseum)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLLC0Y/btsM0tVYQ7K/UNBPAbYIMUjC2j5Kmahak1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLLC0Y%2FbtsM0tVYQ7K%2FUNBPAbYIMUjC2j5Kmahak1%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 해양박물관(Itsasmuseum)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;배가 정박하는 곳에 작은 배들을 여러척 갖다 놓았다. 잘 보면 저곳도 들어가서 이것 저것 동작해 볼 수 있게 해 놓았다.&lt;br&gt;시간이 충분하지 않아 빌바오 Intermodal로 돌아왔다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbhZjK/btsM1qLjqtk/QPDunQeMOFujJclUCHHQi1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbhZjK/btsM1qLjqtk/QPDunQeMOFujJclUCHHQi1/img.jpg&quot; data-alt=&quot;빌바오 회전 교차로&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbhZjK/btsM1qLjqtk/QPDunQeMOFujJclUCHHQi1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbhZjK%2FbtsM1qLjqtk%2FQPDunQeMOFujJclUCHHQi1%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 회전 교차로&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;이제 스페인에서의 모든 여정이 끝났다. 렌터카를 반납하기 위해 빌바오 공항으로 향했다.&lt;br&gt;빌바오 공항 주차장에서 허츠렌터카는 쉽게 찾을 수 있도록 표시가 잘 되어 있었다. 풀커버 보험이었기 때문에 따로 차량 검사도 없다. 차키를 건네주고 바로 끝.&lt;br&gt;&lt;br&gt;빌바오 공항은 크지 않지만 건물이 아주 멋있다.&lt;br&gt;스페인 최고의 건축가인 산티아고 칼라트라바(Santiago Calatrava Valls)가 설계한 빌바오 공항. 외관의 모습이 독수리를 닮았다고 하는데 내부에서 보니 과연 맞는 말 같다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sXPLL/btsM1kKQhXt/224OseHWcHUtBPNBSvx2MK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sXPLL/btsM1kKQhXt/224OseHWcHUtBPNBSvx2MK/img.jpg&quot; data-alt=&quot;빌바오 공항 내부&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sXPLL/btsM1kKQhXt/224OseHWcHUtBPNBSvx2MK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsXPLL%2FbtsM1kKQhXt%2F224OseHWcHUtBPNBSvx2MK%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 공항 내부&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZHMp0/btsM1nAL2kQ/3M8rTxwyGw7Ac08h4OONU1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZHMp0/btsM1nAL2kQ/3M8rTxwyGw7Ac08h4OONU1/img.jpg&quot; data-alt=&quot;빌바오 공항 내부&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZHMp0/btsM1nAL2kQ/3M8rTxwyGw7Ac08h4OONU1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZHMp0%2FbtsM1nAL2kQ%2F3M8rTxwyGw7Ac08h4OONU1%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;900&quot; height=&quot;675&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빌바오 공항 내부&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>여행/해외</category>
      <category>2024</category>
      <category>빌바오</category>
      <category>스페인 여행</category>
      <author>마이홈주의자</author>
      <guid isPermaLink="true">https://hangyojung.tistory.com/167</guid>
      <comments>https://hangyojung.tistory.com/167#entry167comment</comments>
      <pubDate>Sun, 30 Mar 2025 19:46:05 +0900</pubDate>
    </item>
    <item>
      <title>강화도 평화기행 : 이시우 선생님과 함께</title>
      <link>https://hangyojung.tistory.com/96</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;2018년 11월.&lt;br /&gt;&lt;br /&gt;이시우 선생님과 함께한 강화도 평화 기행 &lt;br /&gt;한달&amp;nbsp;전&amp;nbsp;강화도&amp;nbsp;기행&amp;nbsp;때&amp;nbsp;이시우&amp;nbsp;선생님을&amp;nbsp;해설가로&amp;nbsp;모시려고&amp;nbsp;했지만&amp;nbsp;일정이&amp;nbsp;맞지&amp;nbsp;않았다. &lt;br /&gt;의정부&amp;nbsp;인생서점에서&amp;nbsp;주최한&amp;nbsp;평화기행에서&amp;nbsp;이시우&amp;nbsp;선생님을&amp;nbsp;모시고&amp;nbsp;진행한다고&amp;nbsp;해서&amp;nbsp;달려갔다. &lt;br /&gt;이시우 선생님은 18년째 강화에서 살고 계신 사진작가이고 평화활동가이자 '민통선 평화기행' 저자이다.&lt;br /&gt;2013년에는 유엔군 사령부관련 책도 내셨다. &lt;br /&gt;&lt;br /&gt;선생님은&amp;nbsp;강화의&amp;nbsp;한곳만&amp;nbsp;꼽는다면&amp;nbsp;단연&amp;nbsp;연미정이라고&amp;nbsp;하신다. &lt;br /&gt;북녁땅이 바로 보인다는 것. 연미의 뜻- 갈라진 제비 꼬리로 한강하구의 물이 갈라짐-으로 이곳 지형을 설명하기가 좋은 곳이란 점.&lt;br /&gt;고려 대몽항쟁시기 이전의 강화는 6개의 섬이었는데 39년간 대몽항쟁 당시 제방을 쌓았으며 연미정 근처에 제방의 흔적이 있다는 것.&lt;br /&gt;바로 앞에 보이는 유도-한강 하구의 섬-와 이곳에서 성행했던 시장 이야기.&lt;br /&gt;황형장군과 창원 황씨 집성촌 이야기.&lt;br /&gt;연미정 바로 옆에서 시작되는 강화도 민통선 이야기.&lt;br /&gt;한강 하구가 가지는 의미. 정전 협정에 나오는 한강 하구까지. &lt;br /&gt;그야말로&amp;nbsp;끝이&amp;nbsp;없는&amp;nbsp;이야기가&amp;nbsp;있는&amp;nbsp;곳이다.&lt;br /&gt;&lt;br /&gt;독립운동&amp;nbsp;관련한&amp;nbsp;인물은&amp;nbsp;단연&amp;nbsp;이동휘&amp;nbsp;선생과&amp;nbsp;조봉암&amp;nbsp;선생이다.&amp;nbsp;한달&amp;nbsp;전에는&amp;nbsp;갑곶돈대&amp;nbsp;주차장&amp;nbsp;옆에&amp;nbsp;있는&amp;nbsp;조봉암&amp;nbsp;선생&amp;nbsp;추모비에&amp;nbsp;왔었는데&amp;nbsp;강화중앙교회가&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;이동휘&amp;nbsp;선생의&amp;nbsp;한인사회당이&amp;nbsp;가지는&amp;nbsp;의미와&amp;nbsp;당시&amp;nbsp;선생의&amp;nbsp;위상.&amp;nbsp;코민테른&amp;nbsp;대회와&amp;nbsp;박진순,레닌&amp;nbsp;사진.&amp;nbsp;이와&amp;nbsp;관련된&amp;nbsp;혁명자금&amp;nbsp;사건까지&amp;nbsp;연결된다. &lt;br /&gt;죽산&amp;nbsp;조봉암과&amp;nbsp;진보당.&amp;nbsp;이승만&amp;nbsp;이야기까지. &lt;br /&gt;이시우&amp;nbsp;선생님은&amp;nbsp;당시의&amp;nbsp;독립운동가들은&amp;nbsp;유라시아&amp;nbsp;전체를&amp;nbsp;활동&amp;nbsp;무대로&amp;nbsp;삼았다는&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;정전협정. &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;선박을&amp;nbsp;허용한다는&amp;nbsp;문구가&amp;nbsp;명확히&amp;nbsp;있다는&amp;nbsp;것이다(정전협정&amp;nbsp;1조&amp;nbsp;5항).&amp;nbsp;실제로&amp;nbsp;이것을&amp;nbsp;행동으로&amp;nbsp;옮기고자&amp;nbsp;매년&amp;nbsp;관련기관에&amp;nbsp;문의를&amp;nbsp;하고&amp;nbsp;있지만&amp;nbsp;매번&amp;nbsp;실패한다고&amp;nbsp;한다.&amp;nbsp;한강&amp;nbsp;하구가&amp;nbsp;얼음이&amp;nbsp;얼어서&amp;nbsp;사람이&amp;nbsp;걸어서&amp;nbsp;가더라도&amp;nbsp;정전협정&amp;nbsp;위반이&amp;nbsp;아니라고&amp;nbsp;한다.&amp;nbsp;이처럼&amp;nbsp;정전협정은&amp;nbsp;많은&amp;nbsp;허점이&amp;nbsp;있는데도&amp;nbsp;&amp;nbsp;대한민국&amp;nbsp;헌법위에&amp;nbsp;군림하고&amp;nbsp;있다. &lt;br /&gt;한강하구는&amp;nbsp;지정학적으로도&amp;nbsp;한국전쟁&amp;nbsp;당시&amp;nbsp;한강,임진강,한탄강을&amp;nbsp;중심으로&amp;nbsp;전선이&amp;nbsp;고착화되었다.&amp;nbsp;한강&amp;nbsp;하구가&amp;nbsp;서해&amp;nbsp;공동&amp;nbsp;어로&amp;nbsp;수역과&amp;nbsp;함께&amp;nbsp;평화수역으로&amp;nbsp;바뀌고&amp;nbsp;후퇴되지&amp;nbsp;않을&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;이유이다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_105004_HDR.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEx3OQ/btsMK3XGEWR/lKvraA2E2Vmhc3h6bju6BK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEx3OQ/btsMK3XGEWR/lKvraA2E2Vmhc3h6bju6BK/img.jpg&quot; data-alt=&quot;강화도 연미정 앞에서 이시우 선생님&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEx3OQ/btsMK3XGEWR/lKvraA2E2Vmhc3h6bju6BK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEx3OQ%2FbtsMK3XGEWR%2FlKvraA2E2Vmhc3h6bju6BK%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;900&quot; height=&quot;675&quot; data-filename=&quot;20181118_105004_HDR.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_114659.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0ME6P/btsMKRwn506/92zEAxMyJaKEUGSHSwNsn1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0ME6P/btsMKRwn506/92zEAxMyJaKEUGSHSwNsn1/img.jpg&quot; data-alt=&quot;연미정에서 보이는 유도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0ME6P/btsMKRwn506/92zEAxMyJaKEUGSHSwNsn1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0ME6P%2FbtsMKRwn506%2F92zEAxMyJaKEUGSHSwNsn1%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;900&quot; height=&quot;675&quot; data-filename=&quot;20181118_114659.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_131345_HDR.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c53JjL/btsMLLoHDK7/ePWw84xuv3tx0UjrqOqaY0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c53JjL/btsMLLoHDK7/ePWw84xuv3tx0UjrqOqaY0/img.jpg&quot; data-alt=&quot;강화중앙교회&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c53JjL/btsMLLoHDK7/ePWw84xuv3tx0UjrqOqaY0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc53JjL%2FbtsMLLoHDK7%2FePWw84xuv3tx0UjrqOqaY0%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;900&quot; height=&quot;675&quot; data-filename=&quot;20181118_131345_HDR.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_131359.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQRPnz/btsMK16F7Gy/REgaN5w0yvPW1PEDSCVolk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQRPnz/btsMK16F7Gy/REgaN5w0yvPW1PEDSCVolk/img.jpg&quot; data-alt=&quot;강화중앙교회 앞에는 김동수권사 3형제의 추모비가 있다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQRPnz/btsMK16F7Gy/REgaN5w0yvPW1PEDSCVolk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQRPnz%2FbtsMK16F7Gy%2FREgaN5w0yvPW1PEDSCVolk%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;900&quot; height=&quot;675&quot; data-filename=&quot;20181118_131359.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;강화중앙교회 앞에는 김동수권사 3형제의 추모비가 있다&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_131411_HDR.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cc6atj/btsMNiL5SVI/kgkF5KjhcneNGBFIkQf0i0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cc6atj/btsMNiL5SVI/kgkF5KjhcneNGBFIkQf0i0/img.jpg&quot; data-alt=&quot;강화중앙교회 김동수권사 3형제 추모비 안내판&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cc6atj/btsMNiL5SVI/kgkF5KjhcneNGBFIkQf0i0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcc6atj%2FbtsMNiL5SVI%2FkgkF5KjhcneNGBFIkQf0i0%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;900&quot; height=&quot;675&quot; data-filename=&quot;20181118_131411_HDR.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;강화중앙교회 김동수권사 3형제 추모비 안내판&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_131840.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/slrnV/btsMLJRVb99/tpKRsMdU2PzVb8d9P2Jpck/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/slrnV/btsMLJRVb99/tpKRsMdU2PzVb8d9P2Jpck/img.jpg&quot; data-alt=&quot;강화중앙교회 이동휘&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/slrnV/btsMLJRVb99/tpKRsMdU2PzVb8d9P2Jpck/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FslrnV%2FbtsMLJRVb99%2FtpKRsMdU2PzVb8d9P2Jpck%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;900&quot; height=&quot;675&quot; data-filename=&quot;20181118_131840.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_142600_HDR.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MStF4/btsMLIyGRZq/SUCWSu3bFO1BlM6U8PemCk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MStF4/btsMLIyGRZq/SUCWSu3bFO1BlM6U8PemCk/img.jpg&quot; data-alt=&quot;강화 부근리 지석묘 설명. 이시우 선생님&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MStF4/btsMLIyGRZq/SUCWSu3bFO1BlM6U8PemCk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMStF4%2FbtsMLIyGRZq%2FSUCWSu3bFO1BlM6U8PemCk%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;900&quot; height=&quot;675&quot; data-filename=&quot;20181118_142600_HDR.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_143848_HDR.jpg&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yFSM4/btsMK16F7Ea/McAwPhW0nrDParwmuBxcW0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yFSM4/btsMK16F7Ea/McAwPhW0nrDParwmuBxcW0/img.jpg&quot; data-alt=&quot;강화 부근리 지석묘 안내판. 사적&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yFSM4/btsMK16F7Ea/McAwPhW0nrDParwmuBxcW0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyFSM4%2FbtsMK16F7Ea%2FMcAwPhW0nrDParwmuBxcW0%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;675&quot; height=&quot;900&quot; data-filename=&quot;20181118_143848_HDR.jpg&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;900&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;20181118_144149.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XE6SN/btsMMm9xcWt/kbKMttLnogaFCAnx9VhHOk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XE6SN/btsMMm9xcWt/kbKMttLnogaFCAnx9VhHOk/img.jpg&quot; data-alt=&quot;대한민국은 고인돌의 나라이다^^&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XE6SN/btsMMm9xcWt/kbKMttLnogaFCAnx9VhHOk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXE6SN%2FbtsMMm9xcWt%2FkbKMttLnogaFCAnx9VhHOk%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;900&quot; height=&quot;675&quot; data-filename=&quot;20181118_144149.jpg&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;675&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;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>여행/국내</category>
      <category>강화도</category>
      <category>강화중앙교회</category>
      <category>고인돌</category>
      <category>연미정</category>
      <category>이동휘</category>
      <category>이시우</category>
      <category>평화기행</category>
      <author>마이홈주의자</author>
      <guid isPermaLink="true">https://hangyojung.tistory.com/96</guid>
      <comments>https://hangyojung.tistory.com/96#entry96comment</comments>
      <pubDate>Sat, 15 Mar 2025 20:05:30 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA로 도서 관리 : ISBN이용 국립중앙도서관 OpenAPI</title>
      <link>https://hangyojung.tistory.com/165</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;2022년 3월 VBA로 ISBN로 네이버 OpenAPI를 검색하여 관리하는 엑셀 파일을 만들었는데...&lt;br /&gt;&lt;br /&gt;&lt;a title=&quot;엑셀 VBA로 도서 관리 : ISBN이용 네이버 OpenAPI 도서정보&quot; href=&quot;https://halbe.kr/83&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://halbe.kr/83&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742013975678&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;엑셀 VBA로 도서 관리 : ISBN이용 네이버 OpenAPI 도서정보&quot; data-og-description=&quot;갖고 있는 책이 좀 많다보니 이미 가지고 있는데 바보같이 같은 책을 또 사는 일이 몇번 있었다. 안되겠다 싶어 갖고 있는 모든 책을 관리해야 겠다는 생각을 하게 되었다. 어떻게 하지? 엑셀로 &quot; data-og-host=&quot;halbe.kr&quot; data-og-source-url=&quot;https://halbe.kr/83&quot; data-og-url=&quot;https://halbe.kr/83&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/v0F6I/hyYqQZdQk6/QqZWtL8yCY8IkKYmaZtf50/img.jpg?width=800&amp;amp;height=600&amp;amp;face=0_0_800_600,https://scrap.kakaocdn.net/dn/ejqYsL/hyYqdUkp03/H2RPN9CGxLJtAQUviNEBMK/img.jpg?width=800&amp;amp;height=600&amp;amp;face=0_0_800_600,https://scrap.kakaocdn.net/dn/PLspY/hyYqdGM4Vc/AxY6ikBeyqe2Oo1JGVbN70/img.jpg?width=1000&amp;amp;height=750&amp;amp;face=0_0_1000_750&quot;&gt;&lt;a href=&quot;https://halbe.kr/83&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://halbe.kr/83&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/v0F6I/hyYqQZdQk6/QqZWtL8yCY8IkKYmaZtf50/img.jpg?width=800&amp;amp;height=600&amp;amp;face=0_0_800_600,https://scrap.kakaocdn.net/dn/ejqYsL/hyYqdUkp03/H2RPN9CGxLJtAQUviNEBMK/img.jpg?width=800&amp;amp;height=600&amp;amp;face=0_0_800_600,https://scrap.kakaocdn.net/dn/PLspY/hyYqdGM4Vc/AxY6ikBeyqe2Oo1JGVbN70/img.jpg?width=1000&amp;amp;height=750&amp;amp;face=0_0_1000_750');&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;엑셀 VBA로 도서 관리 : ISBN이용 네이버 OpenAPI 도서정보&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;halbe.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네이버에서 제공하는 정보가 부족한 것들이 있고 책 가격 정보를 2022년 중간에 OpenAPI에서 제외하면서 더는 네이버로 관리하기 어렵겠다는 생각을 해 왔다.&lt;br /&gt;이런저런 문제로 국립중앙도서관 OpenAPI를 이용해 보겠다는 언급을 했었는데 1년 반정도가 지나서야 국립중앙도서관 OpenAPI를 이용해서 관리하고 있다.&lt;br /&gt;&lt;br /&gt;결론을 적자면 국립중앙도서관에서 제공하는 OpenAPI를 통해 가져오는 데이터도 깔끔하지가 않다. 그리고 정보가 없는 책도 있고 앞선 글에서도 얘기한 것처럼 같은 ISBN에 두 개 이상의 책이 존재하는 경우도 여전히 있다.(당연한 얘기이지만)&lt;br /&gt;특히 네이버 OpenAPI보다 국립중앙도서관 OpenAPI를 사용하고자 했던 목적 중 하나가 페이지 수 항목이 있기 때문이었는데 페이지 수가 없는 경우들이 많다. 너무 아쉬운 부분들이다.&lt;br /&gt;&lt;br /&gt;왜일까? 추측해 보건대 도서 정보를 아르바이트생등을 통해 일괄 입력하지 않을까 싶은데 누락되는 경우들이 많은 게 아닐까 생각해 본다. 그 이유는 다른 항목들 예를 들면 VOL 필드가 있는데 이게 시리즈(예:나의 문화유산답사기등)로 나올 경우 몇 권인지를 갖고 있는 필드인데 장기간에 걸쳐 출판되는 경우 이 필드 항목이 없는 권들이 생긴다.&lt;br /&gt;글로 쓰기에 참 어려운데 암튼 모든 데이터가 통일성 있게 존재하지 않는다는 것.&lt;br /&gt;페이지 수가 없는 도서들이 많다는 것.&lt;br /&gt;국립중앙도서관임에도 ISBN으로 검색되지 않는 책들이 꽤 있다는 것.&lt;br /&gt;등이다.&lt;br /&gt;32개 필드 중 도서 관리에 필요한 항목으로 정확하게 데이터가 있는 필드가 사실 얼마 없다는 것을 알게 되었다.&lt;br /&gt;이런거 왜 정비를 안 하는 것인지...&lt;br /&gt;&lt;br /&gt;국립중앙도서관 OpenAPI버전으로 만들면서 버튼을 한 개 더 만들었다.&lt;br /&gt;현재 위치의 ISBN만 검색해서 데이터를 가져오는 것.&lt;br /&gt;&lt;br /&gt;이번 글을 포스팅하면서 VBA 스크립트를 수정할 것이 생겼다.&lt;br /&gt;. ISBN이 중복되는 경우 팝업을 띄워 어느 도서인지 선택하도록 해야 함. 이것은 이전에도 적었었는데 아직도 해결하지 못했음.&lt;br /&gt;. '채우기-전체' 버튼을 누를때 프롬프트를 띄워 '진짜 전체를 검색할 것인지 ' 물어보도록 해야겠다.&amp;nbsp;오래 걸리기 때문&lt;br /&gt;. 버튼을 누를때 Cell의 색상이 회색인 경우에는 다르게 작동하도록 해야겠다.&lt;br /&gt;&amp;nbsp; 이유는 ISBN으로 검색했는데 정보가 없을 경우는 내가 인터넷으로 찾아서 직접 넣어야 하는 경우임.&lt;br /&gt;&amp;nbsp; 이 상태에서 다시 버튼을 누르게 되면 내가 수작업으로 넣은 데이터가 사라지게 됨.(가져온 데이터도 없을 테니...)&lt;br /&gt;&lt;br /&gt;아래는 국립중앙도서관 OpenAPI의 32개 항목이며 데이터를 받아서 확인해 보고 나에게 필요한 값만 엑셀에 넣고 나머지는 넣지 않았다.&lt;/p&gt;
&lt;pre id=&quot;code_1742020490499&quot; class=&quot;vbnet&quot; data-ke-language=&quot;vbnet&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;            ' NO   필드                  -- 값 설명
            ' 1  : PAGE_NO ---------------- String 현재 쪽번호 ==&amp;gt; 값 없음
            ' 2  : TOTAL_COUNT ------------ String 전체 출력수 ==&amp;gt; 값 없음
            ' 3  : TITLE ------------------ String 표제
            ' 4  : VOL -------------------- String 권차
            ' 5  : SERIES_TITLE ----------- String 총서명
            ' 6  : SERIES_NO -------------- String 총서편차
            ' 7  : AUTHOR ----------------- String 저자
            ' 8  : EA_ISBN ---------------- String ISBN ==&amp;gt; 불필요
            ' 9  : EA_ADD_CODE ------------ String ISBN 부가기호 ==&amp;gt; 불필요
            ' 10 : SET_ISBN --------------- String 세트 ISBN ==&amp;gt; 불필요
            ' 11 : SET_ADD_CODE ----------- String 세트 ISBN 부가기호 ==&amp;gt; 불필요
            ' 12 : SET_EXPRESSION --------- String 세트표현 (세트, 전2권.) ==&amp;gt; 불필요
            ' 13 : PUBLISHER -------------- String 발행처
            ' 14 : EDITION_STMT ----------- String 판사항
            ' 15 : PRE_PRICE -------------- String 예정가격
            ' 16 : KDC -------------------- String 한국십진분류 (2020년 12월 31일 이후 데이터 제공불가)
            ' 17 : DDC -------------------- String 듀이십진분류
            ' 18 : PAGE ------------------- String 페이지
            ' 19 : BOOK_SIZE -------------- String 책크기
            ' 20 : FORM ------------------- String 발행제본형태
            ' 21 : PUBLISH_PREDATE -------- String 출판예정일
            ' 22 : SUBJECT ---------------- String 주제 (KDC 대분류)
            ' 23 : EBOOK_YN --------------- String 전자책여부 (Y: 전자책, N : 인쇄책)
            ' 24 : CIP_YN ----------------- String CIP 신청여부 (Y: CIP신청, N: CIP신청안함) ==&amp;gt; 불필요
            ' 25 : CONTROL_NO ------------- String CIP 제어번호 ==&amp;gt; 불필요
            ' 26 : TITLE_URL -------------- String 표지이미지 URL ==&amp;gt; 불필요
            ' 27 : BOOK_TB_CNT_URL -------- String 목차 ==&amp;gt; 불필요
            ' 28 : BOOK_INTRODUCTION_URL -- String 책소개 ==&amp;gt; 불필요
            ' 29 : BOOK_SUMMARY_URL ------- String 책요약 ==&amp;gt; 불필요
            ' 30 : PUBLISHER_URL ---------- String 출판사 홈페이지 URL ==&amp;gt; 불필요
            ' 31 : INPUT_DATE ------------- String 등록날짜 ==&amp;gt; 불필요
            ' 32 : UPDATE_DATE ------------ String 수정날짜 ==&amp;gt; 불필요&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;주요 VBScript는 아래와 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1742021446085&quot; class=&quot;vbnet&quot; data-ke-language=&quot;vbnet&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Sub Call_OpenAPI_NL(RowNum As Integer)
    
    Dim OHTTP As WinHttpRequest
    Dim s_URL, C_Key, s_URL2, ISBN As String
    Dim O_XML As DOMDocument60
    Dim NodeList As IXMLDOMNodeList
    Dim NodeCell As IXMLDOMNode
    Dim NodeChild As IXMLDOMNode
    Dim i As Integer
    
    s_URL = &quot;http://seoji.nl.go.kr/landingPage/SearchApi.do?cert_key=&quot;
    s_URL2 = &quot;&amp;amp;result_style=xml&amp;amp;page_no=1&amp;amp;page_size=10&amp;amp;isbn=&quot;
    
    ' C_Key = Range(&quot;B1&quot;).Value2
    ' 여기에 본인이 발급받은 Key값을 넣으면 됨.
    C_Key = &quot;&amp;lt; 발급받은 Key &amp;gt;&quot;
    i = RowNum
    
    Set OHTTP = New WinHttpRequest
    
    Do While Range(&quot;A&quot; &amp;amp; i).Value &amp;lt;&amp;gt; &quot;&quot;
        
        ISBN = Range(&quot;A&quot; &amp;amp; i).Value
        
        OHTTP.Open &quot;Get&quot;, s_URL &amp;amp; C_Key &amp;amp; s_URL2 &amp;amp; ISBN
        OHTTP.Send
        ' Debug.Print OHTTP.ResponseText
        If OHTTP.Status = 200 Then
            Set O_XML = New DOMDocument60
            O_XML.LoadXML (OHTTP.ResponseText)
            Set NodeList = O_XML.SelectNodes(&quot;o/docs/e&quot;)
            
            Range(&quot;A&quot; &amp;amp; i).Interior.ColorIndex = 6

            ' NO   필드                  -- 값 설명
            ' 1  : PAGE_NO ---------------- String 현재 쪽번호 ==&amp;gt; 값 없음
            ' 2  : TOTAL_COUNT ------------ String 전체 출력수 ==&amp;gt; 값 없음
            ' 3  : TITLE ------------------ String 표제
            ' 4  : VOL -------------------- String 권차
            ' 5  : SERIES_TITLE ----------- String 총서명
            ' 6  : SERIES_NO -------------- String 총서편차
            ' 7  : AUTHOR ----------------- String 저자
            ' 8  : EA_ISBN ---------------- String ISBN ==&amp;gt; 불필요
            ' 9  : EA_ADD_CODE ------------ String ISBN 부가기호 ==&amp;gt; 불필요
            ' 10 : SET_ISBN --------------- String 세트 ISBN ==&amp;gt; 불필요
            ' 11 : SET_ADD_CODE ----------- String 세트 ISBN 부가기호 ==&amp;gt; 불필요
            ' 12 : SET_EXPRESSION --------- String 세트표현 (세트, 전2권.) ==&amp;gt; 불필요
            ' 13 : PUBLISHER -------------- String 발행처
            ' 14 : EDITION_STMT ----------- String 판사항
            ' 15 : PRE_PRICE -------------- String 예정가격
            ' 16 : KDC -------------------- String 한국십진분류 (2020년 12월 31일 이후 데이터 제공불가)
            ' 17 : DDC -------------------- String 듀이십진분류
            ' 18 : PAGE ------------------- String 페이지
            ' 19 : BOOK_SIZE -------------- String 책크기
            ' 20 : FORM ------------------- String 발행제본형태
            ' 21 : PUBLISH_PREDATE -------- String 출판예정일
            ' 22 : SUBJECT ---------------- String 주제 (KDC 대분류)
            ' 23 : EBOOK_YN --------------- String 전자책여부 (Y: 전자책, N : 인쇄책)
            ' 24 : CIP_YN ----------------- String CIP 신청여부 (Y: CIP신청, N: CIP신청안함) ==&amp;gt; 불필요
            ' 25 : CONTROL_NO ------------- String CIP 제어번호 ==&amp;gt; 불필요
            ' 26 : TITLE_URL -------------- String 표지이미지 URL ==&amp;gt; 불필요
            ' 27 : BOOK_TB_CNT_URL -------- String 목차 ==&amp;gt; 불필요
            ' 28 : BOOK_INTRODUCTION_URL -- String 책소개 ==&amp;gt; 불필요
            ' 29 : BOOK_SUMMARY_URL ------- String 책요약 ==&amp;gt; 불필요
            ' 30 : PUBLISHER_URL ---------- String 출판사 홈페이지 URL ==&amp;gt; 불필요
            ' 31 : INPUT_DATE ------------- String 등록날짜 ==&amp;gt; 불필요
            ' 32 : UPDATE_DATE ------------ String 수정날짜 ==&amp;gt; 불필요

            For Each NodeCell In NodeList
                For Each NodeChild In NodeCell.ChildNodes

                    'If NodeChild.nodeName = &quot;PAGE_NO&quot; Then ' 불필요
                    '    Range(&quot;B&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;TOTAL_COUNT&quot; Then ' 불필요
                    '    Range(&quot;C&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    If NodeChild.nodeName = &quot;TITLE&quot; Then
                        Range(&quot;B&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;VOL&quot; Then
                        Range(&quot;C&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;SERIES_TITLE&quot; Then
                        Range(&quot;D&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;SERIES_NO&quot; Then
                        Range(&quot;E&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;AUTHOR&quot; Then
                        Range(&quot;F&quot; &amp;amp; i).Value2 = NodeChild.Text
                    'ElseIf NodeChild.nodeName = &quot;EA_ISBN&quot; Then ' 불필요
                    '    Range(&quot;I&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;EA_ADD_CODE&quot; Then ' 불필요
                    '    Range(&quot;J&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;SET_ISBN&quot; Then ' 불필요
                    '    Range(&quot;K&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;SET_ADD_CODE&quot; Then ' 불필요
                    '    Range(&quot;L&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;SET_EXPRESSION&quot; Then ' 불필요
                    '    Range(&quot;M&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    ElseIf NodeChild.nodeName = &quot;PUBLISHER&quot; Then
                        Range(&quot;G&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;EDITION_STMT&quot; Then
                        Range(&quot;H&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;PRE_PRICE&quot; Then
                        Range(&quot;I&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;KDC&quot; Then
                        Range(&quot;J&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;DDC&quot; Then
                        Range(&quot;K&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;PAGE&quot; Then
                        Range(&quot;L&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;BOOK_SIZE&quot; Then
                        Range(&quot;M&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;FORM&quot; Then
                        Range(&quot;N&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;PUBLISH_PREDATE&quot; Then
                        Range(&quot;O&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;SUBJECT&quot; Then
                        Range(&quot;P&quot; &amp;amp; i).Value2 = NodeChild.Text
                    ElseIf NodeChild.nodeName = &quot;EBOOK_YN&quot; Then
                        Range(&quot;Q&quot; &amp;amp; i).Value2 = NodeChild.Text
                    'ElseIf NodeChild.nodeName = &quot;CIP_YN&quot; Then ' 불필요
                    '    Range(&quot;Y&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;CONTROL_NO&quot; Then ' 불필요
                    '    Range(&quot;Z&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;TITLE_URL&quot; Then ' 불필요
                    '    Range(&quot;AA&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;BOOK_TB_CNT_URL&quot; Then ' 불필요
                    '    Range(&quot;AB&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;BOOK_INTRODUCTION_URL&quot; Then ' 불필요
                    '    Range(&quot;AC&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;BOOK_SUMMARY_URL&quot; Then ' 불필요
                    '    Range(&quot;AD&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;PUBLISHER_URL&quot; Then ' 불필요
                    '    Range(&quot;AE&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;INPUT_DATE&quot; Then ' 불필요
                    '    Range(&quot;AF&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    'ElseIf NodeChild.nodeName = &quot;UPDATE_DATE&quot; Then ' 불필요
                    '    Range(&quot;AG&quot; &amp;amp; i).Value2 = NodeChild.Text ' 불필요
                    End If
                    
                Next NodeChild
            Next NodeCell
        Else
            Range(&quot;A&quot; &amp;amp; i).Interior.ColorIndex = 48
        End If
        
        i = i + 1
    Loop

End Sub&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;무조건 따라 하기보다 우선 제공하는 사이트의 정보를 숙지할 필요가 있으니 국립중앙도서관 OpenAPI 페이지를 먼저 방문해서 알아보는 게 좋겠다.&lt;br /&gt;&lt;br /&gt;&lt;a title=&quot;국립중앙도서관 OpenAPI 활용방법&quot; href=&quot;https://www.nl.go.kr/NL/contents/N31101030500.do&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;국립중앙도서관 OpenAPI 활용방법 안내 페이지&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1742021559753&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.nl.go.kr&quot; data-og-source-url=&quot;https://www.nl.go.kr/NL/contents/N31101030500.do&quot; data-og-url=&quot;https://www.nl.go.kr/NL/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gYZAc/hyYuht4YQr/A1Mt5X4qeyeQJ5Zjez7D8k/img.png?width=65&amp;amp;height=63&amp;amp;face=0_0_65_63,https://scrap.kakaocdn.net/dn/bdu4tW/hyYqTIqZW5/UNk6AFNNl1VQ1qZDmnlXck/img.jpg?width=1240&amp;amp;height=428&amp;amp;face=75_261_146_338,https://scrap.kakaocdn.net/dn/cpPXs8/hyYqSisWnW/PsY7oDlADNbkh3L8CWqKqK/img.jpg?width=390&amp;amp;height=428&amp;amp;face=302_153_341_195&quot;&gt;&lt;a href=&quot;https://www.nl.go.kr/NL/contents/N31101030500.do&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.nl.go.kr/NL/contents/N31101030500.do&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gYZAc/hyYuht4YQr/A1Mt5X4qeyeQJ5Zjez7D8k/img.png?width=65&amp;amp;height=63&amp;amp;face=0_0_65_63,https://scrap.kakaocdn.net/dn/bdu4tW/hyYqTIqZW5/UNk6AFNNl1VQ1qZDmnlXck/img.jpg?width=1240&amp;amp;height=428&amp;amp;face=75_261_146_338,https://scrap.kakaocdn.net/dn/cpPXs8/hyYqSisWnW/PsY7oDlADNbkh3L8CWqKqK/img.jpg?width=390&amp;amp;height=428&amp;amp;face=302_153_341_195');&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.nl.go.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;아래는 약 300여 개의 도서 정보와 VBA 스크립트를 담고 있는 엑셀파일이다.&lt;br /&gt;허접한 스크립트이지만 어떤 분에게는 조금이나마 도움이 되길.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/FDRmT/btsMMpE7Hy9/ztDrMcehgmh7NiwKIXAep0/books_openAPI_NL_20250315_BlogUpload.xlsm?attach=1&amp;amp;knm=tfile.xlsm&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;books_openAPI_NL_20250315_BlogUpload.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.07MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>IT</category>
      <category>ISBN</category>
      <category>open api</category>
      <category>vba</category>
      <category>vbscript</category>
      <category>국립중앙도서관</category>
      <category>네이버책</category>
      <category>도서정보</category>
      <category>엑셀</category>
      <author>마이홈주의자</author>
      <guid isPermaLink="true">https://hangyojung.tistory.com/165</guid>
      <comments>https://hangyojung.tistory.com/165#entry165comment</comments>
      <pubDate>Sat, 15 Mar 2025 13:26:40 +0900</pubDate>
    </item>
    <item>
      <title>SecureCRT auto login VBScript for multiple servers(여러대 자동 로그인)</title>
      <link>https://hangyojung.tistory.com/164</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;많은 사이트에서 서버관련된 IT 종사자들이 SecureCRT를 사용한다.&lt;br&gt;본인의 전문 분야를 잘하기 위해서는 연관된 분야도 알아야 하는 경우들이 많다.&lt;br&gt;DBA라면 서버의 OS, Shell Script, 스토리지, 네트워크, &lt;span style=&quot;color: #333333;&quot;&gt;vi(vim) editor, WAS&lt;/span&gt; 등이 되겠다.&lt;br&gt;그리고 필요한 것이 각종 Tool이다. DBA들이라면 Toad, Oracle Sql Developer, Orange 등의 Tool이 있을테고 모니터링 솔루션(DPM)으로 엑셈의 MaxGuage, 셀파소프트의 Sherpa등 일 것이다. 관제 솔루션들도 있다. 각 솔루션들마다 많은 기능들이 있어 어느 정도는 익숙하게 다루는게 중요하다.&lt;br&gt;&lt;br&gt;이와 더불어 ssh로 접속해서 쓰는 Tool은 뭐랄까 공기나 물 같은 존재라고 할 수 있겠다.&lt;br&gt;항상 쓰면서도 뭔가 더 기능을 공부하면 편하게 쓸수 있을 것 같은데 원래의 일에 집중하다 보면 항상 놓치는 것 같다.&lt;br&gt;지금 사이트의 경우 편하게 빨리 로그인해서 작업하고 싶은데 매번 구차한 방식으로 로그인을 하고 있다. 구차한 방식으로 하게 된 이유는 보안이란 장벽 때문.&lt;br&gt;&lt;br&gt;운영 DBA는 보통 100여 대 이상의 DB를 관리한다.&lt;br&gt;15년쯤 전, 일했던 사이트에서는 우리 팀에서 관리하는 DB가 300여대 였는데 그전부터 누군가가 만들어 놓은 스크립트를 이용해서 로그인을 편하게 했었는데 그때의 기억을 되살려 이번에 자동 로그인 스크립트를 짜보았다.&lt;br&gt;&lt;br&gt;이번에 SecureCRT를 공부하면서 생각한 것이 정말 대단한 툴이 맞다.&lt;br&gt;그중에 내부적으로 파이썬(Python)과 VBscript를&amp;nbsp;&amp;nbsp;스크립트를 지원한다는 것은 엄청난 기능이라고 생각한다.&lt;br&gt;SecureCRT에서는 이를 위해서 별도의 'Script' 메뉴가 있으며 여기에 'Run' 메뉴와 'Start Recording Script', 'Stop Recording Script' 메뉴가 존재한다.&lt;br&gt;&lt;br&gt;나의 경우 SecureCRT에 Session Manager에 100여 대의 DB서버를 등록해 놓았다.&lt;br&gt;각 서버마다 Logon Actions &amp;gt; Automate Logon을 체크하고 그 아래에 로그인 정보를 셋업해 놓았었다.&lt;br&gt;서버의 패스워드는 주기적으로 바뀌는데 서버 패스워드 변경은 보안 유지보수 팀에서 따로 진행한다.&lt;br&gt;패스워드가 변경되면 SecureCRT에서도 변경해야 하므로 우리 팀 막내가 SecureCRT의 100여대의 서버 Property를 들어가 패스워드를 변경한다. 그리고 이 Config를 공유해 왔다.&lt;br&gt;&lt;br&gt;팀 막내는 전형적인 MZ세대라서... 투덜거리면서 변경한다. 그 모습이 신경 쓰여 조금이라도 도움을 줘야 할 것 같아 아래와 같이 만들게 된 것이다.&lt;br&gt;&lt;br&gt;파일은 두 개&lt;br&gt;. vbs script 파일 : CRT_login.vbs 라고 하자&lt;br&gt;. 서버목록과 로그인 정보를 갖고 있는 파일 : CRT_loginList.sql 라고 하자&lt;br&gt;&lt;br&gt;방식은 이렇다.&lt;br&gt;SecureCRT에서 Session Manager에는 아래와 같이 서버들이 등록되어 있다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wg5zg/btsMMCRIvcu/dl3HRLfS014hsX3dSc1rTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wg5zg/btsMMCRIvcu/dl3HRLfS014hsX3dSc1rTk/img.png&quot; data-alt=&quot;SecureCRT Sesion Manager&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wg5zg/btsMMCRIvcu/dl3HRLfS014hsX3dSc1rTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwg5zg%2FbtsMMCRIvcu%2Fdl3HRLfS014hsX3dSc1rTk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;616&quot; height=&quot;429&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;SecureCRT Sesion Manager&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br&gt;그리고 각 서버들의 Property는 아래와 같이 설정했다.&lt;br&gt;. Automate logon은 체크해제&lt;br&gt;. Logon script를 체크하고 vbs파일 선택 &lt;br&gt;. Display logon prompts in terminal window 체크&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;709&quot; data-origin-height=&quot;540&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Xr9U3/btsMMGmgBed/qkebwPtKhtAJDx32QiKeLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Xr9U3/btsMMGmgBed/qkebwPtKhtAJDx32QiKeLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Xr9U3/btsMMGmgBed/qkebwPtKhtAJDx32QiKeLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXr9U3%2FbtsMMGmgBed%2FqkebwPtKhtAJDx32QiKeLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;709&quot; height=&quot;540&quot; data-origin-width=&quot;709&quot; data-origin-height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br&gt;&lt;br&gt;모든 서버들을 동일하게 설정하면 되므로 Session Manager에서 Shift를 누르고 마지막 서버를 누르면 여러 대의 서버들이 선택되고 Property를 선택(Alt + Enter)하면 전체 적용되는 화면이 나와 한번에 변경 할 수 있다.&lt;br&gt;&lt;br&gt;vbs 파일은 아래와 같으며 동작 방식은 아주 간단하다.&lt;br&gt;Session Manager에서 선택한 서버의 Label에서 IP를 찾고 그 IP가 서버목록을 정리한 CRT_loginList.sql에 있는지 찾는다.&lt;br&gt;목록 파일에 있으면 그 옆에 적어 놓은 로그인 정보를 가져와서 crt.Screen.Send로 날리는 것이다.&lt;br&gt;&lt;br&gt;VBSCRIPT 중 case문을 보면 모든 서버들을 case로 나누어 놓았는데 이 스크립트를 작성하기 위해서 한 번은 서버에 접속해서 Recording 해줘야 한다.&lt;br&gt;Recording 방법은 서버에 접속하기 전 'Start Recording Script'를 눌러 놓고 정상적으로 패스워드를 입력하는 절차로 로그인 해준다. (이때는 Automate Logon, Logon Script 모두 체크하지 않아야 함)&lt;br&gt;로그인 후 'Stop Recording Script'를 누르면 파일로 저장하게 되며 이 파일을 열어보면 아래 case 문과 거의 같다.&lt;br&gt;서버마다 약간씩 손을 본 후 아래의 내용에 case로 추가하면 된다.&lt;br&gt;&lt;br&gt;아래의 스크립트는 crt.Screen Object를 썼기 때문에 모든 서버를 한번은 로그인해서 crt.Screen.WaitForString을 가져와야 하는 구조이다. 서버마다 프롬프트 내용이 다른 경우가 대부분이어서 case문이 계속 늘어 난다. 이걸 사용하지 않고 전부 crt.Session Object를 쓴다면 이 과정이 필요없고 스크립트가 아주 짧아질 것 같은데 그 방법은 알아내지 못했다.&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;vbnet&quot; data-ke-language=&quot;vbnet&quot;&gt;&lt;code&gt;#$language = &quot;VBScript&quot;
#$interface = &quot;1.0&quot;

crt.Screen.Synchronous = True

Sub Main

Dim objFSO, objStream
Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set objStream = objFSO.OpenTextFile(&quot;C:\Users\KCC\Documents\CRT_loginList.sql&quot;)

' Ver 8.5 doesn't have Label property for crt.Session
' CurrSession = Split(crt.Session.Label, &quot;_&quot;)(0)
CurrSession = crt.Session.Config.GetOption(&quot;Hostname&quot;)

Do While objStream.AtEndOfStream &amp;lt;&amp;gt; True
	strLine = objStream.ReadLine
	CommaCNT = Len(strLine) - len(replace(strLine, &quot;,&quot;, &quot;&quot;))
	If Split(Split(strLine, &quot;,&quot;)(0), &quot;_&quot;)(0) = CurrSession then
		If CommaCNT = 4 then
			' HostIP&amp;nbsp;&amp;nbsp; = Split(Split(strLine, &quot;,&quot;)(0), &quot;_&quot;)(0)
			Uname1&amp;nbsp;&amp;nbsp; = Replace(Split(strLine, &quot;,&quot;)(1), &quot; &quot;, &quot;&quot;)
			Passwd1&amp;nbsp;&amp;nbsp;= Replace(Split(strLine, &quot;,&quot;)(2), &quot; &quot;, &quot;&quot;)
			UnameR&amp;nbsp;&amp;nbsp; = Replace(Split(strLine, &quot;,&quot;)(3), &quot; &quot;, &quot;&quot;)
			PasswdR&amp;nbsp;&amp;nbsp;= Replace(Split(strLine, &quot;,&quot;)(4), &quot; &quot;, &quot;&quot;)
		Elseif CommaCNT = 2 then
			' HostIP&amp;nbsp;&amp;nbsp; = Split(Split(strLine, &quot;,&quot;)(0), &quot;_&quot;)(0)
			Uname1&amp;nbsp;&amp;nbsp; = Replace(Split(strLine, &quot;,&quot;)(1), &quot; &quot;, &quot;&quot;)
			Passwd1&amp;nbsp;&amp;nbsp;= Replace(Split(strLine, &quot;,&quot;)(2), &quot; &quot;, &quot;&quot;)
		End if
	Exit Do
	End if
Loop
objStream.Close

'&amp;nbsp;&amp;nbsp;MsgBox &quot;HostIP ===&quot; &amp;amp; HostIP &amp;amp; &quot;=== CurrSession(0)===&quot; &amp;amp; CurrSession &amp;amp; &quot;===&quot;
Select Case CurrSession
	Case &quot;xxx.xx.1.100&quot;
		' xxx.xx.1.100_기록관리
		crt.Screen.WaitForString &quot;Username: &quot;
		crt.Screen.Send Uname1 &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;Password: &quot;
		crt.Screen.Send Passwd1 &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;$ &quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;$ &quot;
		crt.Screen.Send &quot;su - &quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;root's Password: &quot;
		crt.Screen.Send PasswdR &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;[rsdb:root]/&amp;gt;&quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;[rsdb:root]/&amp;gt;&quot;
		crt.Screen.Send &quot;su - oracle&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;[rsdb:/app/oracle]$&quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;[rsdb:/app/oracle]$&quot;
		crt.Screen.Send &quot;work;cd han;&quot; &amp;amp; chr(13)
	Case &quot;xxx.xx.1.101&quot;
		' xxx.xx.1.101_그룹포털#1
		crt.Screen.WaitForString &quot;Username: &quot;
		crt.Screen.Send Uname1 &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;Password: &quot;
		crt.Screen.Send Passwd1 &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;$ &quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;$ &quot;
		crt.Screen.Send &quot;su -&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;: &quot;
		crt.Screen.Send PasswdR &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;root@krbsdb5 # &quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;root@krbsdb5 # &quot;
		crt.Screen.Send &quot;su - oracle&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;EPKDB1:/oracle/app/oracle&amp;gt;&quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;EPKDB1:/oracle/app/oracle&amp;gt;&quot;
		crt.Screen.Send &quot;work;cd han;&quot; &amp;amp; chr(13)
	Case &quot;xxx.xx.1.102&quot;
		' xxx.xx.1.102_그룹포털#2
		crt.Screen.WaitForString &quot;Username: &quot;
		crt.Screen.Send Uname1 &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;Password: &quot;
		crt.Screen.Send Passwd1 &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;$ &quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;$ &quot;
		crt.Screen.Send &quot;su -&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;: &quot;
		crt.Screen.Send PasswdR &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;root@krbsdb5 # &quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;root@krbsdb5 # &quot;
		crt.Screen.Send &quot;su - oracle&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;EPKDB2:/oracle/app/oracle&amp;gt;&quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;EPKDB2:/oracle/app/oracle&amp;gt;&quot;
		crt.Screen.Send &quot;work;cd han;&quot; &amp;amp; chr(13)
	Case &quot;xxx.xx.1.103&quot;
		' xxx.xx.1.103_sherpa_LOGMS
		crt.Screen.WaitForString &quot;Username: &quot;
		crt.Screen.Send Uname1 &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;Password: &quot;
		crt.Screen.Send Passwd1 &amp;amp; chr(13)
		crt.Screen.WaitForString &quot;[sherpa@sherpamgr10 ~]$ &quot;
		crt.Screen.Send &quot;TMOUT=0&quot; &amp;amp; chr(13)
	Case Else
		MsgBox &quot;No Host to match!&quot;
	Exit Sub
End Select

End Sub&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br&gt;아래 파일이 CRT_loginList.sql 이다.&lt;br&gt;csv 파일 형태이며 각 필드 구분자가 콤마(,) 이므로 특히 서버명에 콤마가 들어가면 안되겠다.&lt;br&gt;첫번째 항목 IP를 포함한 서버명&lt;br&gt;두번째 항목 첫 로그인 os계정&lt;br&gt;세번째 항목 첫 로그인 os 패스워드&lt;br&gt;네번째 항목 root os계정(root로 모두 동일...)&lt;br&gt;다섯째 항목 root os 패스워드&lt;br&gt;&lt;br&gt;넷째, 다섯째 항목은 없는 경우들이 많으니 아래의 sherpa 서버처럼 3개 항목으로 구성해도 된다.&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;vbnet&quot; data-ke-language=&quot;vbnet&quot;&gt;&lt;code&gt;xxx.xx.1.100_기록관리,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mon, monPasswd&amp;nbsp;&amp;nbsp; , root, rootPasswd
xxx.xx.1.101_그룹포털#1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mon, monPasswd&amp;nbsp;&amp;nbsp; , root, rootPasswd
xxx.xx.1.102_그룹포털#2,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mon, monPasswd&amp;nbsp;&amp;nbsp; , root, rootPasswd
xxx.xx.1.103_sherpa_LOGMS, sherpa, sherpaPasswd&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br&gt;이번에 SecureCRT를 약간 더 공부하면서 Vandyke사의 유튜브 채널이 많이 도움이 되었고 정말 많은 기능이 있다는 것을 알았다.&lt;br&gt;채널을 여기에 공유한다.&lt;br&gt;&lt;a href=&quot;https://www.youtube.com/@vandykesoftware/videos&quot; target=&quot;_blank&quot; title=&quot;Vandyke Software 유튜브 채널&quot;&gt;&lt;span&gt;https://www.youtube.com/@vandykesoftware/videos&lt;/span&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;vandykesoftware&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;VanDyke Software offers rock-solid applications for secure remote access, file transfer, and system administration, backed by expert customer support. VanDyke Software products include VShell®, SecureCRT®, and SecureFX®.&quot; data-og-host=&quot;www.youtube.com&quot; data-og-source-url=&quot;https://www.youtube.com/@vandykesoftware/videos&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/E24TD/hyYrSB4N2V/AduyuOzcti9QCRpyoqRysK/img.jpg?width=900&amp;amp;height=900&amp;amp;face=0_0_900_900,https://scrap.kakaocdn.net/dn/ch4JKa/hyYqTO7Jtw/9NaoPqnojHpiLntPwPOnmK/img.jpg?width=900&amp;amp;height=900&amp;amp;face=0_0_900_900&quot; data-og-url=&quot;https://www.youtube.com/channel/UCUU4UixHHCNNfiwzw53UIKw&quot;&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCUU4UixHHCNNfiwzw53UIKw&quot; target=&quot;_blank&quot; data-source-url=&quot;https://www.youtube.com/@vandykesoftware/videos&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/E24TD/hyYrSB4N2V/AduyuOzcti9QCRpyoqRysK/img.jpg?width=900&amp;amp;height=900&amp;amp;face=0_0_900_900,https://scrap.kakaocdn.net/dn/ch4JKa/hyYqTO7Jtw/9NaoPqnojHpiLntPwPOnmK/img.jpg?width=900&amp;amp;height=900&amp;amp;face=0_0_900_900')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;vandykesoftware&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;VanDyke Software offers rock-solid applications for secure remote access, file transfer, and system administration, backed by expert customer support. VanDyke Software products include VShell®, SecureCRT®, and SecureFX®.&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;www.youtube.com&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br&gt;이제 Session Manager에서 각 서버들을 클릭하면 자동으로 로그인 되는 것 까지 했다.&lt;br&gt;남은 것은 제목에 쓴 것처럼 SecureCRT auto login vbs script for multiple servers(여러대 자동 로그인)을 하면 끝난다.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;407&quot; data-origin-height=&quot;338&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFMpxQ/btsMMfbscwR/qjMVuB9rImRaisImdxYHM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFMpxQ/btsMMfbscwR/qjMVuB9rImRaisImdxYHM0/img.png&quot; data-alt=&quot;SecureCRT Session Manager&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFMpxQ/btsMMfbscwR/qjMVuB9rImRaisImdxYHM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFMpxQ%2FbtsMMfbscwR%2FqjMVuB9rImRaisImdxYHM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;407&quot; height=&quot;338&quot; data-origin-width=&quot;407&quot; data-origin-height=&quot;338&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;SecureCRT Session Manager&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러대를 동시에 접속하기 위해서는 몇가지 방법이 있는데 SecureCRT는 간단하게 Session Manager에서 서버를 선택후 오른쪽 버튼을 누르면 나오는 'Create Desktop Shortcut' (Ctrl + Alt + E) 기능을 제공하고 있어 이것을 이용하면 된다.&lt;br&gt;위에 보이는 것 처럼 평소 3대의 서버에 로그인하고 세션은 5개를 열어야 한다면 폴더를 만들어 주고 이미 만들어 놓은 세션 서버들을 폴더에 복사/붙여넣기 한다.&lt;br&gt;이 폴더의 서버들도 동일하게 logon script로 로그인하는 방식으로 동작할 것이다.&lt;br&gt;&lt;br&gt;원하는 서버들을 넣은 후 폴더에서 오른쪽 버튼을 눌러 'Create Desktop Shortcut'을 누르면 이 폴더의 단축아이콘이 만들어 진다.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;549&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cXFMgg/btsMKIsFjio/aObAKIQmT3Lb5KqlB4kAbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cXFMgg/btsMKIsFjio/aObAKIQmT3Lb5KqlB4kAbk/img.png&quot; data-alt=&quot;SecureCRT Session Manager&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cXFMgg/btsMKIsFjio/aObAKIQmT3Lb5KqlB4kAbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcXFMgg%2FbtsMKIsFjio%2FaObAKIQmT3Lb5KqlB4kAbk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;490&quot; height=&quot;549&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;549&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;SecureCRT Session Manager&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br&gt;만들어진 단축아이콘을 클릭하면 SecureCRT가 뜨면서 5개의 세션이 동시에 열리고 자동 로그인까지 된다.&lt;br&gt;&lt;br&gt;끝.&lt;/p&gt;</description>
      <category>IT</category>
      <category>Autologin</category>
      <category>SecureCRT</category>
      <category>vbscript</category>
      <category>자동 로그인</category>
      <category>자동화</category>
      <author>마이홈주의자</author>
      <guid isPermaLink="true">https://hangyojung.tistory.com/164</guid>
      <comments>https://hangyojung.tistory.com/164#entry164comment</comments>
      <pubDate>Sat, 15 Mar 2025 08:24:24 +0900</pubDate>
    </item>
  </channel>
</rss>