<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Developer Study Blog</title>
    <link>https://androiddev.tistory.com/</link>
    <description>개발 업무로 할 수 있는 부업, 투잡, 창업에 대한 강의를 초급부터 고급까지.
재택근무 가능한 인터넷 비즈니스 블로그 스터디.
개발 직종 취업에 대한 정보 블로그</description>
    <language>ko</language>
    <pubDate>Mon, 13 Apr 2026 08:26:41 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>을지휘소</managingEditor>
    <image>
      <title>Developer Study Blog</title>
      <url>https://t1.daumcdn.net/cfile/tistory/2604CB39543796DA36</url>
      <link>https://androiddev.tistory.com</link>
    </image>
    <item>
      <title>Elasticsearch 재인덱싱 방법과 주의 사항</title>
      <link>https://androiddev.tistory.com/514</link>
      <description>&lt;p data-sourcepos=&quot;3:1-3:124&quot; data-ke-size=&quot;size16&quot;&gt;Elasticsearch에서 재인덱싱은 기존 인덱스의 데이터를 새로운 인덱스로 옮기는 과정입니다. 단순히 데이터를 복사하는 것이 아니라, 데이터를 변환하거나 설정을 변경하여 새로운 인덱스에 맞게 재구성하는 것을 의미합니다.&lt;/p&gt;
&lt;p data-sourcepos=&quot;5:1-5:15&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;재인덱싱 방법과 주의 사항.png&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FtD9P/btsMtuGTUSl/ITBh0JbaIvhaSVQ0HtUIVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FtD9P/btsMtuGTUSl/ITBh0JbaIvhaSVQ0HtUIVk/img.png&quot; data-alt=&quot;reindexing 방법과 주의사항&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FtD9P/btsMtuGTUSl/ITBh0JbaIvhaSVQ0HtUIVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFtD9P%2FbtsMtuGTUSl%2FITBh0JbaIvhaSVQ0HtUIVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;1024&quot; data-filename=&quot;재인덱싱 방법과 주의 사항.png&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;reindexing 방법과 주의사항&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-sourcepos=&quot;5:1-5:15&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-sourcepos=&quot;5:1-5:15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;재인덱싱을 하는 이유&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;7:1-7:24&quot; data-ke-size=&quot;size16&quot;&gt;재인덱싱은 다음과 같은 상황에서 필요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-sourcepos=&quot;9:1-14:0&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sourcepos=&quot;9:1-9:98&quot;&gt;&lt;b&gt;인덱스 설정 변경:&lt;/b&gt; 인덱스 설정(예: 분석기, 매핑)을 변경해야 하는 경우, 기존 인덱스를 수정할 수 없으므로 새로운 인덱스를 생성하고 데이터를 재인덱싱해야 합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;10:1-10:90&quot;&gt;&lt;b&gt;데이터 구조 변경:&lt;/b&gt; 데이터 구조(예: 필드 추가, 삭제, 변경)를 변경해야 하는 경우, 기존 인덱스의 데이터를 새로운 구조에 맞게 재인덱싱해야 합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;11:1-11:105&quot;&gt;&lt;b&gt;Elasticsearch 버전 업그레이드:&lt;/b&gt; Elasticsearch 버전을 업그레이드하는 경우, 기존 인덱스가 새 버전과 호환되지 않을 수 있으므로 데이터를 재인덱싱해야 합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;12:1-12:95&quot;&gt;&lt;b&gt;성능 개선:&lt;/b&gt; 특정 필드에 대한 검색 성능을 개선하기 위해 인덱스 설정을 변경하거나 데이터를 재구성해야 하는 경우, 재인덱싱을 통해 성능을 향상시킬 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;13:1-14:0&quot;&gt;&lt;b&gt;데이터 오류 수정:&lt;/b&gt; 데이터에 오류가 발생한 경우, 오류를 수정하고 데이터를 재인덱싱하여 인덱스의 무결성을 유지할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-sourcepos=&quot;15:1-15:15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;재인덱싱시 주의사항&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;17:1-17:48&quot; data-ke-size=&quot;size16&quot;&gt;재인덱싱은 대량의 데이터를 처리하는 작업이므로 다음과 같은 주의사항을 고려해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate2&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-sourcepos=&quot;19:1-23:0&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sourcepos=&quot;19:1-19:68&quot;&gt;&lt;b&gt;다운타임:&lt;/b&gt; 재인덱싱 과정 동안 서비스가 중단될 수 있으므로, 다운타임을 최소화하기 위한 전략을 수립해야 합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;20:1-20:69&quot;&gt;&lt;b&gt;자원 사용:&lt;/b&gt; 재인덱싱은 많은 CPU, 메모리, 디스크 I/O를 사용하므로, 시스템 자원을 충분히 확보해야 합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;21:1-21:72&quot;&gt;&lt;b&gt;데이터 일관성:&lt;/b&gt; 재인덱싱 과정에서 데이터가 변경될 수 있으므로, 데이터 일관성을 유지하기 위한 방법을 고려해야 합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;22:1-23:0&quot;&gt;&lt;b&gt;테스트:&lt;/b&gt; 재인덱싱 전에 충분한 테스트를 거쳐 오류를 사전에 발견하고 해결해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-sourcepos=&quot;24:1-24:11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;재인덱싱 방법&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;26:1-26:34&quot; data-ke-size=&quot;size16&quot;&gt;Elasticsearch는 다양한 재인덱싱 방법을 제공합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-sourcepos=&quot;28:1-31:0&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sourcepos=&quot;28:1-28:76&quot;&gt;&lt;b&gt;Reindex API:&lt;/b&gt; Elasticsearch에서 제공하는 Reindex API를 사용하여 데이터를 재인덱싱할 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;29:1-29:54&quot;&gt;&lt;b&gt;Logstash:&lt;/b&gt; Logstash를 사용하여 데이터를 변환하고 재인덱싱할 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;30:1-31:0&quot;&gt;&lt;b&gt;Spark:&lt;/b&gt; Spark와 같은 분산 처리 프레임워크를 사용하여 대량의 데이터를 효율적으로 재인덱싱할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-sourcepos=&quot;32:1-32:6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결론&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;34:1-34:184&quot; data-ke-size=&quot;size16&quot;&gt;재인덱싱은 Elasticsearch에서 데이터를 관리하고 활용하는 데 필수적인 과정입니다. 재인덱싱을 통해 인덱스 설정을 변경하거나 데이터를 재구성하여 Elasticsearch의 성능을 향상시키고 데이터의 무결성을 유지할 수 있습니다. 하지만 재인덱싱은 주의사항이 많으므로, 충분한 계획과 테스트를 거쳐 안전하게 진행해야 합니다.&lt;/p&gt;
&lt;div id=&quot;__endic_crx__&quot;&gt;
&lt;div class=&quot;css-diqpy0&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>ElasticSearch/기초</category>
      <category>elasticsearch</category>
      <category>reindex api</category>
      <category>재인덱싱</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/514</guid>
      <comments>https://androiddev.tistory.com/514#entry514comment</comments>
      <pubDate>Sat, 22 Feb 2025 22:30:59 +0900</pubDate>
    </item>
    <item>
      <title>인스턴트 서치(Instant Search)란 무엇인가?</title>
      <link>https://androiddev.tistory.com/513</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;b&gt;인스턴트 서치&lt;/b&gt;&lt;/span&gt;&lt;span&gt;는 사용자가 검색어를 입력하는 즉시 실시간으로 결과를 제공하는 검색 기능을 의미합니다. 검색 과정에서 입력하는 단어에 따라 자동으로 관련 검색 결과가 표시되므로, 사용자 경험을 획기적으로 개선할 수 있습니다. 이는 &lt;/span&gt;&lt;span&gt;&lt;b&gt;검색 속도 단축&lt;/b&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;b&gt;정확한 검색 결과 제공&lt;/b&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;b&gt;사용자의 검색 의도 파악&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 등의 장점이 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Blank Poster Mockup On Minimalist Light Gray Wall.png&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVdFdP/btsMlosyIwJ/fmlJuHT6CMtKKRjJkgcMaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVdFdP/btsMlosyIwJ/fmlJuHT6CMtKKRjJkgcMaK/img.png&quot; data-alt=&quot;인스턴트 서치&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVdFdP/btsMlosyIwJ/fmlJuHT6CMtKKRjJkgcMaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVdFdP%2FbtsMlosyIwJ%2FfmlJuHT6CMtKKRjJkgcMaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;1024&quot; data-filename=&quot;Blank Poster Mockup On Minimalist Light Gray Wall.png&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인스턴트 서치&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;인스턴트 서치의 주요 기능과 장점&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 실시간 검색 결과 제공&lt;/b&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;b&gt;인스턴트 서치&lt;/b&gt;&lt;/span&gt;&lt;span&gt;는 사용자가 검색어를 입력하는 순간 즉각적으로 검색 결과를 표시합니다. 이는 검색 과정에서 불필요한 시간을 줄여주고, 보다 빠르게 원하는 정보를 찾을 수 있도록 돕습니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;2. 검색 자동 완성 기능과의 결합&lt;/b&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;b&gt;자동 완성(Auto Complete)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 기능과 결합되어, 사용자가 원하는 정보를 더 정확하게 입력할 수 있도록 지원합니다. 이 기능은 특히 모바일 기기에서 오타를 줄이고, 검색 정확도를 높이는 데 유용합니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;3. 사용자 검색 의도 분석&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;b&gt;머신 러닝(Machine Learning)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 및 &lt;/span&gt;&lt;span&gt;&lt;b&gt;자연어 처리(NLP, Natural Language Processing)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 기술을 활용하여, 사용자의 검색 의도를 분석합니다. 이를 통해 사용자가 찾고자 하는 정보를 보다 빠르고 정확하게 제공할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;4. 클릭 수 감소 및 사용자 만족도 증가&lt;/b&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;b&gt;인스턴트 서치&lt;/b&gt;&lt;/span&gt;&lt;span&gt;를 활용하면 첫 검색 화면에서 바로 적절한 결과를 확인할 수 있습니다. 이는 사용자의 검색 만족도를 높이고, 검색 프로세스를 단순화하는 효과를 가져옵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;인스턴트 서치.png&quot; data-origin-width=&quot;356&quot; data-origin-height=&quot;414&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/R0S3e/btsMjha5Erx/K5mbbewm00KfZmjPK4SOaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/R0S3e/btsMjha5Erx/K5mbbewm00KfZmjPK4SOaK/img.png&quot; data-alt=&quot;Instatant Search&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/R0S3e/btsMjha5Erx/K5mbbewm00KfZmjPK4SOaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FR0S3e%2FbtsMjha5Erx%2FK5mbbewm00KfZmjPK4SOaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;356&quot; height=&quot;414&quot; data-filename=&quot;인스턴트 서치.png&quot; data-origin-width=&quot;356&quot; data-origin-height=&quot;414&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Instatant Search&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span&gt;&lt;b&gt;인스턴트 서치의 활용 사례&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;1. 구글 인스턴트(Google Instant)&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;과거 구글(Google)은 검색 결과를 실시간으로 제공하는 &lt;/span&gt;&lt;span&gt;&lt;b&gt;구글 인스턴트(Google Instant)&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 기능을 제공하였으나, 2017년 이를 중단하였습니다. 이는 모바일 검색의 비중이 증가하면서, 기존의 실시간 검색 결과 제공 방식이 모바일 환경에서 적합하지 않았기 때문입니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;2. 전자상거래(E-Commerce) 사이트에서의 적용&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;쇼핑몰 및 전자상거래 플랫폼에서도 &lt;/span&gt;&lt;span&gt;&lt;b&gt;인스턴트 서치&lt;/b&gt;&lt;/span&gt;&lt;span&gt; 기능을 적극적으로 활용하고 있습니다. 예를 들어, 사용자가 제품명을 입력할 때 관련 제품을 실시간으로 추천해 주는 기능이 대표적입니다. 이를 통해 검색 시간을 단축하고, 구매 전환율을 높이는 데 기여합니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;&lt;b&gt;3. 뉴스 및 콘텐츠 플랫폼&lt;/b&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;b&gt;인스턴트 서치&lt;/b&gt;&lt;/span&gt;&lt;span&gt;를 도입하여, 사용자가 검색하는 즉시 관련 기사를 추천하는 기능을 제공하고 있습니다. 이는 콘텐츠 소비 패턴을 최적화하는 데 도움을 줍니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>ElasticSearch/최신 기술</category>
      <category>instant search</category>
      <category>검색기술</category>
      <category>인공지능검색</category>
      <category>인스턴스 서치</category>
      <category>인스턴트 서치</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/513</guid>
      <comments>https://androiddev.tistory.com/513#entry513comment</comments>
      <pubDate>Sun, 16 Feb 2025 00:42:04 +0900</pubDate>
    </item>
    <item>
      <title>멀티모달 검색, 검색의 새로운 패러다임</title>
      <link>https://androiddev.tistory.com/512</link>
      <description>&lt;p data-sourcepos=&quot;3:1-3:29&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;텍스트 검색의 한계, 멀티모달 검색이 답이다!&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;5:1-5:170&quot; data-ke-size=&quot;size16&quot;&gt;IT 업계에 종사하는 여러분, 텍스트 기반 검색의 한계를 느껴본 적 있으신가요? 스마트폰의 보급과 함께 이미지, 음성, 영상 등 다양한 형태의 콘텐츠가 폭발적으로 증가하면서 텍스트만으로는 사용자의 요구를 충족시키기 어려워졌습니다. 이러한 문제를 해결하기 위해 등장한 것이 바로 &lt;b&gt;멀티모달 검색&lt;/b&gt;입니다.&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-sourcepos=&quot;7:1-7:19&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-sourcepos=&quot;7:1-7:19&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;멀티모달 검색이란 무엇인가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;9:1-9:146&quot; data-ke-size=&quot;size16&quot;&gt;멀티모달 검색은 텍스트뿐만 아니라 이미지, 음성, 영상 등 다양한 형태의 데이터를 활용하여 검색하는 기술을 의미합니다. 사용자는 원하는 정보를 텍스트, 이미지, 음성 등 다양한 방식으로 입력하고, 시스템은 이를 종합적으로 분석하여 최적의 검색 결과를 제공합니다.&lt;/p&gt;
&lt;p data-sourcepos=&quot;11:1-11:21&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;title.png&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pbDEq/btsMbyXD3B9/rGE7pNuX3TdQHKLAmpXb40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pbDEq/btsMbyXD3B9/rGE7pNuX3TdQHKLAmpXb40/img.png&quot; data-alt=&quot;멀티 모달 검색의 개념과 구성 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pbDEq/btsMbyXD3B9/rGE7pNuX3TdQHKLAmpXb40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpbDEq%2FbtsMbyXD3B9%2FrGE7pNuX3TdQHKLAmpXb40%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;1024&quot; data-filename=&quot;title.png&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;멀티 모달 검색의 개념과 구성 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-sourcepos=&quot;11:1-11:21&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-sourcepos=&quot;11:1-11:21&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;왜 멀티모달 검색이 주목받는가?&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;13:1-13:29&quot; data-ke-size=&quot;size16&quot;&gt;멀티모달 검색은 다음과 같은 장점을 가지고 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-sourcepos=&quot;15:1-18:0&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sourcepos=&quot;15:1-15:64&quot;&gt;&lt;b&gt;사용자 편의성 향상:&lt;/b&gt; 텍스트 입력이 어려운 상황에서도 이미지나 음성으로 간편하게 검색할 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;16:1-16:60&quot;&gt;&lt;b&gt;검색 정확도 향상:&lt;/b&gt; 다양한 형태의 데이터를 종합적으로 분석하여 검색 결과의 정확도를 높입니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;17:1-18:0&quot;&gt;&lt;b&gt;풍부한 검색 결과 제공:&lt;/b&gt; 텍스트 검색으로는 찾기 어려웠던 정보까지 검색하여 사용자에게 더욱 풍부한 정보를 제공합니다.&lt;/li&gt;
&lt;/ul&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-sourcepos=&quot;11:1-11:19&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;멀티모달 검색의 다양한 활용&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;13:1-13:29&quot; data-ke-size=&quot;size16&quot;&gt;멀티모달 검색은 다양한 분야에서 활용될 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-sourcepos=&quot;15:1-19:0&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sourcepos=&quot;15:1-15:63&quot;&gt;&lt;b&gt;쇼핑:&lt;/b&gt; 이미지 검색을 통해 원하는 상품을 찾거나, 음성 검색을 통해 상품 정보를 얻을 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;16:1-16:60&quot;&gt;&lt;b&gt;여행:&lt;/b&gt; 이미지 검색을 통해 여행지를 찾거나, 음성 검색을 통해 여행 정보를 얻을 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;17:1-17:63&quot;&gt;&lt;b&gt;교육:&lt;/b&gt; 이미지 검색을 통해 학습 자료를 찾거나, 음성 검색을 통해 강의 내용을 복습할 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;18:1-19:0&quot;&gt;&lt;b&gt;콘텐츠:&lt;/b&gt; 이미지 검색을 통해 원하는 콘텐츠를 찾거나, 음성 검색을 통해 콘텐츠 내용을 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-sourcepos=&quot;19:1-19:22&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;멀티모달 검색, 어떻게 구성할까?&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;21:1-21:41&quot; data-ke-size=&quot;size16&quot;&gt;멀티모달 검색 시스템은 크게 세 가지 핵심 구성 요소로 이루어져 있습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-sourcepos=&quot;23:1-26:0&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sourcepos=&quot;23:1-23:124&quot;&gt;&lt;b&gt;다중 모달 데이터 처리:&lt;/b&gt; 이미지, 음성, 텍스트 등 다양한 형태의 데이터를 효율적으로 처리하고 분석하는 기술입니다. 각 모달리티의 특징을 추출하고, 이들을 통합하여 의미 있는 정보를 도출하는 것이 중요합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;24:1-24:112&quot;&gt;&lt;b&gt;모달 간 연계 및 통합:&lt;/b&gt; 서로 다른 모달리티 간의 관계를 파악하고, 이를 검색 결과에 반영하는 기술입니다. 예를 들어, 이미지와 텍스트를 함께 분석하여 관련 있는 정보를 찾아내는 것이죠.&lt;/li&gt;
&lt;li data-sourcepos=&quot;25:1-26:0&quot;&gt;&lt;b&gt;사용자 인터페이스:&lt;/b&gt; 다양한 형태의 입력을 지원하고, 검색 결과를 직관적으로 제공하는 인터페이스입니다. 사용자가 텍스트, 이미지, 음성 등 다양한 방식으로 검색어를 입력하고, 원하는 형태의 결과를 얻을 수 있도록 설계해야 합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-sourcepos=&quot;27:1-27:21&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;멀티모달 검색 시스템 구축 단계&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-sourcepos=&quot;29:1-34:0&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sourcepos=&quot;29:1-29:118&quot;&gt;&lt;b&gt;데이터 수집 및 전처리:&lt;/b&gt; 다양한 모달리티의 데이터를 수집하고, 검색 시스템에 적합한 형태로 전처리합니다. 이미지, 음성, 텍스트 데이터를 각각 분석하고, 필요한 경우 데이터를 변환하거나 정제합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;30:1-30:103&quot;&gt;&lt;b&gt;특징 추출 및 표현:&lt;/b&gt; 각 모달리티의 특징을 추출하고, 이를 벡터 형태로 표현합니다. 딥러닝 모델을 활용하여 이미지, 음성, 텍스트 데이터를 효과적으로 표현할 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;31:1-31:106&quot;&gt;&lt;b&gt;모달 간 연계 모델 개발:&lt;/b&gt; 서로 다른 모달리티 간의 관계를 학습하는 모델을 개발합니다. 예를 들어, 이미지와 텍스트를 함께 학습하는 멀티모달 임베딩 모델을 사용할 수 있습니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;32:1-32:105&quot;&gt;&lt;b&gt;검색 시스템 구축:&lt;/b&gt; 추출된 특징과 개발된 모델을 기반으로 검색 시스템을 구축합니다. 사용자의 검색어에 따라 적절한 모달리티의 데이터를 검색하고, 관련 있는 결과를 제공합니다.&lt;/li&gt;
&lt;li data-sourcepos=&quot;33:1-34:0&quot;&gt;&lt;b&gt;사용자 인터페이스 개발:&lt;/b&gt; 사용자가 다양한 방식으로 검색어를 입력하고, 원하는 형태의 결과를 얻을 수 있도록 사용자 인터페이스를 개발합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-sourcepos=&quot;35:1-35:15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;멀티모달 검색의 미래&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;37:1-37:142&quot; data-ke-size=&quot;size16&quot;&gt;멀티모달 검색은 현재 텍스트 검색을 대체하는 수준을 넘어, 인공지능(AI) 기술과 결합하여 더욱 발전할 것으로 예상됩니다. 예를 들어, 사용자가 원하는 정보를 다양한 형태로 표현하면 AI가 이를 종합적으로 이해하고 최적의 검색 결과를 제공하는 방식입니다.&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-sourcepos=&quot;39:1-39:6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결론&lt;/b&gt;&lt;/p&gt;
&lt;p data-sourcepos=&quot;41:1-41:130&quot; data-ke-size=&quot;size16&quot;&gt;멀티모달 검색은 IT 업계의 새로운 트렌드로 자리 잡고 있으며, 앞으로 더욱 다양한 분야에서 활용될 것으로 기대됩니다. IT 업계에 종사하는 분들이라면 멀티모달 검색에 대한 이해를 높여 앞으로 다가올 미래에 대비하는 것이 중요합니다.&lt;/p&gt;</description>
      <category>ElasticSearch/최신 기술</category>
      <category>검색기술</category>
      <category>다중모달데이터</category>
      <category>멀티모달</category>
      <category>멀티모달검색</category>
      <category>음성검색</category>
      <category>이미지검색</category>
      <category>인공지능검색</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/512</guid>
      <comments>https://androiddev.tistory.com/512#entry512comment</comments>
      <pubDate>Sun, 9 Feb 2025 10:06:04 +0900</pubDate>
    </item>
    <item>
      <title>ElasticSearch 엔터프라이즈 주요 기능 소개</title>
      <link>https://androiddev.tistory.com/511</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot;&gt;ElasticSearch는 데이터 중심 비즈니스에서 필수적인 검색 및 분석 도구로 자리잡아가고 있습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot;&gt;ElasticSearch가 &lt;/span&gt;실시간 처리, 다양한 검색 기능, 확장성을 제공하기 때문에, 서비스 가치를 향상시키기 위해 많은 비즈니스에서 사용되고 있습니다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일반적인 데이터베이스와 다르기 때문에, 개발 관점, 운영 관점에서 고려해야할 사항들이 많은데, 앞으로 이런 관점에서 &lt;span style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot;&gt;ElasticSearch에 대해 알아보려고 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;강의 주요 OutLine은 아래와 같습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5kvRT/btsHed3QT0N/MuDPtzlzwnBreK7NjlXlg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5kvRT/btsHed3QT0N/MuDPtzlzwnBreK7NjlXlg0/img.png&quot; data-alt=&quot;엘라스틱서치&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5kvRT/btsHed3QT0N/MuDPtzlzwnBreK7NjlXlg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5kvRT%2FbtsHed3QT0N%2FMuDPtzlzwnBreK7NjlXlg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/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;460&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;460&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;엘라스틱서치&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. ElasticSearch 소개&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ElasticSearch의 정의와 역할&lt;/li&gt;
