<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>GyuStory</title>
    <link>https://hangyujung.tistory.com/</link>
    <description>#알고리즘 #코딩 #IT지식 #규정이의살아가는이야기</description>
    <language>ko</language>
    <pubDate>Thu, 9 Apr 2026 13:45:14 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>잼규</managingEditor>
    <image>
      <title>GyuStory</title>
      <url>https://tistory1.daumcdn.net/tistory/4439613/attach/e8a56b0eaa0c43de86145a565b12bc5d</url>
      <link>https://hangyujung.tistory.com</link>
    </image>
    <item>
      <title>[스프링 핵심 원리] 객체 지향 설계와 스프링</title>
      <link>https://hangyujung.tistory.com/110</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;각&amp;nbsp;기술의&amp;nbsp;본질과&amp;nbsp;등장&amp;nbsp;배경을&amp;nbsp;알아야&amp;nbsp;단순히&amp;nbsp;API&amp;nbsp;기능만&amp;nbsp;활용하는&amp;nbsp;단순&amp;nbsp;수동적인&amp;nbsp;개발자가&amp;nbsp;되지&amp;nbsp;않는다. &lt;br /&gt;&lt;br /&gt;스프링&amp;nbsp; &lt;br /&gt;-&amp;nbsp;자바&amp;nbsp;언어&amp;nbsp;기반의&amp;nbsp;프레임워크 &lt;br /&gt;-&amp;nbsp;좋은&amp;nbsp;객체&amp;nbsp;지향&amp;nbsp;어플리케이션&amp;nbsp; &lt;br /&gt;--&amp;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;&lt;br /&gt;그렇다면&amp;nbsp;객체지향이라는&amp;nbsp;것이&amp;nbsp;뭔데?&amp;nbsp; &lt;br /&gt;&lt;br /&gt;객체지향&amp;nbsp;프로그래밍이란&amp;nbsp;-&amp;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;gt;&amp;nbsp;유연하고&amp;nbsp;변경이&amp;nbsp;용이 &lt;br /&gt;&lt;br /&gt;특징&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.&amp;nbsp;&lt;b&gt;다형성&lt;/b&gt;(ex&amp;nbsp;자동차) &lt;br /&gt;-&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;역전(IoC),&amp;nbsp;의존&amp;nbsp;관계주입(DI)&amp;nbsp;는&amp;nbsp;다형성을&amp;nbsp;활용하여&amp;nbsp;구현을&amp;nbsp;편리하게&amp;nbsp;다룰수록&amp;nbsp;하는&amp;nbsp;것. &lt;br /&gt;&lt;br /&gt;-&amp;gt;&amp;nbsp;결국&amp;nbsp;스프링은&amp;nbsp;다형성을&amp;nbsp;극대화하여&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있게&amp;nbsp;해주는&amp;nbsp;프레임워크. &lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;SOLID&amp;nbsp;(객체지향&amp;nbsp;설계&amp;nbsp;5가지&amp;nbsp;원칙) &lt;br /&gt;-&amp;nbsp;S&amp;nbsp;&amp;nbsp;Single&amp;nbsp;Responsibility(단일책임)&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;&lt;b&gt;O&amp;nbsp;&amp;nbsp;Open/closed(개발-폐쇄)&amp;nbsp;:&amp;nbsp;인터페이스를&amp;nbsp;구현한&amp;nbsp;클래스를&amp;nbsp;만들어서&amp;nbsp;새로운&amp;nbsp;기능을&amp;nbsp;구현&lt;/b&gt; &lt;br /&gt;-&amp;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;gt;&amp;nbsp;이&amp;nbsp;부분을&amp;nbsp;스프링&amp;nbsp;컨테이너가&amp;nbsp;설정해준다 &lt;br /&gt;-&amp;nbsp;L&amp;nbsp;&amp;nbsp;&amp;nbsp;LisKov&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;I&amp;nbsp;&amp;nbsp;Interface&amp;nbsp;segregation(인터페이스&amp;nbsp;분리)&amp;nbsp;:&amp;nbsp;인터페이스가&amp;nbsp;변해도&amp;nbsp;해당&amp;nbsp;인터페이스&amp;nbsp;클라이언트만&amp;nbsp;영향이&amp;nbsp;가게&amp;nbsp;분리 &lt;br /&gt;-&lt;b&gt;&amp;nbsp;D&amp;nbsp;Dependency&amp;nbsp;Inversion(의존&amp;nbsp;관계&amp;nbsp;역전)&amp;nbsp;:&amp;nbsp;구현&amp;nbsp;클래스에&amp;nbsp;의존이&amp;nbsp;아닌,&amp;nbsp;인터페이스에&amp;nbsp;의존해야&amp;nbsp;함.&lt;/b&gt;&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/110</guid>
      <comments>https://hangyujung.tistory.com/110#entry110comment</comments>
      <pubDate>Thu, 4 Dec 2025 02:38:49 +0900</pubDate>
    </item>
    <item>
      <title>평범한 30살 남자 개발자의 재테크 고민</title>
      <link>https://hangyujung.tistory.com/109</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;나는 재테크로 주식을 하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단기간에 매매차익금에 숫자에만 매순간 신경을 쓸 뿐이지. 장기적이고 명확한 목표가 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 다가올 나의 큰 이벤트인 결혼에 대비한 재테크 장기 계획이 필요할 거 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 우선 지금 나의 현금 흐름과 자산, 그리고 각 이벤트에 필요 금액을 정리해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한달 수익 :&amp;nbsp; 약 350(전부 근로소득) + 알파(주식 차익)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한달 비용 : 약 150(전세 대출금 : 30, 전기,수도,관리비,가스:15, 핸드폰요금:5 , 나머지 100만원은 대부분 식비랑 술값이겠네..?)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자산 : 4,000만원(보증금) + 주택청약종합저축(1,000만원) + 주식(5,600만원) + 예금(2,000만원) =&amp;gt; 러프하게 1억 6천&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 33살쯤 결혼하는 것으로 가정해서. 앞으로 나에게 주어진 시간은 2년. 즉 24개월이다. 24개월 동안 집을 살 수 있는 경제적 여건과 청약 관련 조건들을 맞추어 놓아야 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 신혼 특공(거주지 우선, 도시근로자 가구당 월 평균소득 160% 이하, 가입기간, 자산 요건 충족)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 공공 청약 일반 공급(저축 총액 순)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 민간 청약 일반 공급(추첨제)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서울 기준 8억 분양가 집을 목표로 정하자. 그렇다면 LTV 한도 6억까지 떙겨서 현금 2억 필요.(한달에 이자로 200나가네)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;레츠꼬~~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>I'm breathing</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/109</guid>
      <comments>https://hangyujung.tistory.com/109#entry109comment</comments>
      <pubDate>Sun, 5 Oct 2025 03:33:17 +0900</pubDate>
    </item>
    <item>
      <title>주택청약제도 정리</title>
      <link>https://hangyujung.tistory.com/108</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;원래는 주택청약의 가점제도가 청년에게는 많이 불리한 작용을 했다. 하지만 이번 2025년부터 청약제도가 대폭 개편되어 나같은 중산층, 청년층에게도 기회가 생긴다!!&lt;/p&gt;
