<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개인이 끄적끄적 거리는 블로그</title>
    <link>https://dotweb.tistory.com/</link>
    <description>٩( ͡◉ ̯ ͡◉)۶</description>
    <language>ko</language>
    <pubDate>Thu, 9 Apr 2026 02:37:00 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>쇠주는참이슬</managingEditor>
    <image>
      <title>개인이 끄적끄적 거리는 블로그</title>
      <url>https://t1.daumcdn.net/cfile/tistory/1232484C4F8663880B</url>
      <link>https://dotweb.tistory.com</link>
    </image>
    <item>
      <title>아이폰(iPhone) 15 출시</title>
      <link>https://dotweb.tistory.com/234</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;애플사에서 발매한 아이폰 15는 새로운 기능과 향상된 성능으로 많은 사람들의 관심을 받고 있는 최신 스마트폰입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아이폰 15의 주요 스펙과 가격, 그리고 추가 정보에 대해 알아보겠습니다. &lt;br /&gt;&lt;br /&gt;디자인: &lt;br /&gt;아이폰&amp;nbsp;15는&amp;nbsp;이전&amp;nbsp;모델보다&amp;nbsp;더&amp;nbsp;얇고&amp;nbsp;경량화된&amp;nbsp;디자인을&amp;nbsp;갖추었습니다. &lt;br /&gt;전면부와&amp;nbsp;후면부&amp;nbsp;모두에&amp;nbsp;내구성이&amp;nbsp;높은&amp;nbsp;특수한&amp;nbsp;유리&amp;nbsp;재질을&amp;nbsp;사용하여&amp;nbsp;보다&amp;nbsp;견고하게&amp;nbsp;제작되었습니다. &lt;br /&gt;다양한&amp;nbsp;색상&amp;nbsp;옵션&amp;nbsp;중에서&amp;nbsp;선택할&amp;nbsp;수&amp;nbsp;있어&amp;nbsp;개성적인&amp;nbsp;디자인을&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;디스플레이: &lt;br /&gt;아이폰&amp;nbsp;15는&amp;nbsp;OLED&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;HDR10&amp;nbsp;및&amp;nbsp;ProMotion&amp;nbsp;기술&amp;nbsp;지원으로&amp;nbsp;시각적&amp;nbsp;경험을&amp;nbsp;향상시켜줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;카메라: &lt;br /&gt;카메라&amp;nbsp;성능&amp;nbsp;역시&amp;nbsp;크게&amp;nbsp;향상되었습니다.&amp;nbsp;듀얼&amp;nbsp;또는&amp;nbsp;트리프로&amp;nbsp;카메라&amp;nbsp;시스템을&amp;nbsp;탑재하여&amp;nbsp;보다&amp;nbsp;정교하고&amp;nbsp;생생한&amp;nbsp;사진과&amp;nbsp;동영상&amp;nbsp;촬영이&amp;nbsp;가능합니다. &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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;성능: &lt;br /&gt;A16&amp;nbsp;Bionic&amp;nbsp;칩셋과&amp;nbsp;함께&amp;nbsp;동작하는&amp;nbsp;아이폰&amp;nbsp;15는&amp;nbsp;이전&amp;nbsp;모델보다&amp;nbsp;월등한&amp;nbsp;속도와&amp;nbsp;처리력을&amp;nbsp;자랑합니다. &lt;br /&gt;RAM&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;추가&amp;nbsp;기능: &lt;br /&gt;Face&amp;nbsp;ID&amp;nbsp;얼굴&amp;nbsp;인식&amp;nbsp;시스탬은&amp;nbsp;보안성과&amp;nbsp;사용&amp;nbsp;편의성&amp;nbsp;면에서&amp;nbsp;계속해서&amp;nbsp;발전되었습니다. &lt;br /&gt;배터리&amp;nbsp;수명&amp;nbsp;및&amp;nbsp;충전&amp;nbsp;속도가&amp;nbsp;개선되어&amp;nbsp;긴&amp;nbsp;사용&amp;nbsp;시간&amp;nbsp;동안&amp;nbsp;안정적인&amp;nbsp;작동을&amp;nbsp;제공합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 아이폰15 시리즈는 모두 기존의 라이트닝 포트 대신 USB-C 충전단자가 도입됐습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가격:&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아이폰&amp;nbsp;기본&amp;nbsp;모델은&amp;nbsp;799달러(128GB),&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;플러스는&amp;nbsp;899달러(128GB),&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로는&amp;nbsp;999달러(128GB),&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로맥스는&amp;nbsp;1천199달러(256GB)부터&amp;nbsp;시작&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아이폰15, iphone15, 아이폰&lt;/p&gt;</description>
      <category>세상이야기</category>
      <category>iphone</category>
      <category>아이폰</category>
      <category>아이폰15</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/234</guid>
      <comments>https://dotweb.tistory.com/234#entry234comment</comments>
      <pubDate>Wed, 13 Sep 2023 10:44:47 +0900</pubDate>
    </item>
    <item>
      <title>[아.달.금] 2화 다중채무 예방을 위한 대출관리</title>
      <link>https://dotweb.tistory.com/233</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;대출관리는 꼼꼼하게 !&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://shinhan-easy.hunet.co.kr/Edu/Imagine/Detail?goodsId=Y00216525&amp;amp;IsSeries=N&quot;&gt;https://shinhan-easy.hunet.co.kr/Edu/Imagine/Detail?goodsId=Y00216525&amp;amp;IsSeries=N&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1694563444518&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;신한이지 금융교육 플랫폼&quot; data-og-description=&quot;금융체험관, 생애주기별 금융교육, 잼테크, 경제신문읽기특훈&quot; data-og-host=&quot;shinhan-easy.hunet.co.kr&quot; data-og-source-url=&quot;https://shinhan-easy.hunet.co.kr/Edu/Imagine/Detail?goodsId=Y00216525&amp;amp;IsSeries=N&quot; data-og-url=&quot;https://shinhan-easy.hunet.co.kr&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cQt2Yj/hyTSq5mRQh/csNkEQWsgSLZu4IjoSl6gk/img.png?width=166&amp;amp;height=48&amp;amp;face=0_0_166_48&quot;&gt;&lt;a href=&quot;https://shinhan-easy.hunet.co.kr/Edu/Imagine/Detail?goodsId=Y00216525&amp;amp;IsSeries=N&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://shinhan-easy.hunet.co.kr/Edu/Imagine/Detail?goodsId=Y00216525&amp;amp;IsSeries=N&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cQt2Yj/hyTSq5mRQh/csNkEQWsgSLZu4IjoSl6gk/img.png?width=166&amp;amp;height=48&amp;amp;face=0_0_166_48');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;신한이지 금융교육 플랫폼&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;금융체험관, 생애주기별 금융교육, 잼테크, 경제신문읽기특훈&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;shinhan-easy.hunet.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;#신한이지#금융교육#영상콘텐츠&lt;/p&gt;</description>
      <category>세상이야기</category>
      <category>금융교육</category>
      <category>신한이지</category>
      <category>영상콘텐츠</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/233</guid>
      <comments>https://dotweb.tistory.com/233#entry233comment</comments>
      <pubDate>Tue, 12 Sep 2023 14:47:05 +0900</pubDate>
    </item>
    <item>
      <title>HTML5 DataList</title>
      <link>https://dotweb.tistory.com/232</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;datalist&amp;gt; 요소는 입력 필드 (&amp;lt;input&amp;gt;)와 함께 사용되어 사용자가 값을 입력할 때 미리 정의한 옵션들을 드롭다운 목록으로 제공하는 HTML5 요소이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자가 값을 입력하는 동안에도 드롭다운 목록의 값들을 보여줌으로써 사용자의 편의성을 높이고 입력 오류를 줄일 수 있다.&amp;nbsp; jquery autocomplete 와 흡사&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #f7f7f8; color: #374151; text-align: start;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;연동되는 인풋 컨트롤&lt;/b&gt;: &amp;lt;datalist&amp;gt; 요소는 &amp;lt;input&amp;gt; 요소의 list 속성과 연동됩니다. 사용자가 &amp;lt;input&amp;gt; 요소에 값을 입력하면 &amp;lt;datalist&amp;gt;에서 정의한 옵션 중에서 일치하는 값을 드롭다운으로 보여줍니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;사용자 선택 가능&lt;/b&gt;: 사용자는 드롭다운에서 제공되는 옵션 중 하나를 선택하여 입력 필드에 삽입할 수 있습니다. 이로써 사용자의 편의성을 높일 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;커스텀 옵션&lt;/b&gt;: &amp;lt;datalist&amp;gt; 요소에 나열된 값 이외에도, 사용자가 직접 입력할 수 있습니다. 이를 통해 입력 필드는 제시된 값 외에도 다른 값을 입력할 수 있습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[사용예]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;label&amp;nbsp;for=&quot;browser&quot;&amp;gt;Choose&amp;nbsp;a&amp;nbsp;browser&amp;nbsp;from&amp;nbsp;the&amp;nbsp;list:&amp;lt;/label&amp;gt; &lt;br /&gt;&amp;lt;input&amp;nbsp;list=&quot;browsers&quot;&amp;nbsp;id=&quot;browser&quot;&amp;nbsp;name=&quot;browser&quot;&amp;nbsp;/&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;datalist&amp;nbsp;id=&quot;browsers&quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;option&amp;nbsp;value=&quot;Chrome&quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;option&amp;nbsp;value=&quot;Firefox&quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;option&amp;nbsp;value=&quot;Internet&amp;nbsp;Explorer&quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;option&amp;nbsp;value=&quot;Opera&quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;option&amp;nbsp;value=&quot;Safari&quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;option&amp;nbsp;value=&quot;Microsoft&amp;nbsp;Edge&quot;&amp;gt; &lt;br /&gt;&amp;lt;/datalist&amp;gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 예제에서 &amp;lt;input&amp;gt; 요소의 type은 text로 설정되어 있고, list 속성은 browsers로 설정되어 있습니다. 이렇게 하면 사용자가 입력 필드에 값을 입력하면, &amp;lt;datalist&amp;gt; 요소에서 정의한 옵션 값들 중에서 입력과 일치하는 값이 드롭다운으로 표시됩니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;사용자는 드롭다운에서 제공되는 옵션 중에서 선택하거나, 직접 값을 입력할 수 있습니다. 만약 입력 필드에 드롭다운 목록에 없는 값이 입력되면, 브라우저는 해당 값을 입력 필드에 그대로 표시합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #f7f7f8; color: #374151; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lt;datalist&amp;gt; 요소를 사용함으로써 다양한 입력 폼에서 사용자의 편의성을 높일 수 있습니다. 예를 들어, 검색어 입력, 국가 선택, 카테고리 선택 등 다양한 상황에서 사용할 수 있습니다. 그러나 &amp;lt;datalist&amp;gt; 요소는 모든 브라우저에서 완벽하게 지원되지는 않을 수 있으므로, 사용 시 브라우저 호환성을 고려하는 것이 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 구현 및 테스트는 아래에서 확인 (브라우저 호환성 포함)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt; &lt;a href=&quot;https://developer.mozilla.org/ko/docs/Web/HTML/Element/datalist&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://developer.mozilla.org/ko/docs/Web/HTML/Element/datalist&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/HTML5</category>
      <category>DataList</category>
      <category>html5</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/232</guid>
      <comments>https://dotweb.tistory.com/232#entry232comment</comments>
      <pubDate>Thu, 31 Aug 2023 10:40:24 +0900</pubDate>
    </item>
    <item>
      <title>닷넷 4.8에서 카프카 컨슈머 구성하기 (Kafka Consumer)</title>
      <link>https://dotweb.tistory.com/231</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;1. NuGet 패키지 설치: &lt;br /&gt;프로젝트에&amp;nbsp;Confluent.Kafka&amp;nbsp;NuGet&amp;nbsp;패키지를&amp;nbsp;추가합니다.&amp;nbsp;이&amp;nbsp;패키지는&amp;nbsp;Kafka&amp;nbsp;클라이언트를&amp;nbsp;제어하는&amp;nbsp;데&amp;nbsp;사용 &lt;br /&gt;&lt;br /&gt;2. Kafka 클라이언트 구성: &lt;br /&gt;ProducerConfig 및 ConsumerConfig 클래스를 사용하여 Kafka 클라이언트를 구성. 여기에는 Kafka 브로커, 토픽, 그룹 ID 등의 설정이 포함된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;샘플소스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;using&amp;nbsp;Confluent.Kafka; &lt;br /&gt;using&amp;nbsp;System; &lt;br /&gt;&lt;br /&gt;class&amp;nbsp;Program &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;static&amp;nbsp;void&amp;nbsp;Main(string[]&amp;nbsp;args) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Kafka&amp;nbsp;클라이언트&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;producerConfig&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ProducerConfig &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BootstrapServers&amp;nbsp;=&amp;nbsp;&quot;localhost:9092&quot;,&amp;nbsp;//&amp;nbsp;Kafka&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;ClientId&amp;nbsp;=&amp;nbsp;&quot;sample-producer&quot; &lt;br /&gt;&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;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Kafka&amp;nbsp;Producer&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using&amp;nbsp;(var&amp;nbsp;producer&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ProducerBuilder&amp;lt;Null,&amp;nbsp;string&amp;gt;(producerConfig).Build()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;메시지&amp;nbsp;전송 &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;producer.Produce(&quot;sample-topic&quot;,&amp;nbsp;new&amp;nbsp;Message&amp;lt;Null,&amp;nbsp;string&amp;gt;&amp;nbsp;{&amp;nbsp;Value&amp;nbsp;=&amp;nbsp;&quot;Hello&amp;nbsp;Kafka&quot;&amp;nbsp;}); &lt;br /&gt;&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;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Kafka&amp;nbsp;Consumer&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;consumerConfig&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ConsumerConfig &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BootstrapServers&amp;nbsp;=&amp;nbsp;&quot;localhost:9092&quot;, &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;GroupId&amp;nbsp;=&amp;nbsp;&quot;sample-consumer-group&quot;, &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;AutoOffsetReset&amp;nbsp;=&amp;nbsp;AutoOffsetReset.Earliest &lt;br /&gt;&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;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Kafka&amp;nbsp;Consumer&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using&amp;nbsp;(var&amp;nbsp;consumer&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ConsumerBuilder&amp;lt;Ignore,&amp;nbsp;string&amp;gt;(consumerConfig).Build()) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;토픽&amp;nbsp;구독 &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;consumer.Subscribe(&quot;sample-topic&quot;); &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;메시지&amp;nbsp;수신&amp;nbsp;루프 &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;while&amp;nbsp;(true) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;consumeResult&amp;nbsp;=&amp;nbsp;consumer.Consume(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine($&quot;Received:&amp;nbsp;{consumeResult.Message.Value}&quot;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;}&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당부분은 컨슈머에 대한 구성으로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kafka 클러스터 및 브로커가 미리 구성되어 있어야 함.&lt;/p&gt;</description>
      <category>프로그래밍/ASP.NET MVC</category>
      <category>consumer</category>
      <category>Kafka</category>
      <category>카프카</category>
      <category>컨슈머</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/231</guid>
      <comments>https://dotweb.tistory.com/231#entry231comment</comments>
      <pubDate>Tue, 29 Aug 2023 15:15:28 +0900</pubDate>
    </item>
    <item>
      <title>TestDriven.NET 닷넷 유닛테스트</title>
      <link>https://dotweb.tistory.com/228</link>
      <description>&lt;h1 id=&quot;ctl00_ArticleTitle&quot; itemprop=&quot;name&quot; style=&quot;font-family: 'Segoe UI', Arial, sans-serif; font-size: 29px; line-height: normal; color: rgb(51, 51, 51); font-weight: 200; padding: 0px; margin: 0px 0px 15px;&quot;&gt;TestDriven.NET&lt;/h1&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;유닛테스트용 오픈소스&lt;/div&gt;&lt;div&gt;공식 홈페이지는 여기에 :&amp;nbsp;http://www.testdriven.net/quickstart.aspx&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;사용방법은 아주 간단하다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&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: 690px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/266C313656D00EBC24&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F266C313656D00EBC24&quot; width=&quot;690&quot; height=&quot;494&quot; filename=&quot;이미지 2.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Run Test(s) 를 실행하면 하단 출력페이지에 해당 메소드 실행결과가 표시된다.&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: 626px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/275CDC3356D00F081A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F275CDC3356D00F081A&quot; width=&quot;626&quot; height=&quot;140&quot; filename=&quot;이미지 5.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;더 많은 기능들이 있지만 간략하게 소개는 여기까지 진행하고,&amp;nbsp;&lt;span style=&quot;line-height: 1.5;&quot;&gt;상세내용은 공식사이트에서 확인!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;※ 참고로 NUnit 을 이용한 TDD 방법도 있으니 참고하면됨&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;TestDriven : http://www.testdriven.net/quickstart.aspx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>프로그래밍/.NetFramework</category>
      <category>NUnit</category>
      <category>TESTDRIVEN</category>
      <category>단위테스트</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/228</guid>
      <comments>https://dotweb.tistory.com/228#entry228comment</comments>
      <pubDate>Fri, 26 Feb 2016 17:42:06 +0900</pubDate>
    </item>
    <item>
      <title>프로시저 사용시 기본선언문 (SET NOCOUNT ON, 트랜잭션격리수준)</title>
      <link>https://dotweb.tistory.com/227</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7428573608382872&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7428573608382872&quot; data-ad-slot=&quot;1157337257&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