&lt;li&gt;주요 특징 및 장점&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. ElasticSearch 구성 요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #0d0d0d; text-align: start;&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;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 클러스터 운영&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인덱스 API&lt;/li&gt;
&lt;li&gt;클러스터, 노드, 인덱스, 샤드 인덱스 상태 정보 확인&lt;/li&gt;
&lt;li&gt;지표, 성능 확인&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. ElasticSearch와 ELK 스택&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Elasticsearch, Logstash, Kibana (ELK) 스택 소개&lt;/li&gt;
&lt;li&gt;ELK 스택의 통합된 데이터 분석 솔루션&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 성능 최적화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&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;강의 Outline은 계속 업데이트 될 예정이고, 문의사항은 댓글로 문의해주세요.&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;__endic_crx__&quot;&gt;
&lt;div class=&quot;css-diqpy0&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;__endic_crx__&quot;&gt;
&lt;div class=&quot;css-diqpy0&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>ElasticSearch</category>
      <category>elastic search 검색 성능 최적화</category>
      <category>elasticsearch</category>
      <category>elasticsearch 성능 최적화</category>
      <category>ELK 스택</category>
      <category>엘라스틱서치</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/511</guid>
      <comments>https://androiddev.tistory.com/511#entry511comment</comments>
      <pubDate>Sun, 5 May 2024 23:17:40 +0900</pubDate>
    </item>
    <item>
      <title>엘라스틱서치의 장단점 및 구조</title>
      <link>https://androiddev.tistory.com/510</link>
      <description>&lt;div style=&quot;background-color: #333333;&quot;&gt;
&lt;h4 style=&quot;color: #ffffff; padding: 5px; text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;엘라스틱서치의 장점&lt;/b&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 역색인이 가능한 구조&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 오픈소스 검색 엔진&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;4. Restful API 지원&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;div style=&quot;background-color: #333333;&quot;&gt;
&lt;h4 style=&quot;color: #ffffff; padding: 5px; text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;엘라스틱서치의 단점&lt;/b&gt;&lt;/h4&gt;
&lt;/div&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; &amp;nbsp; - Near Realtime의 준실시간성 특징을 가진다.&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; &amp;nbsp;- 트랜잭션과 롤백을 미제공한다.&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;div style=&quot;background-color: #333333;&quot;&gt;
&lt;h4 style=&quot;color: #ffffff; padding: 5px; text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;엘라스틱서치의 구조&lt;/b&gt;&lt;/h4&gt;
&lt;/div&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&amp;nbsp;&lt;/div&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;d2.png&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;651&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zvcyX/btsDNq7rND5/02kby3BV7VzQukTeVzl6ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zvcyX/btsDNq7rND5/02kby3BV7VzQukTeVzl6ik/img.png&quot; data-alt=&quot;클러스터와 노드, 샤드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zvcyX/btsDNq7rND5/02kby3BV7VzQukTeVzl6ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzvcyX%2FbtsDNq7rND5%2F02kby3BV7VzQukTeVzl6ik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;752&quot; height=&quot;651&quot; data-filename=&quot;d2.png&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;651&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;클러스터와 노드, 샤드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div id=&quot;__endic_crx__&quot;&gt;
&lt;div class=&quot;css-diqpy0&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;__endic_crx__&quot;&gt;
&lt;div class=&quot;css-diqpy0&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;</description>
      <category>엘라스틱서치</category>
      <category>엘라스틱서치 장단점</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/510</guid>
      <comments>https://androiddev.tistory.com/510#entry510comment</comments>
      <pubDate>Tue, 23 Jan 2024 06:12:42 +0900</pubDate>
    </item>
    <item>
      <title>카프카 서버 설치 및 테스트 방법 안내</title>
      <link>https://androiddev.tistory.com/509</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;카프카 설치/설정과 테스트를 아래의 방법으로 진행한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;1. 설치 방법&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;주키퍼 다운로드&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;주키퍼 설정 변경&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;카프카 다운로드&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;카프카 설정 변경&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;2. 테스트 방법&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;주키퍼 실행&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;카프카(브로커) 실행&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;토픽 생성&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;컨슈머 실행&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;프로듀서 실행&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;p0.png&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;649&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpFuzp/btqZ1IT1gw7/8HjorDad6YDPmur1GxV6kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpFuzp/btqZ1IT1gw7/8HjorDad6YDPmur1GxV6kK/img.png&quot; data-alt=&quot;카프카 서버 설치 및 테스트 방법 안내&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpFuzp/btqZ1IT1gw7/8HjorDad6YDPmur1GxV6kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpFuzp%2FbtqZ1IT1gw7%2F8HjorDad6YDPmur1GxV6kK%2Fimg.png&quot; data-filename=&quot;p0.png&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;649&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;카프카 서버 설치 및 테스트 방법 안내&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1. 설치 방법&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1) 주키퍼 다운로드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;주키퍼는 아래 주소에서 다운로드할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a href=&quot;https://zookeeper.apache.org/releases.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;주키퍼 다운로드 URL&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;p2.png&quot; data-origin-width=&quot;934&quot; data-origin-height=&quot;381&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LG7BN/btqZ7KXk9Ep/TrKy3KuZhcWba09OMpGSMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LG7BN/btqZ7KXk9Ep/TrKy3KuZhcWba09OMpGSMk/img.png&quot; data-alt=&quot;주키퍼 다운로드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LG7BN/btqZ7KXk9Ep/TrKy3KuZhcWba09OMpGSMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLG7BN%2FbtqZ7KXk9Ep%2FTrKy3KuZhcWba09OMpGSMk%2Fimg.png&quot; data-filename=&quot;p2.png&quot; data-origin-width=&quot;934&quot; data-origin-height=&quot;381&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;주키퍼 다운로드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;다운로드 받은 파일의 압축을 풀고&amp;nbsp;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;data 폴더를 생성해준다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2) 주키퍼 설정 변경&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;설정 파일 변경 - conf 폴더 밑의 zoo_sample.cfg 파일을 zoo.cfg로 변경&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;설정 변경 - zoo.cfg 파일의 dataDir 값을 data로 변경&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3) 카프카 다운로드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;카프카는 아래 주소에서 다운로드할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate2&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;a href=&quot;https://kafka.apache.org/downloads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;카프카 다운로드 URL&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;p3.png&quot; data-origin-width=&quot;646&quot; data-origin-height=&quot;388&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ltney/btqZ7LIHVVo/ddqWdeDl0MaN97FT0yBtNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ltney/btqZ7LIHVVo/ddqWdeDl0MaN97FT0yBtNK/img.png&quot; data-alt=&quot;카프카 다운로드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ltney/btqZ7LIHVVo/ddqWdeDl0MaN97FT0yBtNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fltney%2FbtqZ7LIHVVo%2FddqWdeDl0MaN97FT0yBtNK%2Fimg.png&quot; data-filename=&quot;p3.png&quot; data-origin-width=&quot;646&quot; data-origin-height=&quot;388&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;카프카 다운로드&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;다운로드 받은 후 압축을 해제한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;※ 참고로 &lt;span style=&quot;color: #333333;&quot;&gt;윈도우의 경우 bin 디렉토리 밑에 windows라는 폴더 밑에 실행파일이 있다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;4) 카프카 설정 변경&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config 폴더의 server.properties 를 아래와 같이 수정한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.dirs=D:\\3000.Util\\server\\kafka_2.12-2.7.0\\logs&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2. 카프카 테스트 방법&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;1) 주키퍼 실행&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp; &amp;nbsp;주키퍼 폴더에서 zkServer.cmd 파일을 실행한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;2) 카프카 실행&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;명령프롬프트에서 아래와 같이 실행한다. 폴더 위치는 자신에 맞게 수정한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;cd D:\3000.Util\server\kafka_2.12-2.7.0\bin\windows&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;kafka-server-start.bat ..\..\config\server.properties&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;3)&amp;nbsp;토픽 생성&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;아래 명령어로 토픽을 생성한다. topic1이 사용할 토픽명으로 자신에 맞게 수정한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;cd D:\3000.Util\server\kafka_2.12-2.7.0\bin\windows&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;※ replication-factor&amp;nbsp; : 복제할 수&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;※ 토픽 목록 조회 : &lt;/span&gt;kafka-topics.bat --list --zookeeper localhost:2181&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;4) 컨슈머 실행&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic topic1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&lt;b&gt;5) 프로듀서 실행&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;kafka-console-producer.bat --broker-list localhost:9092 --topic topic1&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;프로듀서 &amp;gt;에 생산할 메세지를 등록&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;p7.png&quot; data-origin-width=&quot;962&quot; data-origin-height=&quot;433&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzPCRu/btqZ1Jysvzi/8DfoKRP4WhuYW4oAUklObK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzPCRu/btqZ1Jysvzi/8DfoKRP4WhuYW4oAUklObK/img.png&quot; data-alt=&quot;카프카 프로듀서 컨슈머 테스트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzPCRu/btqZ1Jysvzi/8DfoKRP4WhuYW4oAUklObK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzPCRu%2FbtqZ1Jysvzi%2F8DfoKRP4WhuYW4oAUklObK%2Fimg.png&quot; data-filename=&quot;p7.png&quot; data-origin-width=&quot;962&quot; data-origin-height=&quot;433&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;카프카 프로듀서 컨슈머 테스트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/509</guid>
      <comments>https://androiddev.tistory.com/509#entry509comment</comments>
      <pubDate>Sun, 14 Mar 2021 18:05:02 +0900</pubDate>
    </item>
    <item>
      <title>원격데스크탑에서 화상회의 진행 방법</title>
      <link>https://androiddev.tistory.com/508</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;업무 PC가 사무실에 켜져 있는데, 업무 PC로만 화상회의가 가능하다면?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;집에 있는 PC로 사무실 PC로 원격데스크탑으로 들어가서 화상회의를 한다면 내가 하는 말이 상대방에게 전달이 되고, 상대방이 하는 소리가 나에게 들릴까?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;f1.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;880&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kWIQa/btqXZHo064C/ZgfkSiM8QrCgh1UQ5xyJd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kWIQa/btqXZHo064C/ZgfkSiM8QrCgh1UQ5xyJd1/img.png&quot; data-alt=&quot;원격데스크탑에서 화상회의 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kWIQa/btqXZHo064C/ZgfkSiM8QrCgh1UQ5xyJd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkWIQa%2FbtqXZHo064C%2FZgfkSiM8QrCgh1UQ5xyJd1%2Fimg.png&quot; data-filename=&quot;f1.png&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;880&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원격데스크탑에서 화상회의 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;

&lt;div class=&quot;txc-textbox&quot; style=&quot;border: 2px dashed #003399; padding: 10px; background-color: #ffffff;&quot;&gt;&lt;span style=&quot;color: #003399;&quot;&gt;&lt;span style=&quot;font-size: 19px; line-height: 28px;&quot;&gt;&lt;b&gt;&lt;i&gt;순서&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p style=&quot;line-height: 1.8;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;i&gt;1. 집에 있는 PC로 사무실의 PC로 원격 데스크탑 실행&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 1.8;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp;- 실행시 특정 옵션을 추가하여 원격 데스크탑을 실행&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 1.8;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;line-height: 1.8;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;i&gt;2. 원격 데스크탑에서 화상회의 프로그램을 실행&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 1.8;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;line-height: 1.8;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;i&gt;3. 집에 있는 PC에 마이크와 이어폰을 연결하여 화상회의 진행&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;

&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;이런 방법이 있는줄 모르기 때문에 사용을 못했던 것이지, 실행 방법은 상당히 심플하다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;원격데스크탑 연결시에 로컬 리소스의 원격 오디오 설정을 변경하면 된다. 원격 오디오 재생과 원격 오디오 녹음을 이컴퓨터에서 재생, 이 컴퓨터에서 녹음을 각각 선택하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;f2.png&quot; data-origin-width=&quot;457&quot; data-origin-height=&quot;370&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3x0mW/btqX0qggwzc/nGkI8mKx4DCcFY3PMHkvK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3x0mW/btqX0qggwzc/nGkI8mKx4DCcFY3PMHkvK1/img.png&quot; data-alt=&quot;원격데스크탑 오디오 전달&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3x0mW/btqX0qggwzc/nGkI8mKx4DCcFY3PMHkvK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3x0mW%2FbtqX0qggwzc%2FnGkI8mKx4DCcFY3PMHkvK1%2Fimg.png&quot; data-filename=&quot;f2.png&quot; data-origin-width=&quot;457&quot; data-origin-height=&quot;370&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원격데스크탑 오디오 전달&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;f3.png&quot; data-origin-width=&quot;468&quot; data-origin-height=&quot;374&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNOMkR/btqX33kuslA/bo4jXfGsTHpwiWqDPy8ex1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNOMkR/btqX33kuslA/bo4jXfGsTHpwiWqDPy8ex1/img.png&quot; data-alt=&quot;원격 PC 소리 전달&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNOMkR/btqX33kuslA/bo4jXfGsTHpwiWqDPy8ex1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNOMkR%2FbtqX33kuslA%2Fbo4jXfGsTHpwiWqDPy8ex1%2Fimg.png&quot; data-filename=&quot;f3.png&quot; data-origin-width=&quot;468&quot; data-origin-height=&quot;374&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원격 PC 소리 전달&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;위의 방법으로 진행하면 원격에 있는 컴퓨터로 음악 재생도 가능하다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/508</guid>
      <comments>https://androiddev.tistory.com/508#entry508comment</comments>
      <pubDate>Sun, 21 Feb 2021 00:11:23 +0900</pubDate>
    </item>
    <item>
      <title>원격데스크탑 모니터 2대 사용 방법</title>
      <link>https://androiddev.tistory.com/507</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;코로나로 인해 재택근무를 많이들 하고 있는데, 회사와 같은 근무 환경을 만드는 것이 쉽지는 않다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;가장 먼저 걸리는 문제가 노트북 세팅문제인데, 회사의 다중 모니터 환경을 집에서 구성하기가 만만치 않다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;b1.png&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;876&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OwHT3/btqWdaeugCC/9j0zJcKBJ4J3jMWyCDAW0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OwHT3/btqWdaeugCC/9j0zJcKBJ4J3jMWyCDAW0K/img.png&quot; data-alt=&quot;원격데스크탑 모니터 2대 사용 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OwHT3/btqWdaeugCC/9j0zJcKBJ4J3jMWyCDAW0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOwHT3%2FbtqWdaeugCC%2F9j0zJcKBJ4J3jMWyCDAW0K%2Fimg.png&quot; data-filename=&quot;b1.png&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;876&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원격데스크탑 모니터 2대 사용 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;노트북이 회사에 있는 경우와 집에 가지고 있는 경우에 따라 구성방법이 달라지게 되는데, 이번 포스팅에서 서 자세히 알아보자.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: #333333;&quot;&gt;