&lt;h2 id=&quot;section2&quot; style=&quot;color: #000000; text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;2025년&lt;span&gt;&amp;nbsp;&lt;/span&gt;달라지는 청약 제도&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: unset; color: #000000;&quot;&gt;&lt;b&gt;생애최초 특별공급 비율 확대&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 특히 수도권 공공분양 물량에서 생애최초 비율이 30% 이상으로 확대됩니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: unset; color: #000000;&quot;&gt;&lt;b&gt;청년특별공급 신설&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 만 39세 이하 청년층을 위한 별도 공급 물량 신설&lt;/li&gt;
&lt;li style=&quot;list-style-type: unset; color: #000000;&quot;&gt;&lt;b&gt;소득 기준 완화&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 특별공급 대상자의 소득 요건이 일부 완화되어 중산층도 기회가 늘어날 전망&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다면 주택 청약은 어떻게 당첨 받을 수 있을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&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) 공공임대에는 30년 거주가능한 국민임대와 10년 거주 후 분양 전환되는 10년 공임이 있다. 이런 장기전세, 행복주택 물량들은 일반 아파트와 함께 자리함(소셜믹스), sh에 공고됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 민간임대는 서울 외곽기준 7억.. PASS하자. 청약Home에 공고됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) &lt;b&gt;민간 분양&lt;/b&gt;의 청약 당첨자 선정방식은 아래와 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 추첨제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; &lt;span style=&quot;color: oklch(0.9296 0.007 106.53); text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;무작위지만 무주택자 우선 등 추가 요건이 붙는 경우가 있어 모집공고의 우선 할당&amp;middot;동점 처리&amp;middot;탈락 사유를 반드시 확인&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: oklch(0.9296 0.007 106.53); text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: oklch(0.9296 0.007 106.53); text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&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;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;-&amp;gt; 무주택기간(최대 32), 부양가족 수(최대 35), 청약통장 가입기간(최대 17)으로 총 84점 만점 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 두 제도는 &lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;단지의 &lt;b&gt;지역&amp;middot;전용면적&amp;middot;공급유형&lt;/b&gt;에 따라 두 제도의 적용 비율이 다르게 정해진다. &lt;i&gt;본인이 가점이 불리하면 추첨제도를 노리는 전략을 선택하는 것이 좋겠다. &lt;/i&gt;일반적으로 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;일반공급 기준으로 전용면적이 작고 규제지역일수록 가점제 비중이 높고, 대형 면적&amp;middot;비규제 지역일수록 추첨제 비중이 높아지는 경향이 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: unset; color: #000000;&quot;&gt;&lt;b&gt;전용면적 85㎡&lt;span&gt; (국민평형 32평) &lt;/span&gt;이하&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 가점제 70%, 추첨제 30%&lt;/li&gt;
&lt;li style=&quot;list-style-type: unset; color: #000000;&quot;&gt;&lt;b&gt;전용면적 85㎡ 초과&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;: 추첨제 비율이 50% 이상 확대 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;민간 일반공급 추첨제는 동일지역 여부 정도, 무주택자 여부만 확인 후 추첨한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2091&quot; data-origin-height=&quot;1342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/01ebu/btsQ0jUYdRW/Q3Qq6MYLFPcqrfCMv49qu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/01ebu/btsQ0jUYdRW/Q3Qq6MYLFPcqrfCMv49qu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/01ebu/btsQ0jUYdRW/Q3Qq6MYLFPcqrfCMv49qu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F01ebu%2FbtsQ0jUYdRW%2FQ3Qq6MYLFPcqrfCMv49qu0%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;2091&quot; height=&quot;1342&quot; data-origin-width=&quot;2091&quot; data-origin-height=&quot;1342&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특별공급(ex 신혼부부)으로 가면 아래와 같은 우선순위로 추첨함)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2101&quot; data-origin-height=&quot;1277&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uU1Ph/btsQZWyCP6B/syN5QwjEiG8yhTCeUtiik0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uU1Ph/btsQZWyCP6B/syN5QwjEiG8yhTCeUtiik0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uU1Ph/btsQZWyCP6B/syN5QwjEiG8yhTCeUtiik0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuU1Ph%2FbtsQZWyCP6B%2FsyN5QwjEiG8yhTCeUtiik0%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;2101&quot; height=&quot;1277&quot; data-origin-width=&quot;2101&quot; data-origin-height=&quot;1277&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;4) &lt;b&gt;공공분양&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에 내용은 민영주택의 청약방식이고, &lt;b&gt;국민주택&lt;/b&gt;(LH)의 경우에는 주택청약 &lt;b&gt;인정금액&lt;/b&gt; 기준(40제곱미터,12평 이상 대상)으로 당첨이 된다.(필요조건인 소득, 자산을 충족은 해야한다. 대충 소득은 3인이하 700이고, 자산은 2억정도인 것을 확인)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;나의 주택 청약 전략&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나의 전략의 경우, 결혼 전까지는 생애최초 특공(민간 임대의 소형 아파트만 공급됨)이나 공공임대를 노리다가, 결혼하게 되면 신혼부부 특공으로 청약 받는 게 좋을 거 같다.&lt;/p&gt;</description>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/108</guid>
      <comments>https://hangyujung.tistory.com/108#entry108comment</comments>
      <pubDate>Thu, 2 Oct 2025 03:27:05 +0900</pubDate>
    </item>
    <item>
      <title>ADsP 합격 후기</title>
      <link>https://hangyujung.tistory.com/107</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;저번 시험 후기글 포스팅 이후로 깜빡하고 합격 후기가 늦어졌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 자격증 역시 회사에서 인센티브 제도로 장려하고 있는 자격증이기도 하고, 요새 워낙 AI, 데이터 분야가 워낙 핫하니 찍먹 느낌으로 건드려보자는 느낌도 있었다.(&lt;i&gt;이직에도 어느정도 도움되지 않을까&lt;/i&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 나름 관련 전공자기도 하고(&lt;i&gt;사실 통계학, AI 쪽 전공자들이 아닌이상 크게 베이스가 있을 거 같지는 않다&lt;/i&gt;)&lt;br /&gt;시험에 semi 가 붙으니 막연히 5일이면 충분하겠다고 자체 판단 후, 그 전까지는 아예 손도 안 댔다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;첫째 날 : 유투브에 어댑터(?) 님이 올려주신 ADsP 1과목, 2과목 듣기&lt;/li&gt;