프로시저 사용시 아래 두가지 를 같이 선언해서 사용하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 프로시저 실행시 서버의 부하를 주게될수 있는 결과 메시지를 OFF&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&amp;gt; 프로시저를 생성하고 실행하면 &quot;(N개 행이 영향을 받음)&quot; 이라는 메시지가 노출된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;테이블에 SELECT, INSERT, UPDATE, DELETE 등 트랜잭션이 발생한 결과를 사용자에게 알려주는 기능이지만 서버에 부하를 줄 수 있다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;b&gt;SET NOCOUNT ON;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 트랜잭션 격리수준 설정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&amp;gt; SELECT 문장을 수행하는 경우 해당 데이터에 Shared Lock이 걸리지 않는 수준, 따라서 어떤 사용자가 A라는 데이터를 B라는 데이터로 변경하는동안,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;다른 사용자는 B라는 아직 완료되지 않은 데이터를 읽을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>프로그래밍/MSSQL</category>
      <category>lock</category>
      <category>nocount</category>
      <category>격리수준</category>
      <category>락</category>
      <category>프로시저</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/227</guid>
      <comments>https://dotweb.tistory.com/227#entry227comment</comments>
      <pubDate>Sat, 20 Feb 2016 14:53:34 +0900</pubDate>
    </item>
    <item>
      <title>간단하게 사용하는 JSONP</title>
      <link>https://dotweb.tistory.com/226</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7428573608382872&quot;&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: block; text-align: center;&quot; data-ad-layout=&quot;in-article&quot; data-ad-format=&quot;fluid&quot; data-ad-client=&quot;ca-pub-7428573608382872&quot; data-ad-slot=&quot;1157337257&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script&gt;
     (adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;390&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/2350944256A5EF7808?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/2350944256A5EF7808?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2350944256A5EF7808&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2350944256A5EF7808&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;390&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;390&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ASP.NET &amp;nbsp;에서 JSONP 사용하기.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터를 호출하는 도메인과, 반환하는 도메인이 다르면&amp;nbsp;&lt;span style=&quot;line-height: 1.5;&quot;&gt;ajax를 이용할 수가 없다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;허나 아래와같이 JSONP를 이용한다면 사용가능하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WebAPI를 이용하는 방법과,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇지 않은경우 두가지 방법을 간단하게 설명하려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. WebAPI 사용&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&amp;gt; Global.asax 에 아래 JsonpMediaTypeFormatter 한줄만 추가해주고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Client 단에서 jsonp로 호출하면된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 4px; font-stretch: normal; font-size: 0.9333em; line-height: 1.5em; font-family: Consolas, 'Lucida Console', 'DejaVu Sans Mono', Monaco, 'Courier New', monospace; color: #f8f8f8; background: #000000;&quot;&gt;&lt;code&gt;var config = GlobalConfiguration.Configuration; config.Formatters.Insert(0, new JsonpMediaTypeFormatter());&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 4px; font-stretch: normal; font-size: 0.9333em; line-height: 1.5em; font-family: Consolas, 'Lucida Console', 'DejaVu Sans Mono', Monaco, 'Courier New', monospace; color: #f8f8f8; background: #000000;&quot;&gt;&lt;code&gt;$.ajax({     url: 'http://myurl.com',     type: 'GET',     dataType: 'jsonp',     success: function (data) {         alert(data.MyProperty);     } })&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code style=&quot;margin: 0px; padding: 0px; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; white-space: inherit;&quot;&gt;&lt;span style=&quot;margin: 0px; padding: 0px; border: 0px; color: #000000;&quot; class=&quot;pun&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;/div&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; ajax 호출시 해당 웹 서비스에 파라미터로 myCallback 이 넘어간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; jsonp 의 myCallback 을 함수로 싸서 리턴하면 간단하게 jsonp를 사용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Client 영역&lt;/p&gt;
&lt;pre class=&quot;vim&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 4px; font-stretch: normal; font-size: 0.9333em; line-height: 1.5em; font-family: Consolas, 'Lucida Console', 'DejaVu Sans Mono', Monaco, 'Courier New', monospace; color: #f8f8f8; background: #000000;&quot;&gt;&lt;code&gt;$.ajax({     url: 'http://myurl.com',     type: 'GET',     dataType: 'jsonp',     jsonp:'myCallback'     success: function (data) {         alert(data.MyProperty);     } })&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Server 영역&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;client 에서 호출한 jsonp myCallback 을 아래와같이 처리해서 넘겨주면 된다.&lt;/p&gt;
&lt;pre class=&quot;vbscript&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 4px; font-stretch: normal; font-size: 0.9333em; line-height: 1.5em; font-family: Consolas, 'Lucida Console', 'DejaVu Sans Mono', Monaco, 'Courier New', monospace; color: #f8f8f8; background: #000000;&quot;&gt;&lt;code&gt;string response = context.Request.Params[&quot;myCallback&quot;];        response += &quot;({'result':'json문자열'})&quot; context.Response.Write(response);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조금더 응용하려면 아래 사이트를 참고하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;http://stove99.tistory.com/10&lt;/p&gt;</description>
      <category>프로그래밍/ASP.NET</category>
      <category>Ajax</category>
      <category>ASP.NET</category>
      <category>json</category>
      <category>jsonp</category>
      <category>크로스도메인</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/226</guid>
      <comments>https://dotweb.tistory.com/226#entry226comment</comments>
      <pubDate>Mon, 25 Jan 2016 18:46:27 +0900</pubDate>
    </item>
    <item>
      <title>CORS 상황에서 ajax response로 쿠키(cookie)를 생성할 때 생성되지 않는 경우</title>
      <link>https://dotweb.tistory.com/225</link>
      <description>&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 450px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/272A853D56A5EFB32F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F272A853D56A5EFB32F&quot; width=&quot;450&quot; height=&quot;260&quot; filename=&quot;cross.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;SSO 환경에서 쿠키정보를 기반으로 로그인이 되어있는 상황&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;ajax 를 이용하여 크로스 도메인상태에서 해당 서비스를 호출을 하면 쿠키정보가 전송되지 않는다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;아래 해결방법&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;* ajax option에 xhrfields : {withCredentials : true} 를 주자&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;* 서버사이드에서는 (ex: 웹서버) 아래의 Http Header 설정도 필요하다.&lt;br style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased;&quot;&gt;Access-Control-Allow-Credentials : true&lt;br style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased;&quot;&gt;Access-Control-Allow-Origin : http://aaa.com&lt;br style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased;&quot;&gt;=&amp;gt; withCredentials의 true인 경우에는 asterisk(*)를 사용할 수 없고 도메인을 명시/나열해야 한다.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;* 쿠키를 생성했다고 해도,&amp;nbsp;&lt;strong style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased;&quot;&gt;CORS 요청일 경우에는 쿠키가 전혀 전송되지 않음&lt;/strong&gt;에 주의하자.&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; -webkit-font-smoothing: antialiased; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-size: 14px; color: rgb(82, 82, 82); font-family: 'Nanum Gothic', Helvetica, sans-serif; line-height: 21px;&quot;&gt;출처 :&amp;nbsp;http://itpsolver.com/ajax-response%EB%A1%9C-%EC%BF%A0%ED%82%A4cookie%EB%A5%BC-%EC%83%9D%EC%84%B1%ED%95%A0-%EB%95%8C-%EC%83%9D%EC%84%B1%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EA%B2%BD%EC%9A%B0/&lt;/p&gt;</description>
      <category>프로그래밍/JavaScript Web App</category>
      <category>acces-controll-allow</category>
      <category>Access-Control-Allow-Credentials</category>
      <category>xhrfields</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/225</guid>
      <comments>https://dotweb.tistory.com/225#entry225comment</comments>
      <pubDate>Wed, 9 Dec 2015 20:06:10 +0900</pubDate>
    </item>
    <item>
      <title>웹 서비스에서 GZIP 압축해서 데이터 보내기</title>
      <link>https://dotweb.tistory.com/224</link>
      <description>&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: 256px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/224C074356A5EF4032&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F224C074356A5EF4032&quot; width=&quot;256&quot; height=&quot;237&quot; filename=&quot;1.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;WebAPI 말고, WebMethod 를 이용하는 경우,&lt;/p&gt;&lt;p&gt;리스폰스 되는 데이터를 GZIP 형식으로 압축해서 보내려고 하면 아래와같이 하면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Glabal.asax 페이지에 아래 코드 삽입하고&lt;/p&gt;&lt;p&gt;웹메소드에서 JSON 형식으로 데이터를 Response 하면 GZIP 형식으로 압축되어서 전송된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;public void Init(HttpApplication context)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; context.PreRequestHandlerExecute += new EventHandler(Application_PreRequestHandlerExecute);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; void Application_PreRequestHandlerExecute(object sender, EventArgs e)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HttpApplication app = (HttpApplication)sender;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string acceptEncoding = app.Request.Headers[&quot;Accept-Encoding&quot;];&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (string.IsNullOrEmpty(acceptEncoding))&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (acceptEncoding.IndexOf(&quot;gzip&quot;, StringComparison.InvariantCultureIgnoreCase) &amp;gt;= 0)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.Response.Filter = new System.IO.Compression.GZipStream(app.Response.Filter, System.IO.Compression.CompressionMode.Compress);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.Response.AppendHeader(&quot;Content-Encoding&quot;, &quot;gzip&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (acceptEncoding.IndexOf(&quot;deflate&quot;, StringComparison.InvariantCultureIgnoreCase) &amp;gt;= 0&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| acceptEncoding == &quot;*&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.Response.Filter = new System.IO.Compression.DeflateStream(app.Response.Filter, System.IO.Compression.CompressionMode.Compress);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.Response.AppendHeader(&quot;Content-Encoding&quot;, &quot;deflate&quot;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; }&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;br /&gt;&lt;/p&gt;&lt;p&gt;asmx, gzip, compression, clinet&lt;/p&gt;</description>
      <category>프로그래밍/ASP.NET</category>
      <category>ASMX</category>
      <category>Compression</category>
      <category>gzip</category>
      <category>WebMethod</category>
      <category>압축</category>
      <category>웹메소드</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/224</guid>
      <comments>https://dotweb.tistory.com/224#entry224comment</comments>
      <pubDate>Fri, 2 Oct 2015 14:05:02 +0900</pubDate>
    </item>
    <item>
      <title>[tracert] 네트워크 구간별 경로 추적 유틸</title>
      <link>https://dotweb.tistory.com/223</link>
      <description>&lt;p&gt;서버에는 전혀 부하도 없고 별다른 문제가 발견되지 않았는데, 웹 접속이 유난히 느리다면&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;접속을 시도하는 PC에서 해당 서버까지 도달하는 네트워크 회선 중 문제가 있지 않을까 의심을 해볼 수 있다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;(쉽게 말해서, 인터넷이 느릴 때 네트워크 상태를 의심하는 경우)&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;이때 단순히 내부 네트워크망이 문제일 수도 있지만, 중간에 여러 경로를 거치는 과정에서 문제가 있을 수도 있는데,&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;어떤 경로에서 문제가 있는지를 체크할 수 있는 명령어가 바로 tracert이다.&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;div style=&quot;padding: 10px; border: 1px dashed rgb(121, 165, 228); background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;1. tracert &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;?&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;tracert는 trace route의 줄인 말로, 영어 뜻 그대로 'route를 추적한다'는 의미를 가지고 있다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;위키피디아(&lt;a href=&quot;http://ko.wikipedia.org/wiki/Traceroute&quot;&gt;http://ko.wikipedia.org/wiki/Traceroute&lt;/a&gt;)에 나온 정의는 아래와 같다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;traceroute 혹은 tracert는 인터넷을 통해 거친 경로를 표시하고 그 구간의 정보를 기록하고 인터넷 프로토콜 네트워크를 통해 패킷의 전송 지연을 측정하기 위한 컴퓨터 네트워크 진단 유틸리티이다.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;그렇다면 라우터는 무엇인가? 라우터 역시 위키피디아(&lt;a href=&quot;http://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%84%B0&quot;&gt;http://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%84%B0&lt;/a&gt;)에서 정의를 찾아보면 아래와 같다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;라우터(router, 문화어: 경로기)는 패킷의 위치를 추출하여 그 위치에 대한 최상의 경로를 지정하며 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치이다.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;같은 말이지만 좀 더 쉽게 표현하자면, 라우터는 데이터 패킷이 목적지까지 갈 수 있는 길을 검사하고, 어떤 길로 가는 것이 가장 적절한 것인지를 결정한 뒤 그 길로 데이터 패킷을 스위칭해주는 장비이다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;총정리 하자면, &lt;u&gt;네트워크를 통해 클라이언트에서 서버로 접속하기 위해서는 라우터라는 장비를 꼭 거치게 되는데, tracert 명령어는 이 과정에 있어서 어떤 라우터까지 데이터가 도달하였는지, 그리고 그 구간별 속도를 알려주는 명령어이다.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div style=&quot;padding: 10px; border: 1px dashed rgb(121, 165, 228); background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;2. tracert 명령어 사용법&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;tracert 명령어 사용법은 아주 간단하다. 콘솔 창에서(윈도우라면 시작-실행-cmd를 실행하면 콘솔 창을 열 수 있다) 아래와 같은 명령어를 입력하면 된다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;tracert [IP주소 혹은 도메인주소]&lt;/strong&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;예를 들어 nota.tistory.com를 접속할 때 거치는 네트워크 경로와 각 구간별 속도를 확인하고 싶다면 아래와 같이 입력하면 된다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&amp;gt;&amp;gt; tracert nota.tistory.com&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;그러면 각 라우터의 IP나 이름이 나오고, 구간별 속도가 나온다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;(보안 상 막혀있는 경우는 '*'로 나오게 된다.)&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div style=&quot;padding: 10px; border: 1px dashed rgb(121, 165, 228); background-color: rgb(219, 232, 251);&quot; class=&quot;txc-textbox&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;3. tracert 명령어 옵션&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;tracert 명령어에 줄 수 있는 옵션들은 아래 표와 같다.&lt;/p&gt;&lt;p&gt;(콘솔 창에서 tracert -/? 라고 입력하면 나온다.) &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;table style=&quot;border: currentcolor; font-size: 9pt; border-collapse: collapse;&quot; class=&quot;txc-table&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;645&quot; align=&quot;center&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(204, 204, 204); width: 120px; height: 24px; background-color: rgb(217, 229, 255);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;strong&gt;옵션&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; background-color: rgb(217, 229, 255);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;strong&gt;내용&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 120px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;&quot;&gt; -d&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;&quot;&gt;&lt;p&gt; 주소를 호스트 이름으로 확인하지 않는다.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 120px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;&quot;&gt; -h maximum_hops&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;&quot;&gt;&lt;p&gt; 대상 검색을 위해 최대 홉 수를 설정한다.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 120px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;&quot;&gt; -j host-list&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;&quot;&gt;&lt;p&gt; host-list에 따라 원본 라우팅을 완화한다(IPv4에만 해당).&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 120px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;&quot;&gt; -w timeout&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;&quot;&gt; 각 응답의대기 시간 제한(밀리초)을 둔다.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 120px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;&quot;&gt; -R&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;&quot;&gt;&lt;p&gt; 왕복 경로를 추적한다(IPv6에만 해당).&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 120px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;&quot;&gt;&lt;p&gt; -S srcaddr&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;&quot;&gt;&lt;p&gt; 사용할 원본 주소를 설정한다(IPv6에만 해당).&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 120px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;&quot;&gt; -4&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;&quot;&gt; IPv4를 사용한다.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width: 120px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-right-style: solid; border-bottom-style: solid; border-left-style: solid;&quot;&gt; -6&lt;/td&gt;&lt;td style=&quot;width: 526px; height: 24px; border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;&quot;&gt;&lt;p&gt; IPv6를 사용한다.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;출처 :&amp;nbsp;http://nota.tistory.com/39&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>프로그래밍/기타</category>
      <category>cmd</category>
      <category>route</category>
      <category>trace</category>
      <category>Trace Route</category>
      <category>TRACERT</category>
      <category>트레이스</category>
      <author>쇠주는참이슬</author>
      <guid isPermaLink="true">https://dotweb.tistory.com/223</guid>
      <comments>https://dotweb.tistory.com/223#entry223comment</comments>
      <pubDate>Wed, 30 Sep 2015 09:51:40 +0900</pubDate>
    </item>
  </channel>
</rss>