&lt;h4 style=&quot;color: #ffffff; padding: 5px; text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;노트북이 회사에 있는 경우&lt;/b&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;집의 PC와 모니터 케이블 연결을 굳이 변경하지 않아도 되어 귀찮음도 덜하고, 책상에 회사 노트북을 올려 놓지 않아도 되어 노트북을 올려 놓을 공간이 굳이 필요하지 않다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다만 회사에서 다중 모니터를 사용하였다면, 원격으로 접속시 다중모니터를 사용하기 위해 설정이 필요하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;※ 집에서도 모니터가 2개 이상 있어야 한다. 회사 모니터 2개, 집 모니터 2개 이상 있는 케이스에 적합하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #333333;&quot;&gt;
&lt;h4 style=&quot;color: #ffffff; padding: 5px; text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;원격데스크탑 모니터 2대 사용 방법&lt;/b&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;원격 데스크탑에 연결 후 아래와 같이 설정을 변경한다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate2&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 옵션 표시를 선택하고, 디스플레이 탭으로 이동한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&quot;모든 모니터를 원격 세션에 사용&quot;에 표시를 하고 연결을 실행하면 다중 모니터를 사용할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;b2.png&quot; data-origin-width=&quot;471&quot; data-origin-height=&quot;283&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tSw1m/btqV2WuADuw/kuKLYodMrvAdoioBjCKKRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tSw1m/btqV2WuADuw/kuKLYodMrvAdoioBjCKKRK/img.png&quot; data-alt=&quot;원격데스크탑 다중 모니터 사용 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tSw1m/btqV2WuADuw/kuKLYodMrvAdoioBjCKKRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtSw1m%2FbtqV2WuADuw%2FkuKLYodMrvAdoioBjCKKRK%2Fimg.png&quot; data-filename=&quot;b2.png&quot; data-origin-width=&quot;471&quot; data-origin-height=&quot;283&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원격데스크탑 다중 모니터 사용 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;b4.png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;392&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cq2Tmv/btqV0DP5JCQ/hxUAKNGiuqfLyc6KnVOwGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cq2Tmv/btqV0DP5JCQ/hxUAKNGiuqfLyc6KnVOwGk/img.png&quot; data-alt=&quot;원격데스크탑 멀티 모니터 사용 방법&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cq2Tmv/btqV0DP5JCQ/hxUAKNGiuqfLyc6KnVOwGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcq2Tmv%2FbtqV0DP5JCQ%2FhxUAKNGiuqfLyc6KnVOwGk%2Fimg.png&quot; data-filename=&quot;b4.png&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;392&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원격데스크탑 멀티 모니터 사용 방법&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;background-color: #333333;&quot;&gt;
&lt;h4 style=&quot;color: #ffffff; padding: 5px; text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;노트북이 집에 있는 경우&lt;/b&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;별도의 모니터 없이 노트북 화면 1개만 사용해도 된다면 별다른 설정은 필요 없이 사용하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;업무상 1개 화면으로는 어려워서 추가 모니터 연결이 필요하다면 집에서 사용하던 모니터와 노트북을 케이블로 연결하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그런데 이렇게 연결을 해두었는데, 집의 PC를 갑자기 사용하게 될 경우 모니터 케이블 변경이 필요하게 된다. 모니터 케이블을 노트북에서 집 PC로 연결을 해주어야 하는데, 이를 계속 반복하는 것은 상당히 불편한 일이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;집의 모니터 1개에 회사 노트북도 연결하고, 집의 PC도 동시에 연결하는 방법이 있는데, 자세한 내용은 아래 포스팅을 참고하기 바란다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://financialtax.tistory.com/478&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;모니터 1대에 PC 2대 연결하기&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/507</guid>
      <comments>https://androiddev.tistory.com/507#entry507comment</comments>
      <pubDate>Sun, 7 Feb 2021 00:11:11 +0900</pubDate>
    </item>
    <item>
      <title>카프카 특징 정리</title>
      <link>https://androiddev.tistory.com/506</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;t1.png&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;649&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CQbfC/btqU94afHTm/Ivazdknd7qwh5oacrUNmz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CQbfC/btqU94afHTm/Ivazdknd7qwh5oacrUNmz0/img.png&quot; data-alt=&quot;카프카 특징&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CQbfC/btqU94afHTm/Ivazdknd7qwh5oacrUNmz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCQbfC%2FbtqU94afHTm%2FIvazdknd7qwh5oacrUNmz0%2Fimg.png&quot; data-filename=&quot;t1.png&quot; data-origin-width=&quot;817&quot; data-origin-height=&quot;649&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;카프카 특징&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;카프카는 크게 메세지를 생성하는 Producer와 메세지를 보관하는 카프카 클러스터, 메세지를 사용하는 Consumer로 구성된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;k2.png&quot; data-origin-width=&quot;921&quot; data-origin-height=&quot;227&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r7dVt/btqVdeiEq9R/cCJfU8xrPmTfknqLXGIlDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r7dVt/btqVdeiEq9R/cCJfU8xrPmTfknqLXGIlDK/img.png&quot; data-alt=&quot;카프카 구성도&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r7dVt/btqVdeiEq9R/cCJfU8xrPmTfknqLXGIlDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr7dVt%2FbtqVdeiEq9R%2FcCJfU8xrPmTfknqLXGIlDK%2Fimg.png&quot; data-filename=&quot;k2.png&quot; data-origin-width=&quot;921&quot; data-origin-height=&quot;227&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;카프카 구성도&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;카프카&amp;nbsp;클러스터는&amp;nbsp;여러&amp;nbsp;개의&amp;nbsp;브로커를&amp;nbsp;가질&amp;nbsp;수&amp;nbsp;있다.&amp;nbsp; &lt;br /&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
브로커는&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; &lt;br /&gt;Topic은&amp;nbsp;여러&amp;nbsp;개의&amp;nbsp;파티션으로&amp;nbsp;구성된다.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;메세지는&amp;nbsp;파티션의&amp;nbsp;파일에&amp;nbsp;Append로&amp;nbsp;저장이&amp;nbsp;되고,&amp;nbsp;각&amp;nbsp;메세지는&amp;nbsp;&amp;nbsp;offset으로&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;토픽&amp;nbsp;수준에서의&amp;nbsp;순서&amp;nbsp;보장은&amp;nbsp;하지&amp;nbsp;않는다.&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;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/506</guid>
      <comments>https://androiddev.tistory.com/506#entry506comment</comments>
      <pubDate>Sun, 31 Jan 2021 01:28:07 +0900</pubDate>
    </item>
    <item>
      <title>태블릿 와이파이가 수시로 끊길 때 대응 방법</title>
      <link>https://androiddev.tistory.com/505</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;와이파이 전용 모델의 태블릿을 사용 중인데, 수시로 와이파이가 안되는 현상이 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;공유기를 IPTime을 사용하고 있는데, 스마트폰의 와이파이는 정상적으로 되는 것으로 보면 공유기의 문제가 있는 것은 아닌것으로 보였다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;z1.png&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;880&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vPcbq/btqS1VTzvmI/BM8aebNIK9Ppua9fhoo3Xk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vPcbq/btqS1VTzvmI/BM8aebNIK9Ppua9fhoo3Xk/img.png&quot; data-alt=&quot;태블릿 와이파이 끊길 때&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vPcbq/btqS1VTzvmI/BM8aebNIK9Ppua9fhoo3Xk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvPcbq%2FbtqS1VTzvmI%2FBM8aebNIK9Ppua9fhoo3Xk%2Fimg.png&quot; data-filename=&quot;z1.png&quot; data-origin-width=&quot;1100&quot; data-origin-height=&quot;880&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;태블릿 와이파이 끊길 때&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;background-color: #333333;&quot;&gt;
&lt;h4 style=&quot;color: #ffffff; padding: 5px; text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;태블릿 와이파이 안되는 증상&lt;/b&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;태블릿을 전원이 켜진 상태에서 사용하지 않다가 태블릿의 잠금을 풀고 인터넷을 사용하면 인터넷이 계속 로딩중으로 나오거나 인터넷 연결 안됨으로 표시된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;수차례하다 보면 다시 인터넷이 연결되긴 하지만 인터넷 연결까지 수 초 ~ 수 분을 대기해야한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;해결 방법은 아래 내용에서 확인해보자.&amp;nbsp;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;

&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #333333;&quot;&gt;
&lt;h4 style=&quot;color: #ffffff; padding: 5px; text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;해결 방법&lt;/b&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;절전모드와 관계되어 있었다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;태블릿의 설정 메뉴로 이동하여 절전모드 중에도 인터넷을 사용할 수 있도록 설정을 변경한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설정 메뉴에서 네트워그 및 인터넷 메뉴로 들어가서 Wifi 메뉴를 선택한다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Screenshot_20210109-182951.png&quot; data-origin-width=&quot;2560&quot; data-origin-height=&quot;1600&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cItwmK/btqSX71ehWk/gLq28SkZG976sxZJ3r1ok0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cItwmK/btqSX71ehWk/gLq28SkZG976sxZJ3r1ok0/img.png&quot; data-alt=&quot;태블릿 wifi 안될 때&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cItwmK/btqSX71ehWk/gLq28SkZG976sxZJ3r1ok0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcItwmK%2FbtqSX71ehWk%2FgLq28SkZG976sxZJ3r1ok0%2Fimg.png&quot; data-filename=&quot;Screenshot_20210109-182951.png&quot; data-origin-width=&quot;2560&quot; data-origin-height=&quot;1600&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;태블릿 wifi 안될 때&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Screenshot_20210109-182959.png&quot; data-origin-width=&quot;2560&quot; data-origin-height=&quot;1600&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdJBmn/btqSX8skyXJ/3MZs6DbasxO3U7UFpEAWrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdJBmn/btqSX8skyXJ/3MZs6DbasxO3U7UFpEAWrk/img.png&quot; data-alt=&quot;태블릿 와이파이 로딩 중&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdJBmn/btqSX8skyXJ/3MZs6DbasxO3U7UFpEAWrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdJBmn%2FbtqSX8skyXJ%2F3MZs6DbasxO3U7UFpEAWrk%2Fimg.png&quot; data-filename=&quot;Screenshot_20210109-182959.png&quot; data-origin-width=&quot;2560&quot; data-origin-height=&quot;1600&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;태블릿 와이파이 로딩 중&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설정 중에 절전 모드 동안 Wi-Fi 연결 유지 항목이 있는데, 항상 유지하도록 설정을 변경한다.&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;Screenshot_20210109-182923.png&quot; data-origin-width=&quot;2548&quot; data-origin-height=&quot;1002&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lrZpl/btqSX6866IA/pA0tkpYFb88oJZarifSooK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lrZpl/btqSX6866IA/pA0tkpYFb88oJZarifSooK/img.png&quot; data-alt=&quot;태블릿 wifi 끊김&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lrZpl/btqSX6866IA/pA0tkpYFb88oJZarifSooK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlrZpl%2FbtqSX6866IA%2FpA0tkpYFb88oJZarifSooK%2Fimg.png&quot; data-filename=&quot;Screenshot_20210109-182923.png&quot; data-origin-width=&quot;2548&quot; data-origin-height=&quot;1002&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;태블릿 wifi 끊김&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 방법으로 진행하면 태블릿을 껐다 켜도 와이파이가 연결이 되어 있어 바로 인터넷 사용이 가능하다.&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/505</guid>
      <comments>https://androiddev.tistory.com/505#entry505comment</comments>
      <pubDate>Sun, 10 Jan 2021 10:35:28 +0900</pubDate>
    </item>
    <item>
      <title>MongoDB 샤딩 개요</title>
      <link>https://androiddev.tistory.com/503</link>
      <description>&lt;h2&gt;샤딩 사용 목적&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;처리해야할 데이터가 많은 경우 하나의 ReplicaSet만으로는 성능 개선이 되지 않을 경우 데이터를 서버에 분산 저장 하여 성능 개선 목적으로 사용함&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;l1.png&quot; data-origin-width=&quot;788&quot; data-origin-height=&quot;620&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mbbqr/btqSpHgaqdD/VeyivgYTck0yApGL45kA31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mbbqr/btqSpHgaqdD/VeyivgYTck0yApGL45kA31/img.png&quot; data-alt=&quot;MongoDB 샤딩 개요&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mbbqr/btqSpHgaqdD/VeyivgYTck0yApGL45kA31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmbbqr%2FbtqSpHgaqdD%2FVeyivgYTck0yApGL45kA31%2Fimg.png&quot; data-filename=&quot;l1.png&quot; data-origin-width=&quot;788&quot; data-origin-height=&quot;620&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;MongoDB 샤딩 개요&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;샤딩 구성 요소&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;샤딩을 구성하기 위해서는 크게 3가지 요소가 필요하다. Config 서버, Mongos, Mongod가 있어야 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;전체 구조는 아래와 같이 구성된다고 보면 된다.&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;l2.png&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;728&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfIeMo/btqSdua9Q7o/ikSHOYowgIm0vTmCW78SA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfIeMo/btqSdua9Q7o/ikSHOYowgIm0vTmCW78SA1/img.png&quot; data-alt=&quot;샤딩 구성 요소&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfIeMo/btqSdua9Q7o/ikSHOYowgIm0vTmCW78SA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfIeMo%2FbtqSdua9Q7o%2FikSHOYowgIm0vTmCW78SA1%2Fimg.png&quot; data-filename=&quot;l2.png&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;728&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;샤딩 구성 요소&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. Config 서버&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;- 샤딩 설정이 있는 서버. 어떤 Mongod 서버에 질의하면 되는지에 대한 정보를 가지고 있다. 3대의 ReplicaSet으로 구성 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. Mongos&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;- Config 서버와 Mongod 사이에서 라우팅 역할을 한다. 어플리케이션으로 부터 요청을 받아 해당하는 Mongod로 질의한다.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. Mongod&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;- 실제 데이터가 저장되는 서버. &lt;span style=&quot;color: #333333;&quot;&gt;Shard 서버라고도 불린다.&lt;span&gt; &lt;/span&gt;&lt;/span&gt;replicaset으로 구성이 필요하다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>DB</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/503</guid>
      <comments>https://androiddev.tistory.com/503#entry503comment</comments>
      <pubDate>Sun, 3 Jan 2021 00:23:57 +0900</pubDate>
    </item>
    <item>
      <title>PriorityQueue  예제</title>
      <link>https://androiddev.tistory.com/502</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;PriorityQueue는 요소 들 중에 우선순위가 높은 요소를 꺼내 주는 기능을 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;우선순위는 생성자에서 지정할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;t1.png&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;847&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bj2UyF/btqRI9dM5qc/V9zXZnC6ofRvExrGqlKut0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bj2UyF/btqRI9dM5qc/V9zXZnC6ofRvExrGqlKut0/img.png&quot; data-alt=&quot;PriorityQueue 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bj2UyF/btqRI9dM5qc/V9zXZnC6ofRvExrGqlKut0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj2UyF%2FbtqRI9dM5qc%2FV9zXZnC6ofRvExrGqlKut0%2Fimg.png&quot; data-filename=&quot;t1.png&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;847&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;PriorityQueue 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&lt;span&gt;우선 순위가 낮은 순 - PriorityQueue&amp;lt;&amp;gt;();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;우선 순위가 높은 순 - PriorityQueue&amp;lt;&amp;gt;(Collections.reverseOrder());&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;public static void main(String[] args) {&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Queue queue = new PriorityQueue();&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;queue.offer(&quot;z&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;queue.offer(&quot;a&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;queue.offer(&quot;c&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;queue.offer(&quot;g&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;queue.offer(&quot;q&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;queue.offer(&quot;q&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;queue.offer(&quot;b&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;System.out.println(queue);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;//출력 결과 : [a, g, b, z, q, q, c] a가 맨 앞으로 왔고, 뒤의 요소들은 동일하지 않다. 중복을 허용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Object temp = null;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;while ((temp = queue.poll())!=null) {&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(temp);&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;t2.png&quot; data-origin-width=&quot;227&quot; data-origin-height=&quot;143&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccPOSl/btqRwbD3j1r/ujrJMOd8SlyawjlNRxRJwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccPOSl/btqRwbD3j1r/ujrJMOd8SlyawjlNRxRJwk/img.png&quot; data-alt=&quot;출력 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccPOSl/btqRwbD3j1r/ujrJMOd8SlyawjlNRxRJwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccPOSl%2FbtqRwbD3j1r%2FujrJMOd8SlyawjlNRxRJwk%2Fimg.png&quot; data-filename=&quot;t2.png&quot; data-origin-width=&quot;227&quot; data-origin-height=&quot;143&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출력 결과&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/502</guid>
      <comments>https://androiddev.tistory.com/502#entry502comment</comments>
      <pubDate>Mon, 28 Dec 2020 22:25:53 +0900</pubDate>
    </item>
    <item>
      <title>네이버 billboard.js 차트 라이브러리 샘플 및 무료 사용 가능 여부</title>
      <link>https://androiddev.tistory.com/501</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;a0.png&quot; data-origin-width=&quot;1349&quot; data-origin-height=&quot;904&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6rBRz/btqO8Xn9AuU/cLNYINIFD4aLizBEKKc9pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6rBRz/btqO8Xn9AuU/cLNYINIFD4aLizBEKKc9pk/img.png&quot; data-alt=&quot;MIT 차트 라이브러리&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6rBRz/btqO8Xn9AuU/cLNYINIFD4aLizBEKKc9pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6rBRz%2FbtqO8Xn9AuU%2FcLNYINIFD4aLizBEKKc9pk%2Fimg.png&quot; data-filename=&quot;a0.png&quot; data-origin-width=&quot;1349&quot; data-origin-height=&quot;904&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;MIT 차트 라이브러리&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2&gt;무료 사용 가능 여부&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;네이버 차트 라이브러리인 billboard.js는 오픈소스에서 사용이 많이 되는 라이르러리인 &lt;span style=&quot;color: #333333;&quot;&gt;MIT 라이센스이다.&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;라이센스.png&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;108&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpXKGx/btqPdTMizVH/YoEeHru7iRY8JVksT0DRl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpXKGx/btqPdTMizVH/YoEeHru7iRY8JVksT0DRl1/img.png&quot; data-alt=&quot;차트 라이브러리&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpXKGx/btqPdTMizVH/YoEeHru7iRY8JVksT0DRl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpXKGx%2FbtqPdTMizVH%2FYoEeHru7iRY8JVksT0DRl1%2Fimg.png&quot; data-filename=&quot;라이센스.png&quot; data-origin-width=&quot;285&quot; data-origin-height=&quot;108&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;차트 라이브러리&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;MIT 라이센스를 모르는 경우는 아래 사이트를 참고하기 바란다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;복제, 배포, 수정 허용 여부 및 배포시 소스코드 제공의무와 범위에 대해 자세히 나와 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://www.olis.or.kr/license/Detailselect.do?lId=1006&amp;amp;mapCode=010006&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.olis.or.kr/license/Detailselect.do?lId=1006&amp;amp;mapCode=010006&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 내용을 참고해서 사용하려는 목적 범위에서 사용이 가능한지 판단이 필요하다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;샘플 코드&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;막대 그래프를 그릴수 있는 샘플은 크게 스크립트, css링크 부분과 그래프를 그리는 function을 정의하는 부분, 그래프를 표시하는 영역의 선언 부분으로 나눌 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리 어렵지 않은 소스이니 쉽게 테스트가 가능하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;$(function(){}) 안에 function 내용을 작성해야지 오류 없이 테스트가 가능하다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1607182583834&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;script src=&quot;/js/jquery-1.12.3.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&quot;https://d3js.org/d3.v5.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&quot;/js/billboard.pkgd.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;/css/billboard.css&quot;&amp;gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;/css/theme/insight.min.css&quot;&amp;gt;


&amp;lt;script&amp;gt;

$(function(){
var chart = bb.generate({
	  data: {
	    columns: [
		[&quot;data1&quot;, 30, 200, 100, 400, 150, 250],
		[&quot;data2&quot;, 130, 100, 140, 200, 150, 50]
	    ],
	    type: &quot;bar&quot;, // for ESM specify as: bar()
	  },
	  bar: {
	    width: {
	      ratio: 0.5
	    }
	  },
	  bindto: &quot;#barChart&quot;
	});

	setTimeout(function() {
		chart.load({
			columns: [
				[&quot;data3&quot;, 130, -150, 200, 300, -200, 100]
			]
		});
	}, 1000);
	
})
&amp;lt;/script&amp;gt;