&lt;li&gt;둘째 날 : 어댑터 ADsP강의 3과목 듣기&lt;/li&gt;
&lt;li&gt;셋째 날 : 문제집 하나 쓰던 거 주워와서 기출 한 회 풀이&lt;/li&gt;
&lt;li&gt;넷째 날 : 기출 한 회 풀이&lt;/li&gt;
&lt;li&gt;다섯째 날 : 기출 한 회 풀이&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사 다니면서 준비하는 것이기 때문에, 퇴근하고 집 와서 밥 먹고 뭐하고 준비하면 딱 저만큼 공부하고 나면 잘 시간이 됐다.&lt;br /&gt;나는 엄청난 직주근접이라 시간 확보가 유리한 편 임에도 쉽지 않았다. 다른 분들은 좀 더 시간 확보에 힘을 쓰거나, 미리 준비를 해야할 듯 하다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1822&quot; data-origin-height=&quot;910&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZJsab/btsPAMeyGRl/SabO5g7pIoZKIQIgjCdXb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZJsab/btsPAMeyGRl/SabO5g7pIoZKIQIgjCdXb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZJsab/btsPAMeyGRl/SabO5g7pIoZKIQIgjCdXb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZJsab%2FbtsPAMeyGRl%2FSabO5g7pIoZKIQIgjCdXb1%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;1822&quot; height=&quot;910&quot; data-origin-width=&quot;1822&quot; data-origin-height=&quot;910&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시험은 대치중학교에서 보고 나왔다. 시험은 쓱쓱 잘 풀렸고 나와서, 회사 선배와 딱 마주치자마자 서로 엄청 쉬웠다면서 공부시간 너무 과투자했다고 서로 센 척을 했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;281&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dKEwKQ/btsPCiDgKqX/MgoVqV1tgrR5vSjJMl1aNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dKEwKQ/btsPCiDgKqX/MgoVqV1tgrR5vSjJMl1aNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dKEwKQ/btsPCiDgKqX/MgoVqV1tgrR5vSjJMl1aNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKEwKQ%2FbtsPCiDgKqX%2FMgoVqV1tgrR5vSjJMl1aNK%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;500&quot; height=&quot;281&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;281&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데, 막상 결과를 보니 거의 턱걸이로 합격했다.. 흠.. 예전에 SQLD도 이 점수로 통과했었는데, 뭔가 여기 한국 데이터 진흥원 시험은 뭔가 감이 안 잡힌다. &lt;s&gt;&lt;i&gt;참고로 선배도 나랑 똑같이 턱걸이로 합격했다..&lt;/i&gt;&lt;/s&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭐 아무튼, 내 원래 목적에 맞게 합격만 하면 된다는 마인드로 시험은 무사히 잘 통과한 거 같다.&lt;br /&gt;앞으로 준비하시는 분들은, 시험 꼼꼼히 읽어서 푸시는 게 좋을 거 같고. 굳이 시중에서 책을 구매하시는 것 보다는 유투브에 어댑터님의 강의 요약 자료 집을 구매해서 보시는 게 시간절약에 도움 될 거 같다. 아무래도 핵심내용들만 집약 되어 있고 내용들이 구조화되어 있어서 한 눈에 들어오기 편할 거 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 내가 목표했던 회사 인센티브 자격증은 다 취득했다. 이제, 실무에서 직접적으로 요구되는 기술 및 지식들을 쌓아보자.&lt;/p&gt;</description>
      <category>I'm breathing</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/107</guid>
      <comments>https://hangyujung.tistory.com/107#entry107comment</comments>
      <pubDate>Tue, 29 Jul 2025 01:34:01 +0900</pubDate>
    </item>
    <item>
      <title>네트워크 확인 방법 정리</title>
      <link>https://hangyujung.tistory.com/106</link>
      <description>&lt;p&gt;ping, tracert, telnet 등 네트워크 연결 상태를 진단하는 데 사용하는 명령어는 많다.&lt;/p&gt;