&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;div id=&quot;barChart&quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;a2.png&quot; data-origin-width=&quot;1901&quot; data-origin-height=&quot;325&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mXlB9/btqPfR71xRN/6pAOkTmgH5Nd8OR37jgyV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mXlB9/btqPfR71xRN/6pAOkTmgH5Nd8OR37jgyV0/img.png&quot; data-alt=&quot;차트 샘플&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mXlB9/btqPfR71xRN/6pAOkTmgH5Nd8OR37jgyV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmXlB9%2FbtqPfR71xRN%2F6pAOkTmgH5Nd8OR37jgyV0%2Fimg.png&quot; data-filename=&quot;a2.png&quot; data-origin-width=&quot;1901&quot; data-origin-height=&quot;325&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;차트 샘플&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위에 설명한 내용 말고 더 자세한 내용은 아래 사이트에서 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;div id=&quot;adbeforelocate2&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://naver.github.io/billboard.js/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;naver.github.io/billboard.js/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/501</guid>
      <comments>https://androiddev.tistory.com/501#entry501comment</comments>
      <pubDate>Sun, 6 Dec 2020 00:50:12 +0900</pubDate>
    </item>
    <item>
      <title>ModuleNotFoundError: No module named 'corsheaders'</title>
      <link>https://androiddev.tistory.com/500</link>
      <description>&lt;p&gt;기존에 만들었던 프로그램이 자바 기반으로 되어 있다 보니, 파이썬과 연동하기 위해 django로 웹서버를 구축했다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;웹서버의 기능만으로는 django에서 충분히 가능했지만, 타도메인간의 통신을 위해 CORS를 적용하기 위해 약 1일 간 문제를 해결하기가 쉽지 않았다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;b2.png&quot; data-origin-width=&quot;456&quot; data-origin-height=&quot;187&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csQwfQ/btqEv78s3Ye/aDF95LTl5IBm6tzpqvdVj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csQwfQ/btqEv78s3Ye/aDF95LTl5IBm6tzpqvdVj0/img.png&quot; data-alt=&quot;corsheaders&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csQwfQ/btqEv78s3Ye/aDF95LTl5IBm6tzpqvdVj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsQwfQ%2FbtqEv78s3Ye%2FaDF95LTl5IBm6tzpqvdVj0%2Fimg.png&quot; data-filename=&quot;b2.png&quot; data-origin-width=&quot;456&quot; data-origin-height=&quot;187&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;corsheaders&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;pip intall &lt;span&gt;django&lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;cors&lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;headers를 한 후에 django를 기동하면 아래와 같이 오류가 났다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&amp;nbsp;ModuleNotFoundError: No module named 'corsheaders'&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;구글링시에 비슷한 케이스가 아닌 답변만 많다 보니 솔루션 찾기가 더 힘들었다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;기존 방법)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;1. 파이참에서&amp;nbsp; &lt;span style=&quot;color: #333333;&quot;&gt;django&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;cors&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;headers를 추가한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;b1.png&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;379&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lApYJ/btqEwgD6Io5/tKozEYWLhtpIAz23VFRTSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lApYJ/btqEwgD6Io5/tKozEYWLhtpIAz23VFRTSK/img.png&quot; data-alt=&quot;django cors&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lApYJ/btqEwgD6Io5/tKozEYWLhtpIAz23VFRTSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlApYJ%2FbtqEwgD6Io5%2FtKozEYWLhtpIAz23VFRTSK%2Fimg.png&quot; data-filename=&quot;b1.png&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;379&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;django cors&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. django 웹서버를 기동한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;해결 방법)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1. 기존에 파이참으로 설치한 &lt;span style=&quot;color: #333333;&quot;&gt;django&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;cors&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;headers를 삭제한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. 명령프롬프트에서 pip3 명령어를 이용해 직접 install 명령을 수행한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1590882669864&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;D:\&amp;gt;pip3 install django-cors-headers&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3. django 웹서버를 기동한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;오류 업시 정상적으로 수행되는 것을 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;추정되는 원인으로는 글로벌 환경변수와 관련되어 있는 것으로 생각된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/500</guid>
      <comments>https://androiddev.tistory.com/500#entry500comment</comments>
      <pubDate>Sun, 31 May 2020 08:55:13 +0900</pubDate>
    </item>
    <item>
      <title>django get parameter 얻기</title>
      <link>https://androiddev.tistory.com/499</link>
      <description>&lt;p&gt;django에서 get parameter 얻는 방법을 알아보자.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1590309570225&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Create your views here.
from django.shortcuts import render
from django.http import HttpResponse
from blogop.com.util.LogUtil import CreateLogger
# Create your views here.
def index(request):
    logger = CreateLogger(&quot;log_test&quot;)
    logger.debug(&quot;################&quot;)
    logger.debug(&quot;################&quot;)
    #http://localhost:8000/?name=aa&amp;amp;keyword=keyword3
    name = request.GET.get(&quot;name&quot;)
    keyword = request.GET.get(&quot;keyword&quot;)
    return HttpResponse(keyword)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위의 내용과 같이 &lt;span&gt;http://localhost:8000/?name=aa&amp;amp;keyword=keyword3 와 같이 호출을 할 경우&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;request.GET.get(&lt;span&gt;&quot;name&quot;&lt;/span&gt;)으로 파라미터를 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/499</guid>
      <comments>https://androiddev.tistory.com/499#entry499comment</comments>
      <pubDate>Sun, 24 May 2020 17:40:59 +0900</pubDate>
    </item>
    <item>
      <title>JAVA JEP 연동 방법</title>
      <link>https://androiddev.tistory.com/498</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;파이썬이 설치된 PC에서 아래와 같은 순서로 진행하여 JAVA와 JEP를 연동할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. JEP Jar 다운로드&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아래 사이트에서 JEP 소스를 다운로드 받는다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://github.com/ninia/jep&quot;&gt;https://github.com/ninia/jep&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. &lt;span&gt;python setup.py build 명령어 실행&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;다운로드 받은 위치로 이동하여 명령프롬프트에서 위의 명령어를 실행한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;3. JEP Jar Eclipse Import&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;build\java에 생성된 jep-3.9.0.jar를 Eclipse에 Import 한다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;a5.png&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;182&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boTerA/btqD2wHhHzA/6MTHdHnMzUJqfCQDiokBEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boTerA/btqD2wHhHzA/6MTHdHnMzUJqfCQDiokBEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boTerA/btqD2wHhHzA/6MTHdHnMzUJqfCQDiokBEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboTerA%2FbtqD2wHhHzA%2F6MTHdHnMzUJqfCQDiokBEK%2Fimg.png&quot; data-filename=&quot;a5.png&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;182&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;4. JAVA에서 JEP 호출하여 테스트&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt; Jep jep = new Jep(false,&quot;D:\\phyon\\venv\\Scripts&quot;); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;jep.eval(&quot;Test = 'Hello'&quot;); &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;System.out.println(jep.getValue(&quot;Test&quot;));&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/498</guid>
      <comments>https://androiddev.tistory.com/498#entry498comment</comments>
      <pubDate>Sun, 10 May 2020 19:25:19 +0900</pubDate>
    </item>
    <item>
      <title>java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 오류 발생 해결 방법</title>
      <link>https://androiddev.tistory.com/497</link>
      <description>&lt;p&gt;톰캣에서 Spring을 적용할 때 아래와 같은 오류가 발생하는 경우가 있다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter&lt;/p&gt;
&lt;p&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; at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:546)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:527)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.ApplicationFilterConfig.&amp;lt;init&amp;gt;(ApplicationFilterConfig.java:108)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4546)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5191)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1125)&lt;/p&gt;
&lt;p&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; at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1859)&lt;/p&gt;
&lt;p&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; at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)&lt;/p&gt;
&lt;p&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; at java.util.concurrent.FutureTask.run(FutureTask.java:266)&lt;/p&gt;
&lt;p&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; at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)&lt;/p&gt;
&lt;p&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; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)&lt;/p&gt;
&lt;p&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; at java.lang.Thread.run(Thread.java:748)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;large_title_123&quot; style=&quot;border: 1px solid #ffffff; margin-top: 1px; padding: 11px 8px; line-height: 1.2; background-color: #0052a4;&quot;&gt;&lt;span style=&quot;color: #ffffff; font-size: 14pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;해결 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;제일 먼저 해본 방법은 위의 &lt;span style=&quot;color: #333333;&quot;&gt;CharacterEncodingFilter 클래스를 포함한 jar가 빠졌는지 확인했었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;확인해본 결과 포함이 되어 있어서 어떤 문제인지 확인하는데, 시간이 많이 소요되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;아래 방법으로 해서 해결할 수 있었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;pom.xml에 아래 내용을 추가한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;properties&amp;gt;&lt;/p&gt;
&lt;p&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;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt;&lt;/p&gt;
&lt;p&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;lt;project.reporting.outputEncoding&amp;gt;UTF-8&amp;lt;/project.reporting.outputEncoding&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/properties&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그 뒤에 톰캣을 재기동 했더니, 정상적으로 서비스가 수행되었다.&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/497</guid>
      <comments>https://androiddev.tistory.com/497#entry497comment</comments>
      <pubDate>Sun, 15 Mar 2020 12:08:42 +0900</pubDate>
    </item>
    <item>
      <title>자바 Enum 사용 이유 및 사용 방법</title>
      <link>https://androiddev.tistory.com/496</link>
      <description>&lt;h2&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Enum을 왜 사용해야 하는가?&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;br /&gt;final&amp;nbsp;static&amp;nbsp;final&amp;nbsp;상수&amp;nbsp;형태로&amp;nbsp;사용을&amp;nbsp;하게&amp;nbsp;되면&amp;nbsp;일부&amp;nbsp;타입에서&amp;nbsp;컴파일시&amp;nbsp;레퍼런스&amp;nbsp;형태가&amp;nbsp;아니라&amp;nbsp;value로&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; &lt;br /&gt;재컴파일&amp;nbsp;하지&amp;nbsp;않을&amp;nbsp;경우&amp;nbsp;기존&amp;nbsp;값을&amp;nbsp;그대로&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있다.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Enum을 어떻게 사용해야 하는가?&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;아래와 같은 틀을 기본적으로 사용하면 된다.&amp;nbsp;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;c1.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CwHI3/btqByFlXHDi/1I1CUbBbKSGlj7NdYdDi6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CwHI3/btqByFlXHDi/1I1CUbBbKSGlj7NdYdDi6k/img.png&quot; data-alt=&quot;자바 Enum 사용 방벙&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CwHI3/btqByFlXHDi/1I1CUbBbKSGlj7NdYdDi6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCwHI3%2FbtqByFlXHDi%2F1I1CUbBbKSGlj7NdYdDi6k%2Fimg.png&quot; data-filename=&quot;c1.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;280&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;자바 Enum 사용 방벙&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;brush: sql&quot;&gt;&lt;code&gt;public enum BlogEnum {
	
	EXIST_CODE(&quot;EXIST&quot;), NOT_EXIST_CODE(&quot;NOT_EXIST&quot;);
	
	private String existCode;
	
	BlogEnum(String existCode){
		this.existCode = existCode;
	}
	
	public String getExistCode(){
		return existCode;
	}
}&lt;/code&gt;&lt;/pre&gt;
.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>Java</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/496</guid>
      <comments>https://androiddev.tistory.com/496#entry496comment</comments>
      <pubDate>Tue, 28 Jan 2020 12:49:37 +0900</pubDate>
    </item>
    <item>
      <title>APM 버전 확인 방법</title>
      <link>https://androiddev.tistory.com/495</link>
      <description>&lt;p style=&quot;font-size: 1.12em;&quot;&gt;&lt;span&gt;&lt;span&gt;1. apache 버전 확인 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;httpd -v&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.12em;&quot;&gt;&lt;span&gt;2. php 버전 확인 :&amp;nbsp;&lt;/span&gt;&lt;span&gt;php -v&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.12em;&quot;&gt;&lt;span&gt;3. mysql 버전 확인 :&amp;nbsp;&lt;/span&gt;&lt;span&gt;mysql --version&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;font-size: 1.12em;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;b1.png&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfipK6/btquShFDpPc/D4cdUJK8KCkFolMQ65vEw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfipK6/btquShFDpPc/D4cdUJK8KCkFolMQ65vEw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfipK6/btquShFDpPc/D4cdUJK8KCkFolMQ65vEw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfipK6%2FbtquShFDpPc%2FD4cdUJK8KCkFolMQ65vEw0%2Fimg.png&quot; data-filename=&quot;b1.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;font-size: 1.12em;&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/495</guid>
      <comments>https://androiddev.tistory.com/495#entry495comment</comments>
      <pubDate>Sun, 28 Apr 2019 09:27:45 +0900</pubDate>
    </item>
    <item>
      <title>젠킨스 빌드 배포</title>
      <link>https://androiddev.tistory.com/494</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;빌드를 자동화해야 하는 이유&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;- 반복 작업의 최소화&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;- 빌드를 하는데도 시간이 꽤 걸리기 때문에 시간 단축을 위해 필요.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Git과 젠킨스의 관계&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;- 소스 코드 관리를&amp;nbsp; Git을 선택하고 Repository URL을 선택&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;- Git 특정 브랜치만 빌드 후 Deploy&lt;/span&gt;&lt;/p&gt;</description>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/494</guid>
      <comments>https://androiddev.tistory.com/494#entry494comment</comments>
      <pubDate>Tue, 9 Oct 2018 18:55:16 +0900</pubDate>
    </item>
    <item>
      <title>크롬 ajax loading image(Ajax loader image is not showing up in chrome)</title>
      <link>https://androiddev.tistory.com/493</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;$ajax 를 사용해서 프로그래밍을 하곤 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;최근들어 ajax로 서버 데이터를 호출하는 부분이 간혹 느려졌는데, 로딩 이미지가 없다보니&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;사용자가 응답이 없는 것으로 생각할 수도 있겠단 생각이 들었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;서버로 POST 방식으로 호출하는 부분은 로딩 이미지가 되어 있었는데, $ajax로 호출하는 부분은 그런 내용이 없다보니, 생겼던 문제였다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 204px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A400405A76E0F316&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A400405A76E0F316&quot; width=&quot;300&quot; height=&quot;204&quot; alt=&quot;크롬 ajax loading image&quot; filename=&quot;p1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 204px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;$ajax 앞에 로딩 이미지를 보여주는 것을 추가하고, $ajax 완료 후에 로딩 이미지를 숨기는 코딩을 추가했었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그런데 explorer에서는 정상적으로 작동하던 것이 크롬에서는 ajax 호출이&amp;nbsp; 끝난&amp;nbsp; 다음에 로딩 이미지가 나왔다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;		&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;$.ajax({&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url: &quot;url&quot;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: &quot;POST&quot;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;submitType:&quot;&quot;,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;},&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; contentType: &quot;application/x-www-form-urlencoded;charset=EUC-KR&quot;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: &quot;json&quot;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; success: function (data) {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; beforeSend:function(){&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;document.all.waitBox.style.display = &quot;block&quot;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; complete:function(){&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;document.all.waitBox.style.display = &quot;none&quot;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;error: function(error){&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;		&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;alert(error);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; });&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;한참 테스트를 하다가 아래와 같이 했을 때 익스플로러와 같이 정상적으로 호출이 되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;		&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;$.ajax({&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; url: &quot;url&quot;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type: &quot;POST&quot;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;async: true,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data: {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;submitType:&quot;&quot;,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;},&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; contentType: &quot;application/x-www-form-urlencoded;charset=EUC-KR&quot;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dataType: &quot;json&quot;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; success: function (data) {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; beforeSend:function(){&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;document.all.waitBox.style.display = &quot;block&quot;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; complete:function(){&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;document.all.waitBox.style.display = &quot;none&quot;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;error: function(error){&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;		&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;alert(error);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre; font-size: 11pt;&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; });&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 하면 크롬에서도 로딩 이미지를 정상적으로 보이게 할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/493</guid>
      <comments>https://androiddev.tistory.com/493#entry493comment</comments>
      <pubDate>Sun, 4 Feb 2018 19:33:24 +0900</pubDate>
    </item>
    <item>
      <title>아웃룩 서명이 첨부파일로 들어가는 문제 해결 방법(outlook 서명 깨질 때)</title>
      <link>https://androiddev.tistory.com/492</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;업무를 볼 때 아웃룩으로 메일을 주로 확인하고 있다.&amp;nbsp; 아웃룩의 장점이야 이 포스트를 보는 사람이라면 모르는 사람이 없을 것이니 굳이 설명하지 않아도 될 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;아웃룩을 사용할 때의 장점 중 하나가 서명을 자동으로 넣는 기능&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이다. 서명 기능을 사용하지 않는다면 메일마다 내가 누구인지에 대해 노가다 작업이 필요하게 된다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 222px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B1124F5A40F84833&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B1124F5A40F84833&quot; width=&quot;300&quot; height=&quot;222&quot; alt=&quot;아웃룩 서명 첨부 파일&quot; filename=&quot;b1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 222px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 서명 기능을 사용해서 아웃룩을 잘 사용하고 있었는데, 최근에 갑자기 아웃룩으로 메일을 보낼 때 서명이 첨부파일로 들어가버리고, 아웃룩 메일의 내용이 디자인도 맞지 않고, 폰트도 맞지 않는 문제가 발생을 했다. 일명 아웃룩 메일이 깨지는 현상이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;구글로 검색을 해도, 네이버로 검색을 해도 아웃룩 서명으로 검색하면 찾고자 하는 답을 찾기가 어려웠다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;어찌어찌 해서 해결을 하게 되었는데, 이번 포스트에서는 아웃룩 서명이 첨부파일로 들어가는 문제를 해결하는 방법에 대해 정리하고자 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;아웃룩 서명 깨지는 문제 해결 방법&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;우선 아웃룩에서 메일이 서식있는 텍스트로 보내져지고 있는지, html 형식으로 메일이 발송되고 있는지를 먼저 확인해야 한다. 아웃룩 설정 중에 있으므로, 그 내용을 먼저 확인 후 수정해봐야 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그래도 같은 증상이 발생한다면 레지스트리를 편집해야 한다. 다만 레지스트리 변경은 위험이 따를 수 있으므로, 주의해야 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 354px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9938DE465A40F8580C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9938DE465A40F8580C&quot; width=&quot;354&quot; height=&quot;198&quot; alt=&quot;아웃룩 서명 깨지는 문제&quot; filename=&quot;b2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;레지스트리 편집기를 열어서 아래 주소로 이동한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;컴퓨터\HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;u&gt;참고로 레지스트리를 변경하면 문제가 발생할 수도 있으므로, 꼭 백업을 받고 진행해야 한다.&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위의 위치로 이동한 후에 새로만들기 &lt;b&gt;DWORD&lt;/b&gt;를 클릭한다. &lt;b&gt;DisableTNEF &lt;/b&gt;를 만들고 값을 &lt;b&gt;1&lt;/b&gt;로 입력한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;레지스트리를 저장한 후에 컴퓨터를 재시작한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 294px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99247A455A40F8640E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99247A455A40F8640E&quot; width=&quot;294&quot; height=&quot;205&quot; alt=&quot;outlook 서명 깨지는 문제&quot; filename=&quot;b3.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;재시작하고 아웃룩에서 메일을 보내면 서명이 정상적으로 만들어져서 메일이 발송될 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;참고로 아웃룩2007이라면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Preferences&lt;/b&gt; 로 이동하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 하면 아웃룩 서명이 깨지는 문제를 해결할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/492</guid>
      <comments>https://androiddev.tistory.com/492#entry492comment</comments>
      <pubDate>Mon, 25 Dec 2017 22:17:10 +0900</pubDate>
    </item>
    <item>
      <title>L2 스위치, L3 스위치, L4 스위치, 백본</title>
      <link>https://androiddev.tistory.com/491</link>
      <description>&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;/p&gt;&lt;h2&gt;스위치 종류&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;font-weight: 400; margin-right: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;L2 스위치&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;font-weight: 400; margin-right: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;- 하나의 네트워크일 때 사용하고,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;허브라고 보면 된다.&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; font-weight: 400; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;- 하나의 네트워크 내에서 특정 PC에서 다른 PC로 데이터를 보낼 때 MAC 주소로 찾아서 보낸다.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; font-weight: 400; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; font-weight: 400; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;; font-size: 11pt;&quot;&gt;L3 스위치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; font-weight: 400; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;; font-size: 11pt;&quot;&gt;- 복수의 네트워크 일 때, 라우터 기능이 있음.&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; font-weight: 400; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;- IP 정보를 확인해서 요청하는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;단말로&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;전달.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 206px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99C838335A23DC9D06&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99C838335A23DC9D06&quot; width=&quot;300&quot; height=&quot;206&quot; alt=&quot;L2 L3 L4 스위치&quot; filename=&quot;d1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 206px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;;&quot;&gt;L4 스위치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;;&quot;&gt;- 로드밸런싱 기능을 가지고 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;- IP와 PORT를 보고, 요청을 해당 서버로 전달.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;- 로드밸런싱은 들어오는 IP를 확인해서&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;, 보통 홀, 짝으로 구분해서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;분배하는 기능이다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;; font-size: 11pt;&quot;&gt;- 여기서 L 뒤에 붙는 숫자는 OSI 7계층의 숫자를 의미한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;;&quot;&gt;메트로 스위치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;;&quot;&gt;- 통신사에서 주는 것으로 라우터 역할을 한다.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;백본&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;MS Sans Serif&amp;quot;; font-size: 11pt;&quot;&gt;-&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;MS Sans Serif&amp;quot;; font-size: 11pt;&quot;&gt;인터넷이 들어와서 다른 건물로 또는 다른 층으로 넘겨 주는 곳을 의미한다.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;- 라우터 밑에 허브를 두어서 모든 컴퓨터를 연결이 가능하나 허브&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;는 성능이 별로여서 성능이 좋은 스위치를 사용하게 되었고, 이를 백본이라고 한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;- B.B. 라고도 한다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;/p&gt;&lt;h2&gt;스위치와 라우터의 차이&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 11pt; color: black; font-family: &amp;quot;MS Sans Serif&amp;quot;;&quot;&gt;스위치 : 하나의 네트워크 상에서 네트워크를 찾을 때&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;라우터 : 여러 네트워크에서 찾을 때.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/491</guid>
      <comments>https://androiddev.tistory.com/491#entry491comment</comments>
      <pubDate>Sun, 3 Dec 2017 20:20:32 +0900</pubDate>
    </item>
    <item>
      <title>이클립스 인터페이스 Implementation 구현 지점으로 이동하는 단축키 만드는 방법</title>
      <link>https://androiddev.tistory.com/490</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;나름 이클립스 단축키를 잘 활용한다고 생각을 했었었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그러다가 최근에 인터페이스를 많이 구현해 놓은 프로젝트를 하게 되면서 기존 Open Declaration인 단축키로는 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;소스 이동을 할 수가 없었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그래서 확인하다보니 Implementation을 하기 위해서는 별도의 방법이 필요했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 207px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9964903359EC410F0D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9964903359EC410F0D&quot; width=&quot;300&quot; height=&quot;207&quot; alt=&quot;이클립스 인터페이스 단축키&quot; filename=&quot;t1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 207px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스트에서는 이클립스에서 Implementation을 여는 단축키를 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;이클립스 Implementation 바로가기 단축키&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 148px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9950353359EC412703&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9950353359EC412703&quot; width=&quot;148&quot; height=&quot;73&quot; alt=&quot;Open Implementation&quot; filename=&quot;t2.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이클립스 환경설정에 가면 General에 Keys 메뉴가 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 화면&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;에서 Open Implementation을 검색한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 95px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9922DC3359EC412706&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9922DC3359EC412706&quot; width=&quot;600&quot; height=&quot;95&quot; alt=&quot;이클립스 단축키&quot; filename=&quot;t3.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 95px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;검색되어 나온 결과에서 Binding에서 자신이 원하는 단축키를 설정하면 된다. &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 394px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9947043359EC41272C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9947043359EC41272C&quot; width=&quot;600&quot; height=&quot;394&quot; alt=&quot;eclipse Implementation 단축키&quot; filename=&quot;t4.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 394px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 방법을 몰랐을 때는 구현체를 찾는데에 상당히 불편했다. 특히 스프링에서는 Implementation을 권장하다보니 소스의 이해가 상당히 떨어졌다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 방법으로 업무 이해도를 높일 수 있었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>ETC/Eclipse</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/490</guid>
      <comments>https://androiddev.tistory.com/490#entry490comment</comments>
      <pubDate>Fri, 27 Oct 2017 01:00:00 +0900</pubDate>
    </item>
    <item>
      <title>본인확인 전자서명(signing)하는 방법</title>
      <link>https://androiddev.tistory.com/489</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;전자서명이라는 말을 들어봤을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;특히 전산 관련일을 하다 보면 자주 듣게 되는데, 전자서명과 암호화에 대한 얘기가 종종 나온다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;처음 용어를 접하는 사람들이 전자서명을 암호화라고 생각하는 경우가 종종있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;전자서명은 암호화와는 다르다. 암호화란 데이터 내용을 볼 수 없도록 다른 내용으로 변경하는 것이나 전자서명은 내용은 수정하지 않고, 서명값을 생성해서 첨부하는 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 206px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9935AE3359EAB27901&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9935AE3359EAB27901&quot; width=&quot;300&quot; height=&quot;206&quot; alt=&quot;전자서명 목적 및 원리&quot; filename=&quot;a1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 206px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;전자서명의 목적&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;전자서명은 본인확인 및 컨텐츠의 위변조 방지를 위해 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;전자서명의 원리&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;송신자는 컨텐츠를 해쉬하고, 해쉬한 결과를 자신의 개인키로 암호화한다. 그리고 그 결과를 컨텐츠에 첨부한다. 그리고 그 파일을 수신자에게 전달한다. 수신자는 해당파일의 컨텐츠를 해쉬하고, 이 해쉬값과 첨부되어 있는&amp;nbsp;송신자가 자신의 개인키로 암호화한 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;해쉬결과를 송신자의 공개키로 암호화한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 두개의 해쉬값을 비교하여 위변조 여부를 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>개인정보 보호법</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/489</guid>
      <comments>https://androiddev.tistory.com/489#entry489comment</comments>
      <pubDate>Sat, 21 Oct 2017 11:38:43 +0900</pubDate>
    </item>
    <item>
      <title>크로스 사이트 요청 위조 예제</title>
      <link>https://androiddev.tistory.com/488</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;크로스 사이트 요청 위조를 하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;자신이 운영하는 사이트가 크로스 사이트 요청 위조가 가능한지 여부를 판단하기 위해서 알아야 할 때 아래 내용을 참고하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;얼마전에 사이트 웹취약점 검사를 해봤더니 크로스 사이트 요청 위조가 가능하다는 진단을 받았다. Referer 위조가 가능하다고 나와서 어떻게 위조가 가능하다는 것인지에 대해 알아야 했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 204px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998F643359D1F4CF06&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998F643359D1F4CF06&quot; width=&quot;300&quot; height=&quot;204&quot; filename=&quot;a1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 204px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;몇 시간을 검색을 하다가 결국 비슷한 내용을 찾아 크로스 사이트 요청 위조를 하는 내용을 만들어 봤다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;아래에 보면 알겠지만, 소스가 길지 않으므로 이해하기 어렵지 않을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;h2&gt;크로스 사이트 요청 위조 예제&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class=&quot;brush: sql&quot;&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
 