&lt;p&gt;그 중에, 윈도우 PowerShell 에서 제공하는 &lt;code&gt;Test-NetConnection&lt;/code&gt; 이 통합해서 대체할 수 있는 내장 명령어다.&lt;/p&gt;
&lt;p&gt;✅예시 문법&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Test-NetConnection 192.168.0.10 -Port 8080&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;-&amp;gt; 내 PC에서 &lt;code&gt;192.168.0.10:8080&lt;/code&gt;주소로 TCP 프로토콜 방식으로 연결을 시도해보는 코드&lt;/p&gt;
&lt;p&gt;이때, 서버가 TCP 통신을 받지 않는다면 서버다운,방화벽차단, 포트 미오픈등의 이유로 유추가능하다.&lt;/p&gt;
&lt;p&gt;TCP는 웹(HTTP,HTTPS), 메일(SMTP), DB(Oracle,Mysql), 파일 전송 등 그냥 대부분에서 활용한다. (&lt;del&gt;유투브 통신은 UDP&lt;/del&gt;)&lt;br&gt;&lt;em&gt;HTTP 등 대부분의 프로토콜은 TCP위에서 동작한다.!!&lt;/em&gt;&lt;br&gt;[TCP] ← 전송 계층 (연결, 신뢰성 제공)&lt;br&gt;↑&lt;br&gt;[HTTP] ← 응용 계층 (브라우저와 서버가 이해하는 실제 메시지)&lt;/p&gt;
&lt;p&gt;브라우저가 HTTP 요청을 할 때, 먼저 서버와 &lt;strong&gt;TCP 연결(3-way handshake)&lt;/strong&gt; 을 맺고, 그 TCP 연결 위에서 HTTP 요청을 전송하는 형태.&lt;/p&gt;
&lt;p&gt;ex) DB 접속이 안 된다. --&amp;gt; Test-NetConnection -Port 로 TCP 연결부터 확인해보자.&lt;/p&gt;</description>
      <category>TIL</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/106</guid>
      <comments>https://hangyujung.tistory.com/106#entry106comment</comments>
      <pubDate>Wed, 23 Jul 2025 01:01:45 +0900</pubDate>
    </item>
    <item>
      <title>Application(Mybatis) + DB 연결 관리</title>
      <link>https://hangyujung.tistory.com/105</link>
      <description>&lt;p&gt;&lt;code&gt;MyBatis&lt;/code&gt;기반 Application 에서 DB 연결 관리를 하는 방법을 정리해보자.&lt;br&gt;기본적으로 3 가지의 구성요소를 관리해야 한다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Connection Pool 설정(DataSource 관리)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;--&lt;br&gt;애플리케이션이 직접 DB 연결을 생성하고 닫는 건 비효율적이기 떄문, 커넥션 풀을 사용해야 한다.(&lt;code&gt;HikariCP, DBCP 등&lt;/code&gt;)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;bean id=&amp;quot;wmsDataSource&amp;quot; class=&amp;quot;org.springframework.jndi.JndiObjectFactoryBean&amp;quot;&amp;gt;
    &amp;lt;property name=&amp;quot;jndiName&amp;quot; value=&amp;quot;java:/comp/env/jdbc/dwhf-project-wms&amp;quot;/&amp;gt;