public class Test {
      public static void main(String[] args) throws ClientProtocolException, IOException {
            Test test = new Test();
            test.action();
      }
 
      private static final String USER_AGENT = &quot;Mozila/5.0&quot;;
      private static final String GET_URL = &quot;http://aaa.com/CheckTest.jsp&quot;;
 
      public static void action() throws ClientProtocolException, IOException {
            CloseableHttpClient httpClient = HttpClients.createDefault();
            HttpGet httpGet = new HttpGet(GET_URL);
            httpGet.addHeader(&quot;User-Agent&quot;, USER_AGENT);
            httpGet.addHeader(&quot;REFERER&quot;, &quot;http://naver.com&quot;);
 
            CloseableHttpResponse httpResponse = httpClient.execute(httpGet);
 
            System.out.println(httpResponse.getStatusLine().getStatusCode());
 
            BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));
 
            String inputLine;
            StringBuffer response = new StringBuffer();
 
            while ((inputLine = reader.readLine()) != null) {
                  response.append(inputLine);
            }
 
            reader.close();
 
            System.out.println(&quot;결과: &quot; +response.toString());
            httpClient.close();
      }
}&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위의 코드는 aaa.com을 호출하면서 referer를 naver.com으로 하는 예제이다. CheckTest.jsp 화면에서는 입력을 받아 referer를 로깅하는 역할을 하는데, 위의 코드를 실행하게 되면 해당 페이지를 호출한 화면에서 referer가 naver.com으로 되어 있는 것을 알 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 방법으로 웨취약점을 확인할 수 있었고, 이 내용을 참고해서 보안을 강화할 수 있었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/488</guid>
      <comments>https://androiddev.tistory.com/488#entry488comment</comments>
      <pubDate>Mon, 2 Oct 2017 17:15:05 +0900</pubDate>
    </item>
    <item>
      <title>안드로이드 스튜디오와 이클립스 플러그인의 비교(어플 개발시 방법)</title>
      <link>https://androiddev.tistory.com/487</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;기존에는 안드로이드 어플을 개발할 때 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;이클립스에서 플러그인을 추가하여 개발을 했었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;2012년도까지도 이런 방식으로 개발을 했었었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;그러다가 최근에 기존에 만들었던 어플을 수정하려고 하다 보니 문제가 발생을 했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;네이버 맵을 사용해야 하는데, 기존에 jar로 제공했던 라이브러리가 이제는 aar로 제공이 되는 것이었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;aar은 이클립스 플러그인에서 사용할 수 있는 방법이 없었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 222px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/990D203359C66C6D35&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F990D203359C66C6D35&quot; width=&quot;300&quot; height=&quot;222&quot; alt=&quot;안드로이드 스튜디오와 이클립스 플러그인&quot; filename=&quot;a2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 222px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이런 문제로 인해 안드로이드 스튜디오를 설치해 사용할 수 밖에 없었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이클립스에서는 굳이 빌드 시스템을 사용할 필요가 없었는데, 안드로이드 스튜디오에서는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;gradle을 사용해야한다. 그리고 안드로이드 스튜디오에서는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;GUI 레이아웃 편집기 기능이 강화되었고, 구글 클라우드 플랫폼도 지원한다. 다만 이클립스에 비해 무거운 단점이 있다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 445px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99585B3359C66C7F08&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99585B3359C66C7F08&quot; width=&quot;600&quot; height=&quot;445&quot; alt=&quot;aar jar 변환&quot; filename=&quot;a33.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 445px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;최근 출시되는&amp;nbsp;스마트폰을 지원하기 위해서는 이클립스 플러그인을 통해 개발할 수가 없다. 안드로이드 스튜디오를 통해 개발해야 하므로, 안드로이드 스튜디오에 대한 학습을 할 수 밖에 없다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Android/lecture</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/487</guid>
      <comments>https://androiddev.tistory.com/487#entry487comment</comments>
      <pubDate>Wed, 27 Sep 2017 00:30:00 +0900</pubDate>
    </item>
    <item>
      <title>크로스 사이트 요청 위조</title>
      <link>https://androiddev.tistory.com/486</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;주로 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;메일로&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;URL&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;을 보내고&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;URL&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;을 실행했을 때&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;특정 내용을&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;하도록 하는 기법이다&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;URL에&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;사용자 아이디가 있을 경우 그 사용자가 로그인 했을 때 패스워드도 변경할 수 있게 된&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;다&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;사용자가 그&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp; URL&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;을 클릭하게 되면 패스워드가 변경이 되고&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이 것을 악용하면 관리자 아이디와 패스워드도 빼낼 수 있&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;다&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이것을 방지하려고&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;HTML&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;의&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;referer&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;를 이용해 접근을 제한할 수 있다&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;허용된&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;Referer&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;인 경우에만 수정을 할 수 있게 하는 것이다&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그런데&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp; R&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;eferer라는 것이&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;위조하는게 어려운 것이 아니&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;다&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 226px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993D123359C665C325&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993D123359C665C325&quot; width=&quot;300&quot; height=&quot;226&quot; filename=&quot;l1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 226px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그래서 이런 경우에&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;회용&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;nonce&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;등을 사용하라고 하는데&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;이 1회용 nonce가 뭔지는&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;잘 모르겠다&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/486</guid>
      <comments>https://androiddev.tistory.com/486#entry486comment</comments>
      <pubDate>Sat, 23 Sep 2017 22:56:48 +0900</pubDate>
    </item>
    <item>
      <title>암호 알고리즘 종류 및 정책 수립기준 정리</title>
      <link>https://androiddev.tistory.com/485</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;한국인터넷진흥원에서 개인정보 저장을 위해 필요한 암호기술을 알려주는 암호기술 구현 안내서를 발간했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 208px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998BF233598D9CE705&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998BF233598D9CE705&quot; width=&quot;300&quot; height=&quot;208&quot; alt=&quot;암호 알고리즘 종류&quot; filename=&quot;d1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 208px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위의 사이트에 들어가면 안전한 암호기술에 대한 설명뿐만이 아니라 암호정책 수립기준 등 암호화에 대한 다양한 정보를 얻을 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;SEED, HIGHT, ARIA, LEA 등의 다양한 암호화 알고리즘에 대한 정보도 얻을 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 449px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99924733598D9CF632&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99924733598D9CF632&quot; width=&quot;600&quot; height=&quot;449&quot; alt=&quot;암호 알고리즘 정리&quot; filename=&quot;d4.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 449px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;아래 사이트로 이동하면 위의 다양한 정보를 얻을 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://seed.kisa.or.kr/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;font-size: 11pt;&quot;&gt;암호화 정보 얻는 사이트&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;http://seed.kisa.or.kr/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;바로가기&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>개인정보 보호법</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/485</guid>
      <comments>https://androiddev.tistory.com/485#entry485comment</comments>
      <pubDate>Wed, 16 Aug 2017 01:00:00 +0900</pubDate>
    </item>
    <item>
      <title>오라클 TDE 암호화 절차</title>
      <link>https://androiddev.tistory.com/484</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;오라클 TDE를 사용해 테이블스페이스를 암호화해서 사용하고 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;컬럼 암화화를 하지 않고, 테이블스페이스 암호화와 접근제어를 사용해서 암호화를 구성했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;여태까지는 그런가보다 하고 넘어가고 했었는데, 이번에 TDE의 암호화 절차에 대해 한번 알아보았다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 203px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B25D33598D2CAF33&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B25D33598D2CAF33&quot; width=&quot;300&quot; height=&quot;203&quot; alt=&quot;오라클 TDE 테이블스페이스&quot; filename=&quot;c1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 203px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;/p&gt;&lt;h2&gt;ORACLE TDE 암호화 절차&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;오라클 TDE&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;는 테이블스페이스를 암호화 하고 싶을 때 월릿이라는 것을 만들고, &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;비밀번호를 생성한다&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그리고 오라클 기동시, &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;해당 테이블스페이스를 오라클 엔진이 읽어 들일 때&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;이 월릿을 찾고, &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;비밀번호를 확인하여 테이블스페이스의 암호화를 해제하게 된다&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;복호화를 할 때 월릿과 비밀번호를 알아야 하고, 이 둘이 유출시에 문제가 발생할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;이런 이유로 월릿을 다른 물리적 서버에 저장해 놓는 경우도 많다&lt;/span&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;.&lt;/span&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;다른 물리적 서버에 월릿을 저장하지 못하는 경우는 암호화된 테이블스페이스 파일과 월릿과 비밀번호가 유출이 되면&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;해커가 암호화된 테이블스페이스를 복호화해서 사용할 수 있으므로, 주의해서 관리해야 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>DB/Oracle</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/484</guid>
      <comments>https://androiddev.tistory.com/484#entry484comment</comments>
      <pubDate>Mon, 14 Aug 2017 01:30:00 +0900</pubDate>
    </item>
    <item>
      <title>html select box 값 가져오기</title>
      <link>https://androiddev.tistory.com/483</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;html을 사용하다 보면 약간 헷갈리는 부분이 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 208px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B22D33598D27071F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B22D33598D27071F&quot; width=&quot;300&quot; height=&quot;208&quot; alt=&quot;html select box&quot; filename=&quot;b1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 208px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;select box에 있는 선택된 영역의 텍스트만 가져오는 부분이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;아래와 같이 작성하면 선택된 콤보박스의 텍스트만 가져올 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;eform.comboChk.options[&lt;/span&gt;&lt;wbr style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;eform.comboChk.selectedIndex].&lt;/span&gt;&lt;wbr style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;text&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;html lang=&quot;ko&quot;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=euc-kr&quot;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot; /&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;script language=&quot;JavaScript&quot;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;!--&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;function test(){&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var eform = document.forms[0];&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(eform.comboChk.value);&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;alert(eform.comboChk.options[&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;eform.comboChk.selectedIndex].&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(255, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;text);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;}&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;//--&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;form name=&quot;eForm&quot; method=&quot;post&quot;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;select name=&quot;comboChk&quot; id=&quot;comboChk&quot;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value=&quot;1&quot; selected&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;하루&lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value=&quot;2&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이틀&lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value=&quot;3&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;날이 갈수록&lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value=&quot;4&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이미&lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value=&quot;5&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;나에게로&lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value=&quot;6&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;포도&lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value=&quot;7&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;푸하&lt;/span&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp; &amp;lt;/select&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;lt;a href=&quot;javascript:test();&quot;&amp;gt;&amp;lt;&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;span&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;확인&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;실행하면 아래처럼 결과가 나온다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 290px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9906BF33598D27190E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9906BF33598D27190E&quot; width=&quot;290&quot; height=&quot;239&quot; alt=&quot;셀렉트 박스&quot; filename=&quot;b2.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/483</guid>
      <comments>https://androiddev.tistory.com/483#entry483comment</comments>
      <pubDate>Fri, 11 Aug 2017 12:42:17 +0900</pubDate>
    </item>
    <item>
      <title>putty 백업 및 복구 방법</title>
      <link>https://androiddev.tistory.com/482</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;전산을 담당하는 사람치고, PUTTY를 모르는 사람은 없을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;무료로 사용가능하고, 사용함에 불편이 없다보니 대부분의 전산 담당자들이 PUTTY를 사용하는 것 같다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 PUTTY를 사용하게 되면 서버 정보를 저장해놓게 되는데, 그 정보들이 특정 폴더에 저장되는 것이 아니다 보니 백업 받는 것이 쉽지는 않다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;처음에는 백업을 받을 수 없다고 생각해서 세션 정보를 백업 받지 못하고, 하나하나 재등록 하기도 했었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스트에서는 PUTTY 세션 정보를 백업 받는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 203px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99152D33598C459B2F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99152D33598C459B2F&quot; width=&quot;300&quot; height=&quot;203&quot; alt=&quot;putty 백업&quot; filename=&quot;a1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 203px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;PUTTY 백업 방법&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;우선 레지스트리 편집기를 실행시킨다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;어디에 있는지 모르겠다면 윈도우 실행창에서 regedit라고 입력한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;레지스트리 편집기를 실행한 후에 아래 위치로 이동한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 11pt;&quot;&gt;HKEY_CURRENT_USER\Software\&lt;/span&gt;&lt;wbr style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 11pt;&quot;&gt;SimonTatham\PuTTY\Sessions&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;여기서 마우스 오른쪽을 눌러 내보내기를 클릭한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 342px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99398433598C45AB30&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99398433598C45AB30&quot; width=&quot;342&quot; height=&quot;250&quot; alt=&quot;putty 복구&quot; filename=&quot;a2.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 636px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9938EC33598C45AB06&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9938EC33598C45AB06&quot; width=&quot;636&quot; height=&quot;186&quot; alt=&quot;putty 세션 백업&quot; filename=&quot;a3.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;파일을 내보내기를 한 후에 저장한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;h2&gt;PUTTY 세션 복구 방법&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;저장된 파일을 더블클릭한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그 후에 예 버튼을 클릭하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 358px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99836233598C45AB16&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99836233598C45AB16&quot; width=&quot;358&quot; height=&quot;180&quot; alt=&quot;putty backup&quot; filename=&quot;a4.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 437px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99545C33598C45AC1A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99545C33598C45AC1A&quot; width=&quot;437&quot; height=&quot;136&quot; alt=&quot;putty 다운로드&quot; filename=&quot;a5.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Unix</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/482</guid>
      <comments>https://androiddev.tistory.com/482#entry482comment</comments>
      <pubDate>Thu, 10 Aug 2017 20:49:50 +0900</pubDate>
    </item>
    <item>
      <title>이클립스 자바스크립트 인코딩 설정</title>
      <link>https://androiddev.tistory.com/481</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이클립스로 프로젝트를 하다보면 간혹 자바스크립트와 JSP파일의 인코딩이 잘못 설정되어 있는 경우를 간간히 볼 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이런 경우인지 모르고 운영서버에 배포했다가 어플리케이션이 정상적으로 돌아가지 않았던 문제를 한 두번쯤은 겪었을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 이클립스에서 자바스크립트와 JSP 파일의 인코딩을 설정하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;이클립스 자바스크립트 인코딩&lt;/h2&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;자바스크립트의 경우는 이클립스의 환경설정으로 들어가서 content types에서 JavaScript Source File에서 Default Encoding을 UTF-8로 변경한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;