&amp;lt;/bean&amp;gt; &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Spring이 JNDI(Java Naming and Directory Interface)를 통해 WMS 데이터베이스에 연결할 수 있도록 DataSource 객체를 가져옵니다. 연결 정보(jdbc URL, id, pw)는 JNDI에 따로 관리되어 있습니다.&lt;/p&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;SqlSessionFactory 설정&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;--&lt;br&gt;Mybatis는 SqlSessionFactory를 통해 DB 커넥션과 Mapper를 관리합니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;bean id=&amp;quot;wmsSqlSessionFactory&amp;quot; class=&amp;quot;org.mybatis.spring.SqlSessionFactoryBean&amp;quot;&amp;gt;
    &amp;lt;property name=&amp;quot;dataSource&amp;quot; ref=&amp;quot;wmsDataSource&amp;quot;/&amp;gt;
    &amp;lt;property name=&amp;quot;configLocation&amp;quot; value=&amp;quot;classpath:/WmsConfiguration.xml&amp;quot;/&amp;gt;
&amp;lt;/bean&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;MyBatis에서 SQL 실행에 필요한 &lt;strong&gt;SqlSessionFactory&lt;/strong&gt; 객체를 만듭니다.&lt;/p&gt;
&lt;p&gt;여기서 쿼리 수행 도중 사용할 DataSource와, MyBatis 설정파일(WmsConfiguration.xml)의 위치를 지정합니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;bean id=&amp;quot;wmsSqlSessionTemplate&amp;quot; class=&amp;quot;org.mybatis.spring.SqlSessionTemplate&amp;quot; destroy-method=&amp;quot;clearCache&amp;quot;&amp;gt;
    &amp;lt;constructor-arg ref=&amp;quot;wmsSqlSessionFactory&amp;quot;/&amp;gt;
&amp;lt;/bean&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;실제로 서비스·DAO에서 사용하는 MyBatis SqlSession 객체입니다. 위에서 생성한 SqlSessionFactory 기반으로 생성되며, 스프링-마이바티스 연동에서 여러 DAO/Service에서 트랜잭션·커넥션 관리가 용이하도록 도와줍니다.&lt;/p&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;트랜잭션 관리&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;--&lt;br&gt;MyBatis는 스프링과 통합 시 @Transactional 어노테이션을 통해 트랜잭션을 관리&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;bean id=&amp;quot;wmsTxManager&amp;quot; class=&amp;quot;org.springframework.jdbc.datasource.DataSourceTransactionManager&amp;quot;&amp;gt;
    &amp;lt;property name=&amp;quot;dataSource&amp;quot; ref=&amp;quot;wmsDataSource&amp;quot; /&amp;gt;