&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 523px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/259BB533597C8AA32A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F259BB533597C8AA32A&quot; width=&quot;600&quot; height=&quot;523&quot; alt=&quot;이클립스 자바스크립트 인코딩&quot; filename=&quot;k1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 523px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;JSP파일은 Content type에서 JSP를 선택한 후 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;아래와 같이 변경해주면 된다. &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 507px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/22C54833597C8AA327&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F22C54833597C8AA327&quot; width=&quot;600&quot; height=&quot;507&quot; alt=&quot;이클립스 JSP 인코딩&quot; filename=&quot;k2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 507px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Java</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/481</guid>
      <comments>https://androiddev.tistory.com/481#entry481comment</comments>
      <pubDate>Sat, 29 Jul 2017 22:19:49 +0900</pubDate>
    </item>
    <item>
      <title>현재 위치에서 디렉토리별 사용량 보기</title>
      <link>https://androiddev.tistory.com/480</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;현재 디렉토리에서 주요 디렉토리별 사용량 보는 방법&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;명령프롬프트에서 아래의 명령어 입력을 하면, 디렉토리별 사용량을 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;du -sh ./*&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;arial, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;</description>
      <category>Unix</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/480</guid>
      <comments>https://androiddev.tistory.com/480#entry480comment</comments>
      <pubDate>Mon, 24 Jul 2017 22:02:39 +0900</pubDate>
    </item>
    <item>
      <title>화면 회전 막는 방법(ctrl alt 화살표 위 아래)</title>
      <link>https://androiddev.tistory.com/479</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;노트북을 교체하고부터 자주 사용하던 단축키를 사용하면 화면이 회전하는 문제가 발생했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;CTRL + ALT + 화살표(위, 아래)를 누르면 화면이 회전하는 문제였는데, 초기에는 윈도우10을 설치해서 발생하는 문제라 생각했다. 그런데 윈도우10인 다른 데스크탑에서는 이런 문제가 발생하지 않았다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이것 저것 알아보니, 윈도우의 문제가 아니라 인텔 HD 그래픽의 문제라는 것을 알게 되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;인텔 HD 그래픽에서 사용하는 단축키로 설정이 되어 있어, 이 단축키가 우선으로 사용되었던 것이었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 화면 회전 단축키를 다른 키로 바꾸는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;화면 회전 단축키 바꾸는 방법&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;제어판에서 인텔 HD 그래픽을 클릭한다. 만약 인텔 HD 그래픽이 보이지 않는다면 CTRL + ALT&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;+ F12를 누른다. 만약 인텔 그래픽이라면 아래와 같은 화면이 보일 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;옵션 및 지원 버튼을 클릭한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 399px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2233AC42594DA98E02&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2233AC42594DA98E02&quot; width=&quot;600&quot; height=&quot;399&quot; alt=&quot;화면 회전 막는 방법&quot; filename=&quot;d1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 399px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;0도로 회전, 90도로 회전, 180도로 회전 등에 이미 단축키가 들어가 있을 것이다. &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 448px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2713FC42594DA99019&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2713FC42594DA99019&quot; width=&quot;600&quot; height=&quot;448&quot; alt=&quot;ctrl alt 화살표&quot; filename=&quot;d2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 448px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 단축키를 자신에 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;맞게 변경한다. 글쓴이의 경우는 화면 회전할 일이 없기 때문에 사용하지 않을 키로 입력했다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 516px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/241E1842594DA99214&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F241E1842594DA99214&quot; width=&quot;516&quot; height=&quot;381&quot; alt=&quot;컨트롤 알트 화살표&quot; filename=&quot;d3.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 하면 CTRL + ALT + 화살표를 눌렀을 때 화면 회전을 막을 수 있다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>ETC/TroubleShooting</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/479</guid>
      <comments>https://androiddev.tistory.com/479#entry479comment</comments>
      <pubDate>Sat, 24 Jun 2017 08:59:12 +0900</pubDate>
    </item>
    <item>
      <title>일행과 공유가 편리한 여행 계획 사이트, 여행계획 어플 블로그유틸24</title>
      <link>https://androiddev.tistory.com/478</link>
      <description>&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;여행을 준비하면서 여행 계획을 세울때가 재미도 있으면서 정말 짜증이 나기도 한다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;혼자 가는 거야 상관 없지만 일행이 많다면 일행끼리 여행 계획표를 공유해야되고, 가고 싶은 곳을 조율해야하기 때문에 정말 피곤한 일이다.&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;그리고 여행 일정표를 만들려다 보면 어디를 갈지에 대해 검색해야 되고, 지도에 표시해서 이전 관광지에서 멀지는 않은지, 동선이 잘 만들어진건지.. 그리고 여기는 어떤 걸 봐야하는지에 대해 확인해서 일정표에 메모도 해두어야 한다. &lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;그렇게 만든 뒤에 일행과 공유해야하는데, 보통 엑셀로 만들면 여행 일정표를 공유하는 것도 쉽지 않다. &lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; HEIGHT: 199px; WIDTH: 300px; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2502EF3C5928AFC425&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2502EF3C5928AFC425&quot; width=&quot;300&quot; height=&quot;199&quot; alt=&quot;여행 일정표 양식&quot; filename=&quot;c1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;HEIGHT: 199px; WIDTH: 300px&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;최근에 여행 일정표를 만드는 사이트를 알게 되서 사용해봤는데, 정말 편리했다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;약 15&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;분만에 여행 일정표를 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;완성할&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt; 수 있었는데, 일행들과 일정표를 공유하기도 쉽고, 공유된 일정표도 일행들이 수정하면 즉시 다른 사람들이 보는 일정표에도 반영이 되어 편리했&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;다. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;보통 여행 일정표 만드는게 어플에서 만드는 경우가 많은데, 어플에서 만들면 자기 혼자만 보는 것이기 때문에 여러 모로 공유하기가 참 불편했었는&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;데, 이 사이트는 공유가 쉽다는 점이 참 맘에 들었다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;. 
&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;한 15&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;분만에 여행 일정표를 쉽게 만들 수 있으니, 시간이 되면 한 번 만들어보는 것을 추천한다. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt; FONT-FAMILY: 맑은 고딕,sans-serif&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;참고로 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;스마트폰에서도 여행 일정표를 만들수가 있으니, 지하철 이동시에도 쉽게 여행일정표를 만들 수가 있다. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이번 포스팅에서는 여행 일정표를 쉽게 만드는 방법에 대해 알아보자.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;여행 일정표 만드는 방법&lt;/h2&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;사용 방법은 정말 간단하다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;블로그유틸24의 여행 일정표 만들기 메뉴로 이동한다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;a class=&quot;tx-link&quot; href=&quot;http://blogutil24.com/TourPlanIAction.do&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;블로그유틸24 여행 일정표 만들기 바로가기&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;이동하면 아래와 같은 화면이 나오는데, 좌측에서 여행지를 검색해서 일정추가를 누르면 우측에 선택한 여행지의 목록이 표시되고, 좌측 하단에 선택한 여행지들이 지도에 표시된다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;여행일정표를&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt; 만들면서 동선까지 한 번에 확인할 수 있게 되어 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; HEIGHT: 502px; WIDTH: 600px; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2171BE3A5928B4480A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2171BE3A5928B4480A&quot; width=&quot;600&quot; height=&quot;502&quot; alt=&quot;여행 일정표 만들기&quot; filename=&quot;c8.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;HEIGHT: 502px; WIDTH: 600px&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;이렇게 여행일정표를 만들다가 이 여행지에 대한 정보가 궁금하면 파란색으로 표시되어 있는 여행지명을 클릭하면 아래처럼 여행지에 대한 상세 정보가 보인다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;입장료가 얼마인지, 주차장이 있는지, 주차비는 얼마인지, 문의는 어디다 할 수 있는지도 모두 표시된다. &lt;/span&gt;&lt;/p&gt;. 
&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;굳이 여러 블로그를 돌아다니면서 여행 정보를 수집할 필요가 없다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 439px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2556B1375928AFF223&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2556B1375928AFF223&quot; width=&quot;600&quot; height=&quot;439&quot; alt=&quot;여행 계획표&quot; filename=&quot;c4.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 439px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 328px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/243B7D335928B02B2D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F243B7D335928B02B2D&quot; width=&quot;600&quot; height=&quot;328&quot; alt=&quot;여행 계획 사이트&quot; filename=&quot;c5.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 328px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;여행지를 모두 선택한 다음에 여행지마다 특이사항이 있으면, 메모 버튼을 클릭해 메모를 입력할 수 있다. 입력된 메모는 다른 일행과도 내용을 공유할 수 있어 편리하다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;이렇게 여행지를 선택한 후에 저장 버튼을 클릭하면 여행지가 저장이 된다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;이걸로 여행 일정표 작성이 완료된다. 글쓴이 같은 경우는 15분 정도가 걸렸다. 굳이 어떤 여행지인지에 대해 설명을 달 필요가 없으니, 정말 빨리 끝났다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;여행 일정표 공유 방법&lt;/h2&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;이렇게 작성된 여행일정표는 아래와 같이 보고서 형태로 볼 수가 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;그리고 맨 밑에는 여행일행도 동선을 공유할 수 있게 지도에 표시되서 보인다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;그리고 작성할 때와 마찬가지로 여행지명을 클릭하면 여행에 대한 정보도&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt; 팝업으로 볼 수 있&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;일일이 어떤 여행지인지, 맛집인지에 대한 정보를 따로 알려줄 필요가 없다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;스마트폰에서는 카카오톡으로 여행일정표를 공유할 수 있고, PC에서는 &lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;바로가기 주소를&lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt; 복사해서 내용을 공유할 수 있다. &lt;/span&gt;&lt;/p&gt;.
&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: left; CLEAR: none&quot;&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;주소를 한 번만 공유하면 그 뒤에는 계속 변경된 사항도 공유가 되므로 정말 편리하다. &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; HEIGHT: 325px; WIDTH: 600px; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/276C4E375928AFF127&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F276C4E375928AFF127&quot; width=&quot;600&quot; height=&quot;325&quot; alt=&quot;여행 일정 어플&quot; filename=&quot;c2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;HEIGHT: 325px; WIDTH: 600px&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; HEIGHT: 531px; WIDTH: 600px; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2249B4375928AFF123&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2249B4375928AFF123&quot; width=&quot;600&quot; height=&quot;531&quot; filename=&quot;c3.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;HEIGHT: 531px; WIDTH: 600px&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; HEIGHT: 395px; WIDTH: 600px; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/244AAC375928AFF329&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F244AAC375928AFF329&quot; width=&quot;600&quot; height=&quot;395&quot; alt=&quot;여행 동선&quot; filename=&quot;c6.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;HEIGHT: 395px; WIDTH: 600px&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;시간이 되면 블로그유틸24에 방문해서 여행일정표를 한번 &lt;/span&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;만들어 보는 것을 추천한다. 한 번만 해보면 여행일정표 작성이 어렵지 않다는 것을 알 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;맛집 목록도 계속 갱신이 되어 맛집 찾아갈때도 도움이 많이 된다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;a class=&quot;tx-link&quot; href=&quot;http://blogutil24.com/TourPlanFAction.do&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;span style=&quot;FONT-SIZE: 11pt&quot;&gt;블로그유틸24 여행 일정표 바로가기&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/478</guid>
      <comments>https://androiddev.tistory.com/478#entry478comment</comments>
      <pubDate>Sat, 27 May 2017 08:09:22 +0900</pubDate>
    </item>
    <item>
      <title>MSVCR100.dll 다운로드 방법</title>
      <link>https://androiddev.tistory.com/477</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;MSVCR100.dll 이(가) 없어 코드 실행을 진행할 수 없습니다. 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 461px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/243B4F4F5911440006&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F243B4F4F5911440006&quot; width=&quot;461&quot; height=&quot;118&quot; alt=&quot;MSVCR100.dll 다운로드&quot; filename=&quot;r1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;최근 어떤 프로그램을 설치하고 실행을 했더니 위와 같은 메세지가 발생하면서 프로그램이 실행이 되지 않았다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;인터넷으로 위의 메세지를 검색을 해보면서 어떻게 처리해야 되는지를 알아보았다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;우선 바이러스가 있을지도 모르겠다는 생각으로 주의하며 진행을 했는데, 다행히 아직까지 문제는 발생하지 않았다. 혹시 모르니 바이러스에 주의하며 진행하기 바란다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;MSVCR100.dll 다운로드&lt;/h2&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다운로드 사이트로 이동한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;예전에 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다른 DLL 파일도 이 사이트를 통해 다운로드 받은 적이 있는데, 아직까지 문제가 되진 않았다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://ko.dll-files.com/msvcr100.dll.html&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;바로가기&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위의 주소로 이동하면 아래와 같은 화면이 나오는데, 검색할 파일명을 입력한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 101px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2269234F5911440102&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2269234F5911440102&quot; width=&quot;600&quot; height=&quot;101&quot; alt=&quot;MSVCR100.dll 다운&quot; filename=&quot;t2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 101px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;DLL 파일 검색을 하고 나면 아래와 같이 검색결과가 나오는데, 그 결과에서 파일명을 클릭하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 사이트가 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;유료로 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다운로드해야 된다고 표시되어 있는데, 그 부분은 광고이므로 무시하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 156px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2446A64F5911440105&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2446A64F5911440105&quot; width=&quot;600&quot; height=&quot;156&quot; alt=&quot;MSVCR100.dll download&quot; filename=&quot;t3.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 156px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다음 화면에 보면 다운로드 목록이 나타난다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다운로드 목록이 광고에 가려져 잘 안보일 수 있으므로, 잘 찾아보기 바란다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다운로드 목록에서 자신의 OS에 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;맞는 버전을 다운로드 받으면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 216px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/237A894F5911440220&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F237A894F5911440220&quot; width=&quot;600&quot; height=&quot;216&quot; alt=&quot;msvcp100.dll&quot; filename=&quot;t4.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 216px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;MSVCR100.dll 설치&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 다운로드 받아 압축을 풀면&amp;nbsp;MSVCR100.dll 파일이 보인다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 파일을 자신의 OS 버전에 맞게 이동하게 되면 &quot;MSVCR100.dll 이(가) 없어 코드 실행을 진행할 수 없습니다.&quot; 오류는 나오지 않게 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;32비트 - C:\windows\system32\&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;64비트 -&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;C:\Windows\SysWOW64&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>ETC/TroubleShooting</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/477</guid>
      <comments>https://androiddev.tistory.com/477#entry477comment</comments>
      <pubDate>Tue, 9 May 2017 13:41:22 +0900</pubDate>
    </item>
    <item>
      <title>checkbox 속성 추가(다건의 attribute)</title>
      <link>https://androiddev.tistory.com/476</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;HTML로 웹페이지를 만들다 보면 어쩔 수 없이 input 태그에 표준 속성이 아닌 속성을 사용해야할 때가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;가급적이면 쓰고 싶지 않지만, 체크한 것의 특정 값을 가져오기가 애매한 경우가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;(자바스크립트로 Array에 담아서 비교해가며 할 수도 있지만, 그 방법 보다는 아래 방법이 더 편리할 것이다.)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;만약 체크한 것의 값 뿐만이 아니라 다른 속성을 가져오고 싶다면 어떻게 해야할까?&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class=&quot;brush: sql&quot;&gt;input type=&quot;checkbox&quot; name=&quot;chk&quot; age=&quot;11111&quot; grade=&quot;80&quot; math=&quot;75&quot; value=&quot;CHRIS&quot;