&amp;lt;/bean&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;DB 트랜잭션 관리를 담당합니다. 위 DataSource(wmsDataSource)를 사용해서 트랜잭션 커밋·롤백 등 처리를 합니다.&lt;/p&gt;
&lt;h1&gt;서버단 설정&lt;/h1&gt;
&lt;p&gt;-- &lt;/p&gt;
&lt;h2&gt;● server.xml의 &lt;strong&gt;&lt;code&gt;&amp;lt;Resource ... /&amp;gt;&lt;/code&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;톰캣 서버 등 WAS에서 &lt;strong&gt;전역적으로 사용할 데이터베이스 커넥션풀(DataSource)&lt;/strong&gt;을 정의합니다.&lt;/li&gt;
&lt;li&gt;예시는 &lt;strong&gt;&lt;code&gt;&amp;quot;jdbc/dwhf-helo-commons&amp;quot;&lt;/code&gt;&lt;/strong&gt;라는 이름으로 DB 연결 설정(드라이버, URL 등 모든 정보)을 미리 생성해둠.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;● context.xml의 &lt;strong&gt;&lt;code&gt;&amp;lt;ResourceLink ... /&amp;gt;&lt;/code&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;각 웹어플리케이션 컨텍스트마다&lt;/p&gt;
&lt;p&gt;  &lt;strong&gt;이미 서버(server.xml 등)에 정의해 놓은 전역 데이터소스(Resource)를 애플리케이션별로 &amp;#39;링크&amp;#39;해서 쓸 수 있게 해주는 설정&lt;/strong&gt;입니다.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;실제 애플리케이션 코드는 &lt;strong&gt;&lt;code&gt;java:/comp/env/jdbc/dwhf-helo-commons&lt;/code&gt;&lt;/strong&gt; 처럼 JNDI 이름만 알면 DB 커넥션을 사용할 수 있습니다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;JDBC 구조 요약&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;server.xml&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; → 실제 데이터베이스 연결정보(DataSource)를 이름을 붙여 &lt;strong&gt;전역으로 등록&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;context.xml&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; → 전역 리소스를 각 웹앱에서 사용할 수 있도록 &lt;strong&gt;ResourceLink&lt;/strong&gt;로 연결&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;애플리케이션(Spring 등)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; → JNDI 이름(jdbc/dwhf-helo-commons)만으로 해당 DB 커넥션풀을 획득해서 씀&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt; 스프링 Bean 생성과 import 의 차이&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Bean&lt;/th&gt;
&lt;th&gt;import&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;사용&lt;/td&gt;
&lt;td&gt;객체 생성&lt;/td&gt;
&lt;td&gt;코드 참조&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;생성 방식&lt;/td&gt;
&lt;td&gt;미리 생성된 Bean 공유&lt;/td&gt;
&lt;td&gt;직접 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;라이프사이클&lt;/td&gt;
&lt;td&gt;스프링 자동 관리&lt;/td&gt;
&lt;td&gt;개발자 직접 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;재사용성&lt;/td&gt;
&lt;td&gt;매번 새로 생성&lt;/td&gt;
&lt;td&gt;컨테이너 내 동일 객체 재사용(싱글톤)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TIL</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/105</guid>
      <comments>https://hangyujung.tistory.com/105#entry105comment</comments>
      <pubDate>Wed, 23 Jul 2025 00:38:08 +0900</pubDate>
    </item>
    <item>
      <title>JDBC 커넥션에 대해 알아보자</title>
      <link>https://hangyujung.tistory.com/104</link>
      <description>&lt;p&gt;DB 커넥션은 애플리케이션이 DB에 접속해서 데이터를 주고 받는 연결 통로이다.&lt;/p&gt;
&lt;p&gt;이중에 JDBC 커넥션이 JAVA에서 DB와 통신할 때 사용하는 표준 API인 JDBC를 통해 맺는 연결을 말한다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Connection conn = DriverManager.getConnection(  
&amp;quot;jdbc:mysql://localhost:3306/mydb&amp;quot;, &amp;quot;user&amp;quot;, &amp;quot;password&amp;quot;);
// DB 작업 수행  
conn.close();&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;스프링에서는 JDBC 코드(DriverManager)를 직접 작성하지 않고, &lt;strong&gt;DataSource&lt;/strong&gt; 라는 추상화 객체를 통해 DB 커넥션을 관리한다.&lt;/p&gt;
&lt;p&gt;DataSource는 커넥션 풀과 연동되어 커넥션을 효율적으로 쉽게 관리할 수 있다. (커넥션을 개별로 관리하면 오버헤드 심함)&lt;/p&gt;
&lt;p&gt;주요 커넥션 풀 종류로는 3가지가 있다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;HiKariCP&lt;/li&gt;
&lt;li&gt;Tomcat JDBC Pool&lt;/li&gt;
&lt;li&gt;Commons DBCP2&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;애플리케이션 라이플 사이클에 따른 커넥션풀의 동작흐름&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;애플리케이션 시작 : 커넥션 풀 초기화, 최소 유휴 커넥션 생성 시작&lt;/li&gt;
&lt;li&gt;DB 작업 요청 시 : 커넥션 풀에서 커넥션 할당, 필요시 추가 커넥션 생성&lt;/li&gt;
&lt;li&gt;커넥션 반환 시 : 커넥션 풀에 커넥션 반환(물리적 연결 끊김 아님)&lt;/li&gt;
&lt;li&gt;애플리케이션 종료 : 커넥션 풀 종료, 모든 커넥션 물리적 종료 및 자원 해제&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;커넥션과 관련된 설정 요소&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DataSource    : DB 커넥션 풀(연결 정보)&lt;/li&gt;
&lt;li&gt;SqlSessionFactoryBean    : MyBatis의 SqlSession 생성, DataSource와 연결&lt;/li&gt;
&lt;li&gt;SqlSessionTemplate    : MyBatis 쿼리 실행, 커넥션 관리 자동화&lt;/li&gt;
&lt;li&gt;DataSourceTransactionManager :     트랜잭션 관리(커밋, 롤백 등)&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>JAVA</category>
      <category>JDBC</category>
      <category>커넥션</category>
      <category>커넥션풀</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/104</guid>
      <comments>https://hangyujung.tistory.com/104#entry104comment</comments>
      <pubDate>Wed, 9 Jul 2025 23:48:05 +0900</pubDate>
    </item>
    <item>
      <title>누누티비는 어떻게 많은 트래픽과 단속을 견딜 수 있었을까</title>
      <link>https://hangyujung.tistory.com/103</link>
      <description>&lt;p&gt;재작년 누누티비 서비스 종료 및 운영자가 검거되면서 한달 1,000만 접속자 서비스가 막이내렸다.&lt;/p&gt;
&lt;p&gt;그 이후로, 어차피 누누티비 사용자들은 알아서 티비위키, 짭플릭스 등 누누티비 후속작들을 알아서 찾아 사용하고 있는 것을 보면&lt;/p&gt;
&lt;p&gt;결국 법보다 기술이 빠르다라는 말이 체감이 되는 것 같다.&lt;/p&gt;
&lt;p&gt;그렇다면 누누티비는 어떻게 그동안 서비스를 안정적으로 운영할 수 있었던 것인지 알아보자.&lt;/p&gt;
&lt;h2&gt;많은 트래픽&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;누누티비는 영상 트래픽을 감당하기 위해, &lt;strong&gt;CDN&lt;/strong&gt;(bunnyCDN이라는 미국 네트워크 서비스 이용) 네트워크 기술을 이용했다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;최초 서비스 시점에는 CloudFlare 서비스를 이용하다가 업계 최저가인 bunnyCDN 으로 넘어갔다.&lt;/em&gt;&lt;br&gt;--&amp;gt; 트래픽 분산과 접속 속도 향상&lt;/p&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;&lt;strong&gt;WebTRC&lt;/strong&gt; &lt;em&gt;쉽게 말하면 토렌트라고 보면 된다.&lt;/em&gt;&lt;br&gt;이 기술을 통해서 누누티비 서비스 사용자들은 단순 시청자가 아닌 배포자 역할도 하게 되었다. 누누티비 영상 시청시에 우선, 피어 연결을 통해서 영상 데이터를 요청하고, 피어에게 데이터가 없다면 CDN 서버에 요청하는 방식이다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;--&amp;gt; 서버 트래픽 비용 대폭 절감&lt;/p&gt;
&lt;p&gt;위 구조를 통해서 동시 수십만 명 접속, 월 수억 원 규모의 트래픽을 감당할 수 있었고, CDN+P2P 기술 결합으로 트래픽 분산, 서버 비용 절감, 서비스 속도를 유지해 서비스를 안정적으로 유지했다.&lt;/p&gt;
&lt;h2&gt;단속 회피&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;해외 서버 운영&lt;br&gt;도미니카공화국, 파라과이에 해외 서버두고 국내 법 사각지대를 노림.&lt;/li&gt;
&lt;li&gt;도메인(url) 변경&lt;br&gt;국내 법 상, ISP 단에서 도메인 차단만 가능해, 미리 여러 도메인을 확보해둠.(23차례 도메인 정지당해도 대놓고 다음 도메인 주소 공지)&lt;/li&gt;
&lt;li&gt;CDN, VPN, 가상자산 거래 등&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;그럼에도 불구하고 결국 미국 국토안보수사국, 인터폴, 국외현지수사기관 등이 공조해서 24년 11월 운영자가 검거되었다.&lt;/p&gt;</description>
      <category>과학이좋아</category>
      <category>누누티비</category>
      <category>누누티비 기술</category>
      <category>티비위키</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/103</guid>
      <comments>https://hangyujung.tistory.com/103#entry103comment</comments>
      <pubDate>Sun, 6 Jul 2025 20:30:11 +0900</pubDate>
    </item>
    <item>
      <title>토론(말) 잘하는 법</title>
      <link>https://hangyujung.tistory.com/102</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이번에 대선 토론 1,2,3차를 라이브로 챙겨보며 토론의 중요성이 체감 되었고 나도 저렇게 말을 잘하는 사람이 되고 싶다라는 생각이 들었다. 한 번에 토론을 잘 하게 될 수는 당연히 없겠지만, 토론 관련 이론을 정리하고 꾸준히 토론 관련 영상이라도 챙겨보다보면 분명히 가시적인 실력 향상이 있을 거라고 생각한다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 나는 항상 무엇인가를 탐구할 떄, 항상 정의를 찾아보려고 한다. 원론적으로 접근한 후에 가볍고 다양한 방법으로 주제를 알아가는 게 재밌게 무엇인가를 배울 수 있는 나의 방식인 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다면 토론이란 무엇인가.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주어진 문제나 쟁점에 대해 찬성과 반대 같이, 서로 대립되는 입장을 가진 사람들이 각자의 주장을 논리적으로 펼치고 근거와 논증을 통해 상대방이나 제3자를 설득하는 의사소통의 한 형태.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;토론을 잘하기 위한 법을 Chat-GPT에 물어보았더니 다음과 같은 원칙을 알려주었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 리딩(주도권) 잡기 : 대화의 방향을 내가 원하는 쪽으로 이끌어가기(&lt;i&gt;긍정적인 분위기 조성하며 리딩하는 것이 포인트&lt;/i&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 간결하게 말하기 : 핵심만 짧고 명확하게 전달. (&lt;i&gt;길고 유창하게 하면 듣는 사람이 이해하기 힘들며 피곤을 느낌)&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;3. &lt;/i&gt;사전 준비 : 미리 예상 질문과 답변을 준비해 당황하지 않고 주도적으로 리딩가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 불필요한 언어 습관 줄이기 : &quot;음&quot;,&quot;그&quot;,&quot;저&quot;, 같은 말버릇은 자신 없어 보이게 만듦.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 경청 : 상대가 먼저 말하도록 유도, 경청하며 상대방 논리의 허점을 파악하고 내 의견을 더 보강&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 비언어적 소통 : 말투, 표정, 몸짓, 시선 등 비언어적 요소도 자신감 있게 상대방과 눈을 맞추며 임한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6번 경청하는 기술의 경우, 토론으로 유명한 이준석 국회의원의 핵심 기술이라고 말씀하시는 인터뷰를 보았다. 이번 대선 토론의 경우에도 상대방과의 토론에서 내 주장만을 먼저 얘기 하는 것이 아닌, 상대방의 논리적 허점을 찾기 위해서 상대방에게 말을 많이 시키는 양상이 연출되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말 잘하는 법을 유투브에 검색해보며 도움되는 여러 팁들을 정리해보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@HEUNGBURTON 님 영상에서 논리적 말하기에 대해 알려주는 영상을 보았는데 도움이 많이 되는 말하기 방식인 것 같다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논리적으로 말하기 위해선, &lt;b&gt;사실과 의견을 분리하라.&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인 보고 : 많은 사람들이 지원해서 이른 시간에 마감되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;논리적 말하기 : 100명의 모집인원 중 200명의 고객이 신청해서 1시간 만에 마감했습니다.(사실) / 따라서, 많은 고객이 우리 이벤트에 관심을 사고 있습니다. 따라서 앞으로도 다양한 VIP 고객이벤트를 진행하는게 실효성이 있을 것이라고 사료 됩니다.(의견)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@이상윤의언어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사람들 앞에서 말을 할 때, 교감신경이 활성화 되는 것은 당연한 현상인 것을 인정하고, &lt;b&gt;호흡&lt;/b&gt;을 컨트롤 하는 것이 가장 중요.(호흡을 컨트롤하는 것이 마음을 곧 마음을 컨트롤 하는 것이기 떄문)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@미미미누&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상대방이 나보다 더 뛰어나고 위신이 더 높더라도, 그냥 동네아저씨라는 마인드 세팅을 하게 되면 자신감 유지하는데 도움이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@yourceline&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;홑문장(한 문장안에 주어,서술어 한 개)을 사용하자. (&lt;s&gt;겹문장 : 한 문장안에 주어,서술어 2개이상&lt;/s&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;@Speech_mentor&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;종종, 말을 하다보면 내가 무슨 얘기를 하고 있었더라 하며 횡성수설을 할 떄가 있다. &lt;b&gt;2W 1H&lt;/b&gt; 로 말하면 횡성수설하지 않을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;What(주장) -&amp;gt; Why(이유) -&amp;gt; How(해결방안)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ex) 책을 많이 읽어야 합니다. -&amp;gt; 스스로 생각하는 힘을 기를 수 있기 떄문이죠. -&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;@책과삶&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;범주화 하라.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단문 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쌍괄식(앞과 끝에 핵심 위치) 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말하기는 단순히 일상의 일부분이 아니라, 내 삶에 전반적인 영향을 끼치는 굉장히 중요한 요소이기 때문에 꾸준히 노력하도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-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>과학이좋아</category>
      <category>말</category>
      <category>말 잘하는 법</category>
      <category>토론</category>
      <category>토론 잘하는 법</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/102</guid>
      <comments>https://hangyujung.tistory.com/102#entry102comment</comments>
      <pubDate>Tue, 3 Jun 2025 19:15:53 +0900</pubDate>
    </item>
    <item>
      <title>업비트 자동매매 봇 개발 및 AWS EC2 배포</title>
      <link>https://hangyujung.tistory.com/101</link>
      <description>&lt;p&gt;현재 구현한 기능은 다음과 같다.&lt;/p&gt;
&lt;h2&gt;1. 기능&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;업비트 API를 활용한 자동매매 봇 개발&lt;/li&gt;
&lt;li&gt;볼린저 밴드 전략 기반 매수, 매도 (기준은 한 시간 봉이고 디테일한 알고리즘 전략은 계속 수정 중에 있다)&lt;/li&gt;
&lt;li&gt;텔레그램을 통한 실시간 알림&lt;/li&gt;
&lt;li&gt;AWS EC2를 활용한 24/7 운영&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2. 기술 스택&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.9&lt;/li&gt;
&lt;li&gt;pyupbit API&lt;/li&gt;
&lt;li&gt;python-telegram-bot&lt;/li&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;li&gt;AWS EC2&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;3. AWS EC2 배포&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu Server 22.04 LTS&lt;/li&gt;
&lt;li&gt;t2.micro 인스턴스 (프리티어)&lt;/li&gt;
&lt;li&gt;보안 그룹 설정(ssh, http, https 인바운드 규칙)&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Develop</category>
      <author>잼규</author>
      <guid isPermaLink="true">https://hangyujung.tistory.com/101</guid>
      <comments>https://hangyujung.tistory.com/101#entry101comment</comments>
      <pubDate>Thu, 22 May 2025 01:41:45 +0900</pubDate>
    </item>
  </channel>
</rss>