&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위와 같이 코드에 속성을 추가해서 사용하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그리고 체크된 오브젝트의 값은 아래와 같이 사용해서 값을 가져오면 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 409px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/21729D4A590C4EE22E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F21729D4A590C4EE22E&quot; width=&quot;409&quot; height=&quot;152&quot; alt=&quot;checkbox 속성&quot; filename=&quot;B1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그리고 속성값을 가져올 때는 checkedObj.getAttribute(&quot;속성명&quot;)을 사용해서 값을 가져오면 된다.&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/476</guid>
      <comments>https://androiddev.tistory.com/476#entry476comment</comments>
      <pubDate>Fri, 5 May 2017 19:10:52 +0900</pubDate>
    </item>
    <item>
      <title>MSSQL 실행계획 보는 방법 및 인덱스 변경(튜닝 방법)</title>
      <link>https://androiddev.tistory.com/475</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;기존에 대부분의 프로젝트에서 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;오라클로 개발을 했었&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;오라클을 주로 사용하다 보니, 오라클 문법에서 실행계획 보는 방법과 어떻게 인덱스를 태워야 효율적으로 쿼리가 실행되는지를 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;확인하고 튜닝하&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;는 것이 쉬웠었는데, MSSQL은 익숙하지 않다보니 튜닝을 어떻게 해야하는지 확인하기 어려웠다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;최근에 MSSQL로 개발을 해야할 일이 생겼는데, 개발하고 한 달이 지나니 특정 쿼리에서 2분여의 시간이 발생을 했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 223px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2131E44958FC63772E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2131E44958FC63772E&quot; width=&quot;300&quot; height=&quot;223&quot; alt=&quot;MSSQL 실행계획 보는 방법&quot; filename=&quot;a0.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 223px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그래서 그 부분을 튜닝을 해야했는데, 오라클에서만 튜닝을 하다 보니 MSSQL 쿼리 튜닝은 어떻게 해야하는지 막막했다. 인터넷 검색을 1시간 동안 해서 하는 방법을 알아냈고, 튜닝도 성공적으로 수행할 수 있었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 MSSQL 쿼리 튜닝하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;MSSQL 실행 계획 보는 방법&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;쿼리 창에서 쿼리를 작성 후에 오른쪽 마우스를 클릭하면 아래와 같은 명령어가 보인다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;여기서 예상 실행 계획 표시 버튼을 클릭하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 316px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/226FD84E58FC638D24&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F226FD84E58FC638D24&quot; width=&quot;316&quot; height=&quot;380&quot; alt=&quot;MSSQL 인덱스 변경&quot; filename=&quot;b1.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;쿼리를 수행하고 나면 아래와 같이 쿼리가 어떤 순서로 실행되는지를 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;여기서 단계를 클릭하면 어떤 방식으로 연산하고, 예상 I/O 비용과 예상 CPU 비용, 예상 실행 횟수등을 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 79px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2226FF4E58FC638D30&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2226FF4E58FC638D30&quot; width=&quot;600&quot; height=&quot;79&quot; alt=&quot;MSSQL 튜닝 방법&quot; filename=&quot;b2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 79px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 339px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/262AB84E58FC638D16&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F262AB84E58FC638D16&quot; width=&quot;339&quot; height=&quot;323&quot; alt=&quot;MSSQL 인덱스 튜닝&quot; filename=&quot;b3.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 하면 쿼리에 대한 실행 계획 확인이 가능하다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그 후에 쿼리를 어떻게 튜닝해야 될까?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;MSSQL 인덱스 튜닝 방법&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;튜닝의 가장 기본인 인덱스 튜닝하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;실행되는 쿼리가 인덱스를 다른 것으로 실행되도록 하기 위해서 오라클에서는 아래와 같이 인덱스를 줄 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;SELECT /*+index(T IDX_NAME&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;) */ COL_NAME FROM&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위와 같이 주면 되는데,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;/*+index(T IDX_NAME&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;) */ 를 MSSQL 쿼리에 그대로 주어도 쿼리의 실행 인덱스는 변하지 않는다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 11pt;&quot;&gt;MSSQL에서는 인덱스를 아래와 같이 주어야 인덱스를 정상적으로 타게 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 354px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/257F954D58FC752623&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F257F954D58FC752623&quot; width=&quot;354&quot; height=&quot;68&quot; alt=&quot;MSSQL with index&quot; filename=&quot;b4.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 하면 부하 걸리는 쿼리를 가장 쉽게 튜닝할 수 있게 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>DB/MSSQL</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/475</guid>
      <comments>https://androiddev.tistory.com/475#entry475comment</comments>
      <pubDate>Sun, 23 Apr 2017 19:04:19 +0900</pubDate>
    </item>
    <item>
      <title>Javascript SHA256 Encrypt(자바스크립트 SHA256 암호화)</title>
      <link>https://androiddev.tistory.com/474</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;앞 포스팅에서 자바를 이용해서 SHA256으로 암호화하는 방법에 대해 알아보았다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://androiddev.tistory.com/473&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;JAVA SHA256 Encrypt 바로가기&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;기본적으로 자바에서 SHA256으로 암호화하는 방법만으로도 충분하다. 하지만 SSL이 적용되어 있지 않다면 어떻게 될까?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;기본적으로 웹사이트라고 하면 대부분 SSL을 적용해 놓았을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;하지만 개인이 운영하는 영세한 웹사이트의 경우 SSL 비용이 아까워 적용하지 못한 경우도 있을 것이다. 아마 보유하고 있는 개인정보가 없어&amp;nbsp;SSL의 필요성을 찾지 못할 수도 있을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 166px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/214ECD5058ACD32607&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F214ECD5058ACD32607&quot; width=&quot;300&quot; height=&quot;166&quot; alt=&quot;Javascript SHA256 Encrypt&quot; filename=&quot;c1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 166px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;만약 SSL을 적용하지 않은 상태에서 자바로만 서버단에서 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;SHA256으로 암호화한다면 어떻게 될까?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;고객의 브라우저에서 서버로 이동할 때 암호화되지 않은 상태로 이동하다 보니 암호가 노출될 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;브라우저에서부터&amp;nbsp;&lt;span style=&quot;font-size: 11pt;&quot;&gt;암호화되어 서버로 전송된다면 위와 같이 암호가 노출될 상황은 일어나지 않을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 자바스크립트로 SHA256 암호화하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;Javascript SHA256 Encrypt&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;아래 사이트로 이동한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.webtoolkit.info/javascript_sha256.html#.WKzJflWLQps&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;바로가기&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;사이트로 이동하면 자바스크립트 소스가 제공된다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;소스도 그리 길지는 않다. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 685px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/23344D4958ACD36116&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F23344D4958ACD36116&quot; width=&quot;600&quot; height=&quot;685&quot; alt=&quot;자바스크립트 SHA256 암호화&quot; filename=&quot;c2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 685px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;물론 다른 사람의 소스를 사용할 때는 라이센스를 잘 확인해야 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위의 라이센스 버튼을 클릭하면 라이센스가 어떻게 적용되는지 자세히 나와있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;소스에 나와 있는 URL만 잘 적는다면 사용에 문제는 없어보인다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;자세한 내용은 아래 내용 또는 웹사이트에서 라이센스를 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;확인해보기 바란다. &amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 388px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/255E104C58ACD3BE33&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F255E104C58ACD3BE33&quot; width=&quot;600&quot; height=&quot;388&quot; alt=&quot;SHA256 암호화&quot; filename=&quot;c3.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 388px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;SHA256(암호화할 문자열&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;);&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 암호화하면 SHA256으로 암호화된 문자열을 얻을 수 있다.&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;앞 포스팅에서 자바로 암호화하는 방법에 대해 알아보았었는데, 자바에서 SHA256으로 암호화했던 값과 자바스크립트로 SHA256으로 암호화했던 값이 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;일치하는 것을 확인할 수 있을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 465px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/21662D4558ACD5AE10&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F21662D4558ACD5AE10&quot; width=&quot;465&quot; height=&quot;73&quot; alt=&quot;자바스크립트 암호화&quot; filename=&quot;c4.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 자바스크립트로도 쉽게 SHA256으로 암호화를 할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/474</guid>
      <comments>https://androiddev.tistory.com/474#entry474comment</comments>
      <pubDate>Wed, 22 Feb 2017 09:13:51 +0900</pubDate>
    </item>
    <item>
      <title>JAVA SHA256 암호화(Encrypt)</title>
      <link>https://androiddev.tistory.com/473</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;개발을 하다 보면, 암호를 종종 다루어야 하는데, 암호를 저장할 때는 일방향 암호화를 해야한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;보통 개인정보가 들어가는 곳에 대해서는 일방향 암호화가 필수이기 때문에 암호를 저장할 때 암호를&amp;nbsp;복호화가 불가능한 일방향 암호를 이용하곤 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 자바에서 SHA 256으로 일방향 암호화를 하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 174px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/251D713E58ACCE9A0D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F251D713E58ACCE9A0D&quot; width=&quot;300&quot; height=&quot;174&quot; alt=&quot;JAVA SHA256 암호화&quot; filename=&quot;b1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 174px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;JAVA SHA256 Encrypt&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;별도의 플러그인이 필요하지는 않고 자바의 secutiry 패키지에 있는 MessageDigest를 이용한 방법이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class=&quot;brush: java&quot;&gt;public class Sha256Util {
	
	private Logger logger = LogManager.getLogger();
	public String encoding(String param) throws Exception{
		String result = &quot;&quot;;
		try {
            
           MessageDigest md = MessageDigest.getInstance(&quot;SHA-256&quot;); // SHA-256 또는 MD5  
           md.update(param.getBytes());
           byte bs[] = md.digest();
           StringBuffer sb = new StringBuffer();
           for(int i=0; i&amp;lt;bs.length; i++) {
               sb.append(Integer.toString((bs[i]&amp;amp;0xff) + 0x100, 16).substring(1));
           }
           result = sb.toString();
           logger.debug(result); // 결과물이 출력됨. aed19017dbb4d25a580b7f9e012e29be089bd1f3  //65자
       } catch(NoSuchAlgorithmException e){
           logger.error(e.toString());
           throw e;
       } catch(Exception e){
    	   logger.error(e.toString());
    	   throw e;
       }
		return result;
	}
}&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위와 같이 소스를 작성하고 아래와 같이 실행하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/251A934258ACCEAF19&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F251A934258ACCEAF19&quot; width=&quot;580&quot; height=&quot;68&quot; alt=&quot;JAVA SHA256 Encrypt&quot; filename=&quot;b2.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그렇게 하면 아래와 같은 결과가 출력된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/271EE63E58ACCEE313&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F271EE63E58ACCEE313&quot; width=&quot;700&quot; height=&quot;25&quot; alt=&quot;자바 SHA256 암호화&quot; filename=&quot;b3.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이렇게 하면 암호를 SHA256으로 쉽게 암호화할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;자바로 암호화하는 방법은 위와 같고, JAVASCRIPT로도 SHA256으로 암호화할 수 있는데, 다음 포스팅에서는 자바스크립트로 SHA256 암호화하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;클라이언트단에서부터 암호화가 되어 이동되기 때문에 자바로 암호화하는 것보다 더 안전할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://androiddev.tistory.com/474&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;JAVASCRIPT SHA256 Encrypt&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/473</guid>
      <comments>https://androiddev.tistory.com/473#entry473comment</comments>
      <pubDate>Wed, 22 Feb 2017 08:42:18 +0900</pubDate>
    </item>
    <item>
      <title>cpu의 코어, 쓰레드, 클럭의 관계 및 쓰레드 확인 방법</title>
      <link>https://androiddev.tistory.com/472</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;컴퓨터를 하나 살려고 하다 보면 제일 먼저 보이는 것이 CPU에 대한 정보이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;컴퓨터를 팔 때 판매자도 이 부분을 부각시키곤 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;CPU에 대한 기본 정보를 볼 때 가장 먼저 보이는 것이 CPU에 대한 정보인데, 그 중 자주 등장하는 단어가 CPU 코어, 쓰레드, 클럭이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;코어, 쓰레드, 클럭이 CPU의 성능을 표현할 수 있는 가장 중요한 요인이기 때문에 이 부분에 대해서 가장 먼저 설명을 하곤한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 167px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/212BED4D587B19CB2C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F212BED4D587B19CB2C&quot; width=&quot;300&quot; height=&quot;167&quot; alt=&quot;cpu 코어&quot; filename=&quot;o1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 167px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 코어, 쓰레드, 클럭에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;CPU 클럭&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;클럭이란 한 번의 신호 뒤에 다음 신호가 올 때까지의 간격을 말하고, 단위로는 HZ를 사용한다. 초당 몇 번의 신호가 있었느냐를 표시하는 단위이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;1초에 1번 작동하는 것을 1HZ라고 하므로, 1초에 더 많이 작동할 수록 성능이 좋은 CPU가 될 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이 클럭이라는 것이 CPU의 성능을 나타내는 기준 중의 하나이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;한 때는 CPU 제조사들이&amp;nbsp;CPU 성능을 높이기 위해 클럭을 높이려고 노력했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;하지만 클럭이 올라갈수록 발열과 전력소비가 높아지면서 클럭수 보다는 CPU를 더 많이 장착하는 것으로 방향을 틀게 되었는데, 이 때 나오는 개념이 코어이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;CPU 코어&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;CPU 코어는 CPU 내부에서 연산을 담당하는 부분이다. CPU에는 코어 뿐만이 아니라 캐시메모리, 컨트롤러 등이 있는데, 이 중 각종 연산을 하는 CPU의 핵심적인 요소가 코어이다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;하나의 CPU에 코어가 하나일 때를 싱글코어, 코어가 2개일 때를 듀얼 코어, 3개일 때를 트리플 코어라고하고, 점차 코어수가 증가하는 추세이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;CPU 쓰레드&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;코어는 물리적으로 나뉘어진 것이고, 쓰레드는 논리적으로 나뉜 가상 칩을 말한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;보통 듀얼 코어 4쓰레드라고 하면 물리적인 코어는 2개인데, 각 코어를 논리적으로 2개씩인 것처럼 만들어 총 4개인 코어처럼 만들었다는 말이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;쓰레드가 당연히 물리적인 코어보다는 성능이 떨어질 수 있겠지만 병렬로 여러개 처리가 필요한 작업을 주로 한다면 쓰레드가 많은 것이 전체 성능에서 우수할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;사용하는 소프트웨어 또는 게임등이 고사양이라면 쓰레드가 많은 CPU가 성능상 더 유리할 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;코어 및 쓰레드&amp;nbsp;확인하는 방법&lt;/h2&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번에는 코어 및 쓰레드를 확인하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;가장 쉽게 확인하는 방법이 작업관리자에서 확인하는 방법이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;아래와 같이 CPU 사용 현황이 두개로 나뉘어져 있으면 2쓰레드를 의미한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 436px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/256F5E50587B1A0A07&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F256F5E50587B1A0A07&quot; width=&quot;436&quot; height=&quot;426&quot; alt=&quot;코어 쓰레드&quot; filename=&quot;r1.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;윈도우 실행 창에서&amp;nbsp;msinfo32라고 치면 아래와 같은 창이 나온다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;여기서 확인해보면 2코어 2논리라고 되어 있는 부분이 보일 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 96px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/221D814F587B1A9C03&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F221D814F587B1A9C03&quot; width=&quot;600&quot; height=&quot;96&quot; alt=&quot;쓰레드 확인 방법&quot; filename=&quot;r2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 96px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이런 방법을 이용해서 CPU의 코어 수와 쓰레드 수를 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/472</guid>
      <comments>https://androiddev.tistory.com/472#entry472comment</comments>
      <pubDate>Sun, 15 Jan 2017 15:50:39 +0900</pubDate>
    </item>
    <item>
      <title>윈도우7 공인인증서 위치 및 윈도우8 공인인증서 복사 방법(NPKI)</title>
      <link>https://androiddev.tistory.com/471</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;기존 윈도우 XP일 때는 공인인증서를 다운로드 받고 어디에 두었는지를 찾을 때 C드라이브의 프로그램 파일즈에 가면 NPKI라는 폴더를 찾았다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그게 윈도우 비스타 이후부터는 저장되는 위치가 변경되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이번 포스팅에서는 윈도우 비스타 이후의 윈도우7, 윈도우8에서 공인인증서 폴더인 NPKI 폴더를 찾는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 223px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/235A865058703F7808&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F235A865058703F7808&quot; width=&quot;300&quot; height=&quot;223&quot; alt=&quot;window7 공인인증서 위치&quot; filename=&quot;c0.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 223px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;정확한 위치는 아래와 같이 표시된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif; font-size: 19px; line-height: 27px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;%UserProfile%&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;\AppData\LocalLow\NPKI&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif; font-size: 19px; line-height: 27px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(0, 0, 0); font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;font face=&quot;Gulim, 굴림&quot;&gt;&lt;span style=&quot;font-size: 19px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;여기서 %UserProfile%은 사용자 계정을 의미한다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Gulim, 굴림&quot;&gt;&lt;span style=&quot;font-size: 19px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Gulim, 굴림&quot;&gt;&lt;span style=&quot;font-size: 19px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;쉽게 풀어쓰면&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Gulim, 굴림&quot;&gt;&lt;span style=&quot;font-size: 19px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;C:\Users\사용자 계정\AppData\LocalLow\NPKI&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;에 위치한다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Gulim, 굴림&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;Users는 아래 이미지에서처럼 사용자라는 폴더로 표시되기도 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Gulim, 굴림&quot;&gt;&lt;span style=&quot;font-size: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px; width: 400px; height: 195px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/255778425870374315&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F255778425870374315&quot; width=&quot;400&quot; height=&quot;195&quot; alt=&quot;윈도우7 공인인증서&quot; filename=&quot;c1.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 400px; height: 195px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;글쓴이는 사용자 계정이 bu여서 bu디렉토리로 이동했다. 사용자 계정을 만들지 않았다면 Administrator 계정이 사용자 계정이 된다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px; width: 400px; height: 85px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/232E7F42587037432C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F232E7F42587037432C&quot; width=&quot;400&quot; height=&quot;85&quot; alt=&quot;윈도우8 공인인증서&quot; filename=&quot;c2.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 400px; height: 85px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;text-align: left; font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;아래 이미지부터는 사용자 폴더가 보이지 않을 수 있다. 탐색기 옵션에서&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left; font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;숨김파일 보기를 해주어야 보인다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px; width: 400px; height: 179px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/22533742587037441A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F22533742587037441A&quot; width=&quot;400&quot; height=&quot;179&quot; alt=&quot;윈도우7 NPKI&quot; filename=&quot;c3.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 400px; height: 179px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;\&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px; width: 400px; height: 66px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/236F8E425870374410&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F236F8E425870374410&quot; width=&quot;400&quot; height=&quot;66&quot; alt=&quot;윈도우8 NPKI&quot; filename=&quot;c4.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 400px; height: 66px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;LocalLow 폴더에 들어가면 NPKI 폴더가 보일 것이고, 해당 폴더에 들어가면 아래와 같이 공인인증서 발급기관 목록이 보일 것이다. &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px; width: 400px; height: 146px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2668E6425870374514&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2668E6425870374514&quot; width=&quot;400&quot; height=&quot;146&quot; alt=&quot;윈도우7 공인인증서 위치&quot; filename=&quot;c5.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 400px; height: 146px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Gulim, 굴림&quot;&gt;&lt;span style=&quot;font-size: 19px;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;발급기관 폴더에 들어가서 원하는 인증서를 선택후 복사하면 된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/471</guid>
      <comments>https://androiddev.tistory.com/471#entry471comment</comments>
      <pubDate>Sat, 7 Jan 2017 10:20:53 +0900</pubDate>
    </item>
    <item>
      <title>자바스크립트 리터럴이란?(javascript literal)</title>
      <link>https://androiddev.tistory.com/470</link>
      <description>&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;/p&gt;&lt;h2&gt;리터럴이란 무엇인가?&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;리터럴은 일반적으로 개발 언어에서 문자열 자체, 즉 고정된 값을 가리키는 용어이다.&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;a=30;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt; color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt; color: black;&quot;&gt;보통 위의 형태처럼 되어 있는 것을 리터럴이라고 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt; color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 168px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/235E7339586BABA034&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F235E7339586BABA034&quot; width=&quot;300&quot; height=&quot;168&quot; alt=&quot;자바스크립트 리터럴&quot; filename=&quot;b1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 168px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt; color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;흔히 자바스크립트를 작성할 때 var num=99; 라고 작성한 것을 자주 볼 수 있을 것이다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;이렇게 프로그래머가 리터럴 방식으로 변수를 만들면, 자바스크립트 엔진이 이 구문을 객체 방식으로 변환하게 된다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위의 var num=99;는&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;var num = new Number(99);&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;로 변환하게 된다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;마찬가지로 var compname =&quot;자바스크립트&quot;; 라고 작성했다면&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;자바스크립트 엔진에 의해&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;var compname = new String(&quot;자바스크립트&quot;);&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;라고 자동 변환된다.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;함수 리터럴&lt;/h2&gt;&amp;nbsp;&lt;u&gt;&lt;/u&gt;&lt;p&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;함수도 리터럴 방식으로 만들 수 있는데, 아래와 같이 보통 선언한다.&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;brush: sql&quot;&gt;var hello = function(){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(&quot;hello&quot;);}&lt;/pre&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;저렇게 선언된 함수는 이름 없는 함수라고 한다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;MS Sans Serif&amp;quot;; color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;이름 없는 함수가 생성되고, 함수의 주소값을 hello라는 변수에 저장되게 된다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt; color: black;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;brush: sql&quot;&gt;function hello(){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(&quot;hello&quot;);}&lt;/pre&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px; word-break: keep-all;&quot;&gt;&lt;/p&gt;
&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); word-break: keep-all;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;font face=&quot;MS Sans Serif&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;위 2개의 소스는 기능 면에서나&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt; color: black;&quot;&gt;성능면에서&amp;nbsp;큰 차이가 없다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 14px;&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/470</guid>
      <comments>https://androiddev.tistory.com/470#entry470comment</comments>
      <pubDate>Tue, 3 Jan 2017 22:57:02 +0900</pubDate>
    </item>
    <item>
      <title>스마트폰 공장 초기화(스마트폰 데이터 삭제)</title>
      <link>https://androiddev.tistory.com/469</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;스마트폰으로 중고폰을 구매하거나 오래 사용하면서 속도가 느려지게 되면 스마트폰을 초기화 시키고 싶을 때가 있다. 이 것을 공장 초기화라고 하게 되는데, 공장 초기화를 하게 되면, 스마트폰 안에 있던 앱(어플리케이션)과 앱의 데이터가 지워지게 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;중고폰을 구매하게 되면, 우선 다른 사람이 사용하던 폰이기 때문에, 그리고 나에게 오기 까지 다른 사람들이 이 폰을 사용하면서 혹시라도 해킹 프로그램이 설치되지 않았을까라는 의심을 버릴 수가 없다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 203px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/220E5D4D5855D0F92B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F220E5D4D5855D0F92B&quot; width=&quot;300&quot; height=&quot;203&quot; alt=&quot;스마트폰 공장 초기화&quot; filename=&quot;b1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 203px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이런 이유 때문에라도 중고 스마트폰을 구매하게 되면, 공장 초기화를 한 번 더 해주어야 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;악성 앱이 설치되어 있었더라도 같이 초기화 되게 되므로, 공장 초기화를 해주게 되면 그나마 안전하게 스마트폰을 사용할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 스마트폰 공장 초기화 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;스마트폰 공장 초기화 방법&lt;/h2&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;1. 스마트폰 종료&lt;/b&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;2. 공장 초기화 버튼 클릭&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; 스마트폰이 종료된 상태에서 공장 초기화를 할 수 있는 버튼 조합을 누른다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; 공장 초기화 버튼은 스마트폰 기종에 따라 다르나 삼성의 경우는 아래와 같은 조합 중에 하나일&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;볼륨 상단+ 홈 버튼 + 전원 버튼 →&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;갤럭시 S2, 갤럭시 S3, 갤럭시 S4 등&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;볼륨 상단 + 볼륨 하단 + 홈버튼 + 전원버튼&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;→&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;갤럭시 노트, 갤럭시s2 LTE, 갤럭시 넥서스 등&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;볼륨 상단 + 볼륨 하단 + 전원버튼&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;→&lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;갤럭시 S, 갤럭시 K, 갤럭시 U 등&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;홈버튼 + 전원버튼&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;→&lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;갤럭시 Neo, 갤럭시 에이스 등&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;공장 초기화 버튼 조합을 클릭하면 아래와 같은 화면이 나온다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 394px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/22405A495855D2560D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F22405A495855D2560D&quot; width=&quot;394&quot; height=&quot;700&quot; alt=&quot;스마트폰 데이터 삭제&quot; filename=&quot;20161217_205908.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;b&gt;3. 팩토리 리셋&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;위의 화면에서 볼륨 하단을 눌러 wipe data/factory reset으로 이동한 뒤 전원버튼을 클릭한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;(기종에 따라 홈버튼일 수도 있다.)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;팩토리 리셋을 선택하게 되면 스마트폰의 데이터가 지워지게 되므로,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;꼭 공장초기화가 필요한 경우만 선택해야 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate2&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;클릭하게 되면 아래와 같은 화면이 나오는데, 마찬가지로 볼륨 하단을 눌러&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp;YES - delete all user data를 선택한 후 전원버튼을 클릭한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 394px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/237159495855D25A34&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F237159495855D25A34&quot; width=&quot;394&quot; height=&quot;700&quot; alt=&quot;공장 초기화 버튼&quot; filename=&quot;20161217_210336.jpg&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;완료가 되면 전 단계의 화면이 나올 것이다. 그 화면에서 reboot system now를 선택한다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;공장 초기화가 진행되게 되면 시스템 내부적으로 처리해야 하는 일이 많기 때문에 로딩이 오래 걸릴 수 있으므로, 기다려야 한다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;완료되면 아래와 같은 화면이 나온다. 이제 설정을 하면 된다.&amp;nbsp;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 394px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/27499E495855D25D08&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F27499E495855D25D08&quot; width=&quot;394&quot; height=&quot;700&quot; alt=&quot;스마트폰 초기화&quot; filename=&quot;20161217_210822.jpg&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;스마트폰을 USB로 연결하여 데이터를 확인해보면 공장 초기화된 상태로 되어 있는 것을 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>ETC</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/469</guid>
      <comments>https://androiddev.tistory.com/469#entry469comment</comments>
      <pubDate>Sun, 18 Dec 2016 09:16:15 +0900</pubDate>
    </item>
    <item>
      <title>JIRA 메일 양식 수정</title>
      <link>https://androiddev.tistory.com/468</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이슈관리시스템으로 지라(JIRA)를 사용하고 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;몇 년간 잘 사용하고 있는데, 예상치 못했던 문의가 들어온 적 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;왜 이슈 메일을 보낼 때 본문 내용은 들어 있지 않냐는 것이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;지라는 변경 내용에 대해서만 메일을 보내기 때문에 개발 상태가 변하다가 개발이 완료가 되면 메일이 보내질 때&amp;nbsp;상태만 변경된 것이기&amp;nbsp;때문에 상태가 변경되었다는 내용만 메일에 남게 된다.&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 533px; width: 533px; height: 194px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/243A9145583AA61412&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F243A9145583AA61412&quot; width=&quot;533&quot; height=&quot;194&quot; alt=&quot;JIRA 메일 양식 수정&quot; filename=&quot;t0.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 533px; height: 194px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;메일 수신자가 JIRA에 접속해서 확인하면 되지만, 메일에 본문 내용이 들어가는 것이 더 효율적이긴 해서 JIRA 발송 메일에 본문 내용이 들어가는 방법에 대해 알아보았다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;h2&gt;JIRA 발송 메일 양식 변경 방법&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;C:\Program Files\Atlassian\JIRA\&lt;/span&gt;&lt;wbr style=&quot;color: rgb(34, 34, 34); font-family: 굴림; font-size: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;atlassian-jira\WEB-INF\&lt;/span&gt;&lt;wbr style=&quot;color: rgb(34, 34, 34); font-family: 굴림; font-size: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;classes\templates\email\html&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;에 JIRA 발송 메일 양식이 저장되어 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 369px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2120B542583AA63A2C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2120B542583AA63A2C&quot; width=&quot;600&quot; height=&quot;369&quot; alt=&quot;JIRA MANUAL&quot; filename=&quot;t2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 369px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;이 양식들 중 원하는 vm 파일을&amp;nbsp;열어 아래 붉은색 부분을 붙여주면 된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;붉은색 부분은 이슈의 본문 내용이 있다면 본문 내용을 붙여서 메일을 보내라는 뜻이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;붉은색 부분을 원하는 .vm파일에 붙여 넣기하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;만약 붉은색 부분과 같은 내용이 이미 vm파일에 들어 있다면 붙여넣기 하면 안된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;#disable_html_escaping()&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;#set ($resolution = &quot;&amp;lt;strong&amp;gt;$textutils.&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;htmlEncode(${issue.&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;getResolutionObject().&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;getNameTranslation($i18n)}, false)&amp;lt;/strong&amp;gt;&quot;)&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;#defaultMailHeaderWithParam(&quot;&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;jira.email.title.issue.&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;resolved&quot;, $changelogauthor, $resolution)&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;#if ($comment)&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #parse('templates/email/html/&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;includes/patterns/comment-top.&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;vm')&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;#end&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;#rowWrapperNormal(&quot;#parse('&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;templates/email/html/includes/&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;patterns/issue-title.vm')&quot;)&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;#if ($issue.description)&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #set($textParagraph = $issue.htmlDescription)&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #rowWrapperNormal(&quot;#parse('&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;templates/email/html/includes/&lt;/span&gt;&lt;wbr&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;patterns/text-paragraph.vm')&quot;, '', 'issue-description-container')&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span style=&quot;color: red; font-family: Gulim, 굴림; font-size: 11pt;&quot;&gt;#end&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0cm; margin-left: 0cm; font-size: 12pt; font-family: 굴림; color: rgb(34, 34, 34);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;상태가 업데이트될 때마다 메일 내용에 본문 내용을 넣고 싶을 때는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt; color: rgb(0, 0, 0);&quot;&gt;issuegenericevent.vm&lt;/span&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 11pt; color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;파일을 수정하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/468</guid>
      <comments>https://androiddev.tistory.com/468#entry468comment</comments>
      <pubDate>Wed, 30 Nov 2016 01:00:06 +0900</pubDate>
    </item>
    <item>
      <title>브라우저에서 자바스크립트(JavaScript)를 활성화해야 합니다(스마트폰 인터넷 설정)</title>
      <link>https://androiddev.tistory.com/467</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;Internet Explorer(인터넷 익스플로러)나 Chrome(크롬)브라우저 또는 스마트폰에서 특정 웹사이트에 들어갔을 때 간혹 &quot;브라우저에서 자바스크립트를 활성화해야 합니다.&quot;라는 메세지가 보이면서 더 이상 진행이 되지 않을 때가 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그래서 브라우저에서 자바스크립트를 활성화하는 방법을 찾으려고 해도 찾기가 힘들다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 자바스크립트를 활성화하는 방법에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;Internet Explorer&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;인터넷 익스플로러의 인터넷 옵션 버튼을 클릭하면 나오는 화면에서 보안탭을 클릭한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 324px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2143553B583A9EC512&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2143553B583A9EC512&quot; width=&quot;324&quot; height=&quot;441&quot; alt=&quot;스마트폰 인터넷 설정&quot; filename=&quot;d1.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;보안탭에서 사용자 지정 수준 버튼을 클릭한다. &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 486px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2736DF3B583A9EC636&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2736DF3B583A9EC636&quot; width=&quot;486&quot; height=&quot;538&quot; alt=&quot;자바스크립트 활성화&quot; filename=&quot;d2.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;보안 설정 화면이 나오는데, 스크립팅 섹션에서 Active 스크팁팅을 사용으로 설정한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;브라우저를 재시작하면 자바스크립트를 활성화하라는 메세지가 나오지 않을 것이다. &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 497px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2778E03B583A9EC603&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2778E03B583A9EC603&quot; width=&quot;497&quot; height=&quot;553&quot; alt=&quot;JavaScript 활성화&quot; filename=&quot;d3.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;h2&gt;크롬(Chrome)&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;크롬 브라우저에서 설정 버튼을 클릭한다. 설정화면 맨 밑에 보면 고급 설정 표시 메뉴가 있다. 고급 설정 표시를 클릭하면 콘텐츠 설정 메뉴가 나온다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 452px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/252E6150583A9FFA26&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F252E6150583A9FFA26&quot; width=&quot;452&quot; height=&quot;115&quot; alt=&quot;JavaScript 사용&quot; filename=&quot;d4.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 310px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/24381050583A9FFB30&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F24381050583A9FFB30&quot; width=&quot;600&quot; height=&quot;310&quot; alt=&quot;자바스크립트 사용&quot; filename=&quot;d5.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 310px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;컨텐츠 설정 메뉴에 자바스크립트 옵션이 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;모든 사이트에서 자바스크립트 실행 허용을 선택하고 저장한다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 329px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/245AA750583A9FFB38&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F245AA750583A9FFB38&quot; width=&quot;329&quot; height=&quot;149&quot; alt=&quot;자바스크립트 실행&quot; filename=&quot;d6.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;브라우저를 재시작하면 된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;h2&gt;스마트폰 브라우저&lt;/h2&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;스마트폰의 브라우저가 크롬 브라우저일 경우이다.&amp;nbsp;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;브라우저의 설정에 보면 고급 메뉴가 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;고급 메뉴 밑에 자바스크립트 옵션이 있다. 이 부분을 허용됨으로 변경하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 533px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/26766034583AA06C0B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F26766034583AA06C0B&quot; width=&quot;300&quot; height=&quot;533&quot; alt=&quot;JavaScript 실행&quot; filename=&quot;d7.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 533px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 533px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/243DB834583AA06D3A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F243DB834583AA06D3A&quot; width=&quot;300&quot; height=&quot;533&quot; alt=&quot;스마트폰 옵션&quot; filename=&quot;d8.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 533px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;스마트폰 일반 브라우저의 경우는 설정에 고급 메뉴가 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;자바스크립트 사용이라는 옵션을 활성화해주면 된다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 533px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/237A913B583AA15D24&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F237A913B583AA15D24&quot; width=&quot;300&quot; height=&quot;533&quot; alt=&quot;스마트폰 환경 설정&quot; filename=&quot;d9.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 533px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 533px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/236D763B583AA15F49&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F236D763B583AA15F49&quot; width=&quot;300&quot; height=&quot;533&quot; alt=&quot;인터넷 설정&quot; filename=&quot;d10.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 533px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>ETC/TroubleShooting</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/467</guid>
      <comments>https://androiddev.tistory.com/467#entry467comment</comments>
      <pubDate>Sun, 27 Nov 2016 18:09:54 +0900</pubDate>
    </item>
    <item>
      <title>ISMS 인증 의무 대상 강화</title>
      <link>https://androiddev.tistory.com/466</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;올해 초부터 정보통신망 이용촉진 및 정보보호 등에 관한 법률이 개정 예정이 되면서 관련하여 혼선이 많이 발생했었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 164px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2207003C582F8E5726&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2207003C582F8E5726&quot; width=&quot;600&quot; height=&quot;164&quot; alt=&quot;ISMS 인증 의무 대상 강화&quot; filename=&quot;k1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 164px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;초기에 나온 정보보호 관리체계 인증 대상자의 범위는&amp;nbsp;아래와 같다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다른 항목이야 기존과 차이가 없으므로, 1번 항목에 대해서만 보면 된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;기존 의무 대상 외 매출액 또는 세입 등이 1,500억원 이상으로서&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;(1) 「의료법」 제3조 제2항에 따른 의료기관&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;(2) 「전자금융거래법」 제2조의3에 따른 금융회사&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;(3) 전년도 말 기준 직전 3개월간의 하루 평균 이용자 수가 1만 명 이상의 세 조건 중 하나에 해당하는&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp; &amp;nbsp; 사업자로 제한&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;여기서 주의 깊게 봐야할 것이 전년도 말 기준 직전 3개월간의 일일 평균 이용자 수가 1만명 이상인 자이다. 여기서 이용자 수라는 부분이 논란이 많은데, 정보통신망법에서는 이용자 수란 방문자수가 아닌 페이지뷰를 이야기 한다. 즉 한 사람이 홈페이지에 들어와서 10개의 페이지를 봤다면 이용자 수는 10개가 된다. 이런 기준으로 한다면 왠만한 대기업뿐만이 아니라 중견기업도 다 ISMS 대상에 포함되게 된&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그런데 ISMS라는게 그리 쉬운 것도 아니고, 컨설팅 부터 해서, 시스템을 맞추기 위해 시설 투자, 시스템 보완등을 하기 위해서는 한 두푼이 들어가는게 아니다. 또한 시스템을 개선하기 위해 수 많은 공수가 투입될 수 밖에 없다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;개인적인 생각으로는 ISMS를 준비하는 것보다 사업을 접는 것이 이해타산이 맞는 기업도 적지는 않을 것이라 생각한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이런 내용으로 인해 대상에 포함 예정인 회사들의 반발이 심했고, 대상이 변경이 되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 341px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2532A73A582F89D522&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2532A73A582F89D522&quot; width=&quot;341&quot; height=&quot;107&quot; alt=&quot;ISMS 개정&quot; filename=&quot;e1.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;h2&gt;ISMS 인증 의무 대상&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 591px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2466F03A582F89D61A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2466F03A582F89D61A&quot; width=&quot;591&quot; height=&quot;409&quot; alt=&quot;ISMS 이용자 수&quot; filename=&quot;e3.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;변경된 내용에서는 아래와 같은 조건만 가지고 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;1. 연간 매출액 또는 세입이 1,500억원 이상인 자로서 다음 각 목의 어느 하나에 해당하는 자&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;가. 「의료법」 제3조의4에 따른 상급종합병원&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;나. 직전연도 12월 31일 기준으로 재학생 수가 1만명 이상인 「고등교육법」 제2조에 따른 학교&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;초기에 있었던 전년도 말 기준 직전 3개월간의 하루 평균 이용자 수가 1만 명 이상인 경우가 ISMS 대상에서 빠지게 되었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;대부분의 기업들이 ISMS 대상에서 제외되었지만, &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;병원과 학교에서는 갑자기 ISMS를 준비하게 되면서 갑자기 시설 투자를 하여야 하는데, 예산에 잡혀 있지 않기 때문에 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;어려움을 호소하고 있는 상태이&lt;/span&gt;다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>개인정보 보호법</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/466</guid>
      <comments>https://androiddev.tistory.com/466#entry466comment</comments>
      <pubDate>Sat, 19 Nov 2016 08:33:09 +0900</pubDate>
    </item>
    <item>
      <title>자바 어플리케이션 성능 향상 방법(쓰레드 배치 성능 향상)</title>
      <link>https://androiddev.tistory.com/465</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;자바 프로그램을 사용하다 보면 자바로 만든 어플리케이션이 뜻하지 않게 느려지는 경우가 발생한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;특히 쓰레드를 여러 개 생성해 사용하는 배치 프로그램일 경우는 개별 쓰레드&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;로 보면 느리지 않는데, 쓰레드가 몇 개 늘어나다 보면 더욱 더 느려지는 경우도 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;단일 쓰레드라면은 프로그램 사이&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;사이에 시간을 로깅하여 이 것으로 성능 향상이 필요한 구간을 찾을 수 있지만 &lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;멀티 쓰레드 프로그램이라면은 찾기가 어려워 진다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;특히 단일 쓰레드에서는 빠른데, 멀티 쓰레드로 할 때만 급격히 느려진다면, 아래 사항을 확인해 보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
.&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;h2&gt;자바 어플리케이션 성능 향상 방법&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;글쓴이의 경우는 초기에 OS의 소켓 생성 갯수가 영향을 미칠 수 있나에 대해 의심하고 찾아보았으나, 큰 문제가 없었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;그러다 GC를 확인해 보니, 특이한 점이 있었다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;중간 중간에 GC가 발생하는데, 생각 보다 많은 힙의 반환이 발생했다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 121px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/24403C38581736C019&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F24403C38581736C019&quot; width=&quot;600&quot; height=&quot;121&quot; alt=&quot;자바 어플리케이션 성능 향상 방법&quot; filename=&quot;c1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 121px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(0, 0, 0);&quot;&gt;이를 토대로 자바 프로그램 안에서 꼭 클래스 변수로 실행될 필요가 없는 것들을 static으로 선언하였다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt; color: rgb(0, 0, 0);&quot;&gt;특히 logger를 static으로 선언했을 때 속도가 빨라졌다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: sans-serif; font-size: 11pt;&quot;&gt;&lt;b&gt;private static Logger logger = Logger.getLogger(File.class);&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;color: rgb(64, 64, 64); font-family: sans-serif; font-size: 13px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: sans-serif; font-size: 11pt;&quot;&gt;위의 내용을 참고하여 프로그램 안에서 메모리를 효율적으로 사용하도록 코딩하면 멀티 쓰레드의 자바 어플리케이션의 성능도&amp;nbsp;많이 향상될 것이다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;.&lt;div id=&quot;adbeforelocate_bottm&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Java</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/465</guid>
      <comments>https://androiddev.tistory.com/465#entry465comment</comments>
      <pubDate>Mon, 31 Oct 2016 21:29:43 +0900</pubDate>
    </item>
    <item>
      <title>html5 예제 (기본 형식)</title>
      <link>https://androiddev.tistory.com/464</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;html5를 시작할 때마다 자주 사용하는 샘플이 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 포스팅에서는 html5의 예제와 기본 형식에 대해 알아보자.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 541px; width: 541px; height: 118px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/210AC9455813E64E32&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F210AC9455813E64E32&quot; width=&quot;541&quot; height=&quot;118&quot; alt=&quot;html5 기본 형식&quot; filename=&quot;b1.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 541px; height: 118px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;html5 예제&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;코드는 아래 링크에서 다운로드 받을 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block;   height: auto; max-width: 100%;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/2705F3455813E5BF32&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/txt.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;html5 예제.txt&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;div id=&quot;adbeforelocate&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;DOCTYPE&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: teal;&quot;&gt;html&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;Html5&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; color: black;&quot;&gt;예제&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&amp;nbsp;&lt;u&gt;&lt;span style=&quot;color: rgb(127, 0, 127);&quot;&gt;language&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: black;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: rgb(42, 0, 255);&quot;&gt;&quot;JavaScript&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 95, 191);&quot;&gt;&amp;lt;!--&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 95, 191);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function submit(){&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 95, 191);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert('&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(63, 95, 191);&quot;&gt;제출했습니다&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 95, 191);&quot;&gt;.');&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 95, 191);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 95, 191);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //--&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;script&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;form&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(127, 0, 127);&quot;&gt;action&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: rgb(42, 0, 255);&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;/i&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(127, 0, 127);&quot;&gt;method&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: rgb(42, 0, 255);&quot;&gt;&quot;post&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;ul&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&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;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; color: black;&quot;&gt;이름&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;input&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(127, 0, 127);&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: rgb(42, 0, 255);&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;/i&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(127, 0, 127);&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: rgb(42, 0, 255);&quot;&gt;&quot;testField&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: rgb(63, 127, 127);&quot;&gt;l&lt;wbr&gt;i&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&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;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(127, 0, 127);&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: rgb(42, 0, 255);&quot;&gt;'javascript:submit();'&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; color: black;&quot;&gt;제출&lt;wbr&gt;하기&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;ul&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;form&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;left&quot; style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px; word-break: keep-all;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: rgb(63, 127, 127);&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas; color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Consolas;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px;&quot;&gt;&lt;span&gt;&lt;u&gt;&lt;/u&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.8px;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Web</category>
      <author>을지휘소</author>
      <guid isPermaLink="true">https://androiddev.tistory.com/464</guid>
      <comments>https://androiddev.tistory.com/464#entry464comment</comments>
      <pubDate>Sat, 29 Oct 2016 08:54:30 +0900</pubDate>
    </item>
  </channel>
</rss>