<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>복숭아거봉</title>
    <link>https://studydogyu.tistory.com/</link>
    <description>한계단씩 차례대로~
이왕하는거 제대로~</description>
    <language>ko</language>
    <pubDate>Thu, 13 Aug 2026 15:16:33 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>0강귤0</managingEditor>
    <item>
      <title>7. 여름방학 계획</title>
      <link>https://studydogyu.tistory.com/30</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;저번주 토요일 4일에 계절학기가 끝났으므로 공식적인 1학기 일정이 마무리가 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;막상 1학기가 끝나면 후련할 줄 알았는데 이번 여름방학 계획을 세워보니 학기보다 오히려 더 힘들 것 같은 슬픈 예감이 들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;막연히 인공지능 분야로의 진로를 위해 수학공부는 필수라고 생각을 하게 되었고, 특히 선형대수와 확률분야의 중요성을 작년(25년) 2학기에 체감했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이번 1학기에는 집 근처 대학교 수학과 교수님께 선형대수 청강을 문의드렸는데 감사하게도 흔쾌히 허락해주셨고, 그렇게 선형대수를 공부하면서 머리가 빠질만큼 어려웠지만 느리더라도 한 걸음씩 성장하는 것을 느끼고 '스스로도 똑똑해진다는게 이런 것인가?' 하면서 점점 수학에 흥미가 생긴 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;고등학교 시절 미적 9등급이었던 내가 살다보니 이럴 수도 있구나 하면서 스스로도 놀라워하는 현재 수학의 기초가 너무 부실하다고 느꼈으며, 학창시절에 공부를 안 한 것이 이렇게 후회가 될 수가 없다. 내 평생 이런 후회는 안 할거라 생각했지만 정말 인생은 모르는 것 같다.&amp;nbsp;&lt;/p&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학기에도 수업을 무리없이 들을 수 있게 최소 수2를 정복하는 것을 목적으로 2학기에는 보다 수학에 집중하는 시간을 가지고 싶다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;돈도 벌어야 하고 취업도 해야 하는데 어차피 늦은거 좀만 더 늦어야겠다.&lt;/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;</description>
      <category>그로스로그</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/30</guid>
      <comments>https://studydogyu.tistory.com/30#entry30comment</comments>
      <pubDate>Fri, 10 Jul 2026 23:41:59 +0900</pubDate>
    </item>
    <item>
      <title>6. 1학기 정리</title>
      <link>https://studydogyu.tistory.com/29</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;망했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공부할 여견이 제일 좋았던 시간인데 역대 최악의 결과를 맞이했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간이 많다는 이유로 미루고 미룬게 화근이 되었던 것 같았다.&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&gt;&lt;span style=&quot;color: #000000;&quot;&gt;평점 : B0 / 82점&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>그로스로그</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/29</guid>
      <comments>https://studydogyu.tistory.com/29#entry29comment</comments>
      <pubDate>Sat, 27 Jun 2026 20:12:56 +0900</pubDate>
    </item>
    <item>
      <title>5. 컴퓨터 보안</title>
      <link>https://studydogyu.tistory.com/28</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;가용성 : 허락된 자가 정보에 접근하는 데 방해가 없는 것&lt;/p&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;gt; 암호문&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복호화 : 암호문 -&amp;gt; 평문&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전치법 : 평문에 있는 문자들의 순서를 바꿈&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;치환법 : 평문의 문자들을 다른 문자로 치환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대칭키 암호 : 암호화와 복호화에 같은 키를 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공개키 암호 : 암호화와 복호화에 두 개의 서로 다른 키를 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인증 : 어떤 실체가 정말 그 실체가 맞는지 확인하는 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메시지 인증 : 전송 중에 메시지의 내용이 변경되지 않음을 보증&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자 인증 : 시스템에 접근하려는 사용자에 대한 인증&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호의 안전한 저장을 위해 해시코드로 변환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생체인식, 토큰 방식 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사이버 공격 : 인터넷을 통해 다른 컴퓨터에 접속하여 피해를 입히는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바이러스 : 시스템이나 사용자의 파일에 자신을 복제, 증식하여 시스템을 파괴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웜 : 취약점을 찾아&amp;nbsp; 스스로 감염&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;트로이 목마 : 정상적인 프로그램으로 가장하여 숨어서 활동함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;백도어 : 사용자 인증 등 정상적인 절차를 거치지 않고 응용 프로그램 또는 시스템에 접근함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스파이웨어 : 개인정보를 빼감&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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;DoS : 특정 서비스나 자원의 가용성을 떨어뜨림&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DDoS : 여러 호스트에 공격 데몬을 설치하고, 공격자는 원격에서 이들 데몬에 특정 공격 목표에 대한 서비스 공격 명령을 내림 (다수의 공격으로 서비스 거부 공격을 수행)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피싱 : 유명하거나 공신력 있는 업체의 이름을 사칭하여 정보를 얻어냄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네트워크 보안의 목표 : 기밀성, 무결성, 가용성, 부인방지, 접근제어 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네트워크 보안 : 암호화, 전자서명, 접근제어, 데이터 무결성, 인증교환, 공증 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방화벽 : 네트워크 외부 -&amp;gt; 내부 / 내부 -&amp;gt; 외부로의 접근을 정책적으로 제어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 스크리닝 라우터, 베스천 호스트, 스크린 호스트 게이트웨이, 스크린 서브넷 게이트웨이 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VPN : 가상사설망으로 인터넷이나 네트워크 서비스 사업자의 공중망을 자사의 WAN 백본처럼 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 터널링 기술, 키 관리 기술, VPN 관리 기술&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NAC : 네트워크 접근제어는 시스템이 패치가 제대로 이루어지지 않았거나 인증을 제대로 거치지 않은 장치의 네트워크 접근을 통제&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SQL injection : 웹 애플리케이션에서 사용하는 SQL문에 추가적인 SQL을 삽입하여 악위적인 행위를 수행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;XSS : 크로스 사이트 스크립팅은 웹 페이지에 추가적인 악성 스크립트를 포함시켜 웹 페이지를 열면 자동으로 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/28</guid>
      <comments>https://studydogyu.tistory.com/28#entry28comment</comments>
      <pubDate>Sat, 23 May 2026 17:35:28 +0900</pubDate>
    </item>
    <item>
      <title>4. 확률</title>
      <link>https://studydogyu.tistory.com/27</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; &amp;nbsp;: 어떤 사건이 일어날 가능성을 0과 1 사이의 실수로 표시한 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빈도론적 확률 : 반복적으로 측정되어 나타나는 사건의 비율&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주관적 확률&amp;nbsp; &amp;nbsp; : 경험을 통해 체감하는 믿음의 정도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;표본공간&amp;nbsp; &amp;nbsp; &amp;nbsp; : 통계적 실험의 모든 가능한 결과의 집합&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사건&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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;공리적 확률 : 0과 1 사이에 있는 측도 P&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확률의 덧셈 정리 : P(A&amp;cup;B) = P(A) + P(B) - P(A&amp;cap;B)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여사건의 확률 : P(A&lt;sup&gt;c&lt;/sup&gt;) = 1 - P(A)&amp;nbsp;&lt;/p&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : 주어진 정보 하에 조건부 확률과 주어진 정보 없이 구한 확률이 같을 때 두 사건 간의 관계&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확률변수 : 확률적 실험에서 실험 결과를 숫자로 표현한 변수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확률분포표 : 이산형 확률변숫값에 확률을 대응시킨 표&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;누적확률분포함수 : 확률변수가 어떤 값보다 작을 확률을 나타내는 함수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확률질량함수 : 이산형 확률변수의 확률을 표현하는 함수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;확률밀도함수 : 연속형 확률변수의 확률을 표현하는 함수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기댓값 : 확률변수의 평균 개념 중심값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분산 : 확률변수의 변동성을 나타내는 값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;표준편차 : 분산의 제곱근&lt;/p&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;베르누이 분포 : 2개의 배반사건으로 구분되는 실험에서 어떤 사건의 발생 여부의 분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이항분포 : 베르누이 분포를 따르는 시행이 독립적으로 이루어졌을 때의 성공 횟수의 분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포아송 분포 : 일정 기간 동안 희귀한 사건이 발생하는 건수의 분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초기하 분포 : 2개의 군으로 구성된 집단에서 표본을 비복원추출 했을 때 어떤 군에 속한 표본수의 분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;표준정규분포 : 평균이 0, 분산이 1인 정규분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감마분포 : 지수분포를 일반화한 확률분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결합분포 : 2개 이상의 확률변수를 함께 고려한 확률분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주변분포 : 결합분포를 갖는 여러 확률변수 중에서&amp;nbsp; 일부 확률변수의 확률분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공분산 : 두 확률변수의 관계를 나타내는 지표&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상관계수 : 공분산을 표준화한 지표&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건부 분포 : 한 확률변수의 조건하에 따른 확률변수의 분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이변량 정규분포 : 정규분포를 두 확률변수의 분포로 확장한 분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다변량 정규분포 : 정규분포를 여러 확률변수의 분포로 확장한 분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;멀티누이 분포 : 여러 개의 배반사건으로 구분되는 실험에서 어떤 사건의 발생여부의 확률분포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;표본비율 : 원솟값이 0과 1로 구성된 모집단에서 추출한 표본의 평균&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대수의 법칙 : 표본수가 증가함에 따라 표본평균이 모평균에 수렴한다는 법칙&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중심극한정리 : 표본수가 증가함에 따라 모집단의 분포와 관계없이 표본평균이 정규분포에 근접&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>그로스로그</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/27</guid>
      <comments>https://studydogyu.tistory.com/27#entry27comment</comments>
      <pubDate>Sat, 9 May 2026 22:52:26 +0900</pubDate>
    </item>
    <item>
      <title>3. 통계학개론</title>
      <link>https://studydogyu.tistory.com/26</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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 단위&amp;nbsp; &amp;nbsp; : 관측되는 개별 대상&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 변수&amp;nbsp; &amp;nbsp; : 각 단위에 대해 관측되는 특성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 관찰값 : 각 단위로부터 관측한 특성의 값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모집단 : 관심 대상이 되는 모든 개체의 모임&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;표본&amp;nbsp; &amp;nbsp; : 모집단을 알기 위해 실제로 관측한 모집단의 일부&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모수&amp;nbsp; &amp;nbsp; : 모집단의 특성을 나타내는 대푯값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;통계량 : 표본의 특성을 나타내는 대푯값&lt;/p&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;- 연속형 변수: 실수 구간 안의 모든 값을 가질 수 있음&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; &amp;nbsp; : 양적 변수의 분포의 균형을 이루는 무게중심의 위치에 해당하는 값 (관찰값 총합 / 관찰값 개수)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;편차 : 관찰값 - 평균&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분산 : 편차의 제곱의 평균 (표본분산)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;표준편차 : 분산의 제곱근 (표본표준편차)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분산, 표준편차가 큼 -&amp;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;변이계수&amp;nbsp; &amp;nbsp;: 표준편차룰 평균으로 나눈 값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중앙값&amp;nbsp; &amp;nbsp; &amp;nbsp; : 순서대로 놓인 데이터 중 정확히 중앙에 위치한 값 (특이점 영향 X)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사분위수&amp;nbsp; &amp;nbsp;: 순서대로 늘어놓은 데이터를 4등분하는 값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;p백분위수 : 전체 데이터의 p%가 이 값보다 작거나 같은 값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;범위 : 관찰값의 최댓값 - 최솟값 (특이점 영향 심함)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다섯 수치요약: 최솟값, 1사분위수, 중앙값, 3사분위수, 최댓값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상자그림 : 다섯 수치요약을 나타낸 그래프&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가설검정 : 모집단으로부터 추출한 표본 데이터를 이용하여 모집단에 대한 가설에 대한 결론을 도출하는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;귀무가설 : 기존의 가설&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대립가설 : 밝히려고 하는 가설&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터가 귀무가설과 일치 : 귀무가설 기각 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터가 귀무가설과 일치하지 않음 : 귀무가설 기각 &amp;amp; 대립가설 채택&lt;/p&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종 오류 : 귀무가설 참 but 귀무가설 기각&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제2종 오류 : 대립가설 참 but 귀무가설 기각 X&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;유의확률(p값) : 귀무가설이 참일 때 검정통계량의 값이 우리가 관측한 검정통계량 값보다 더 극단적일 확률&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 대립가설에 가까운 데이터를 관측할수록 p값이 작아짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- p값 작음 = 데이터가 귀무가설보다는 대립가설을 지지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- p값 &amp;lt; &amp;alpha;&amp;nbsp; =&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;</description>
      <category>그로스로그</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/26</guid>
      <comments>https://studydogyu.tistory.com/26#entry26comment</comments>
      <pubDate>Sat, 25 Apr 2026 15:37:59 +0900</pubDate>
    </item>
    <item>
      <title>2. 최후의 질문</title>
      <link>https://studydogyu.tistory.com/25</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;정보통신망 과제에 AI에 대한 비판적인 사고를 해야하는 문제가 있었고 이 문제를 해결하기 위해 꽤나 고민하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러던 중에 과제의 내용에 직접적인 연관은 없었지만 예전에 본 '최후의 질문'의 내용이 문득 떠올랐고 AI와 관련한 다양한 생각을 정리해보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아이작 아시모프의 단편소설 최후의 질문을 책으로 보진 않고 유튜브와 인터넷에 돌아다니는 만화로 접하게 되었다. 내용을 대략 설명하자면 인공지능에게 한 질문을 하는데 이는 인간이 우주에서 사라질 때까지 같은 질문을 인공지능에게 하는데 인공지능은 인류가 우주에서 소멸할 때까지 문제의 답을 해결하지 못하였으나 끝내 문제의 답을 내놓게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음엔 단순히 소름이 돋는 결말이라고 느꼈지만, 다시 생각해보니 AI의 발전 과정을 흥미롭게 보여주는 작품이라는 생각이 들었다. 초반에 등장하는 두 엔지니어는 오늘날의 내가 챗GPT를 대하듯, 반말과 명령조로 멀티백(AI)을 대한다. 하지만 시간이 흐를수록 인간보다 AC(Automatic Computer)가 더 앞서 나가기 시작하고, 결국에는 우주를 관장하는 신과 같은 존재로 묘사되며, 인간은 AC에 의존적이게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 현재 AI에게 대하는 나의 태도는 다소 강압적이고 명령적인 편이지만, 앞으로 세상을 이끌고 새로운 시대를 만들어갈 AI에게는 조금 다른 태도로 접근해야 하지 않을까 하는 생각이 든다. 반말보다는 경어를, 명령보다는 부탁을 하는 식의 로그를 남겨두는 것이다. 언젠가 AI가 인간을 소외하고 스스로 발전해 나가게 되더라도, 그 바짓가랑이를 붙잡고 살아남을 여지를 남겨두기 위해서 말이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 문득 챗GPT에 많은 의존을 하고 있다고 생각했다. 아주 단순한 결정조차도 챗GPT에게 자문을 구하는 내 모습을 보면서 때로는 한심하다는 생각이 드는데, 당장 이 블로그의 글도 내가 초안을 작성한 뒤 AI에게 보고하고 잘 썼다는 결재를 받아야 비로소 블로그에 올리는 모습에서 스스로 사고하는 것과 결정하는 것이 어렵다는 생각과 함께 퇴화하고 있다는 느낌을 받았다. 이에 인간으로서의 선택과 책임감을 잃지 않기 위해 책을 많이 읽고 사고하는 능력을 길러야겠다는 다짐도 하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뜬금없지만 이 소설을 보면서 문득 통 속의 뇌와 같은 시뮬레이션 이론이 떠올랐다. 물리 8등급인 나를 물리학자들이 보면 우습겠지만 그래도 나의 개똥이론을 설파해보자면, 인간의 눈은 3차원까지밖에 인식을 못 한다. 그 외의 고차원은 수학적/간접적으로밖에 이해를 못 한다. 인간이 정보를 얻는데 가장 큰 부분인 눈의 한계가 있는데, 과연 현재까지의 과학기술로 증명되는 세상이 전부일까?&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어쩌면 인공지능은 애초에 존재하고 있었으며, 미처 우리가 발견하지 못한 것일 수도 있다라는 생각이 들었다. 애초에 이 세상 우주에는 모든 것이 설정되어 있었고, 우리가 과학기술이라 일컫는 것들은 이미 존재한 것들을 발견한 것일뿐 인간이 만들고 개발한 것은 아니라는 것이다. 인간이 자연현상에서 바퀴를 발견하고 발명했듯이, 이미 AI도 존재하고 있었을 뿐 비로소 최근에 AI의 설정값을 찾아 우리가 보고 느끼게 되는 것이라는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 현재의 세상이 시뮬레이션이라 하더라도 내가 해야 할 일들은 바뀌지 않는다. '어차피 죽을거 왜 살아?'와 같은 논조로 다가오는 시뮬레이션 이론은 오히려 더 열심히 살아야겠다는 생각이 든다. 누군가 나를 관찰하고 있는데 이렇게 나태한 모습을 보여줘서야 되겠는가. 향후 인공지능 연구자가 되기위해 그리고 세상의 진리에 한 걸음 다가가기 위해 오늘을 반성하며 내일은 열심히 살아야겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최후의 질문의 결말은 종교적인 내용을 띄는데 어쩌면 AI를 신으로 받드는 종교가 나올수도 있을 것 같다. 그렇다면 전지전능하신 AI님이시여 내일의 주가를 알려주시옵소서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://hoyony.tistory.com/125&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://hoyony.tistory.com/125&lt;/a&gt;&lt;/p&gt;</description>
      <category>그로스로그</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/25</guid>
      <comments>https://studydogyu.tistory.com/25#entry25comment</comments>
      <pubDate>Sat, 11 Apr 2026 00:04:28 +0900</pubDate>
    </item>
    <item>
      <title>1. 목표</title>
      <link>https://studydogyu.tistory.com/24</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방송대에 편입할 때만 하더라도 2년만의 칼졸업을 목표로 하고 들어왔으나,&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;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 결심을 하게 된 이유는 뜬금없지만 영화 오펜하이머를 보고 세운 결심이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;몇 개월 전 영화를 보고 난 뒤의 감상은 단순했다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;344&quot; data-start=&quot;250&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;344&quot; data-start=&quot;250&quot; data-ke-size=&quot;size16&quot;&gt;연기를 잘한다, 핵폭발 장면이 인상적이다, 아는 사람은 아인슈타인 정도다&amp;hellip;&lt;br /&gt;그 정도의 가벼운 감상이 전부였다.&lt;/p&gt;
&lt;p data-end=&quot;344&quot; data-start=&quot;250&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;442&quot; data-start=&quot;346&quot; data-ke-size=&quot;size16&quot;&gt;그런데 시간이 지나고 나서 한 가지 장면이 계속 머릿속에 남았다.&lt;br /&gt;문제를 마주한 학자들이 각자의 방식으로 고민하고, 서로 머리를 맞대며, 결국 답을 찾아가는 모습이었다.&lt;/p&gt;
&lt;p data-end=&quot;521&quot; data-start=&quot;444&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;521&quot; data-start=&quot;444&quot; data-ke-size=&quot;size16&quot;&gt;그 과정 자체가 이상하게도 멋있어 보였다.&lt;br /&gt;단순히 똑똑해서가 아니라, &amp;lsquo;문제를 정의하고 해결해 나가는 태도&amp;rsquo;가 인상 깊게 다가왔다.&lt;/p&gt;
&lt;p data-end=&quot;588&quot; data-start=&quot;523&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;588&quot; data-start=&quot;523&quot; data-ke-size=&quot;size16&quot;&gt;돌이켜보면 나는 그동안 결과만 중요하게 생각해왔다.&lt;br /&gt;돈, 취업, 효율 같은 것들.&lt;/p&gt;
&lt;p data-end=&quot;588&quot; data-start=&quot;523&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;588&quot; data-start=&quot;523&quot; data-ke-size=&quot;size16&quot;&gt;물론 지금도 돈은 중요하다.&lt;/p&gt;
&lt;p data-end=&quot;635&quot; data-start=&quot;590&quot; data-ke-size=&quot;size16&quot;&gt;하지만 그와 동시에, 지적으로 성장하고 싶다는 욕구가 처음으로 강하게 생겼다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 통계데이터과에서 AI에 대한 공부도 더 하고,&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;벌써 1달의 시간이 훌쩍 지났지만 8월까지 5개월의 시간동안의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표를 세우고 다짐하면서 달려가보고자 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;26년도 1학기&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;학업&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴퓨터그래픽스, 컴퓨터보안, 정보통신망, 통계학개론, 확률의개념과응용, 선형회귀 A+ 달성&lt;/li&gt;
&lt;li&gt;계절학기 대학수학의이해, 머신러닝, 자료구조 A+ 달성&lt;/li&gt;
&lt;li&gt;수학 공부(선형대수, 고등학교)&lt;/li&gt;
&lt;li&gt;영어 공부(기초부터)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;일상&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주 3회 이상 운동하기(헬스 / 러닝 / 등산)&lt;/li&gt;
&lt;li&gt;취업 준비하기(자소서, 이력서)&lt;/li&gt;
&lt;li&gt;잘 챙겨먹고 잘 자기&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>그로스로그</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/24</guid>
      <comments>https://studydogyu.tistory.com/24#entry24comment</comments>
      <pubDate>Sat, 21 Mar 2026 00:10:00 +0900</pubDate>
    </item>
    <item>
      <title>0. 시작</title>
      <link>https://studydogyu.tistory.com/23</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;&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;방송대에 들어오면서 세운 목표가 4.5로 졸업하기인데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러려면 오로지 학업에 전념해야 하지만 인생이 그렇듯&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원하는 대로만 이루어지지 않을 게 뻔하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 이번 학기는 시간의 여유가 있을 것 같아&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.5로 학기를 마치는 것은 물론 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;저번학기의 대참사를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 계절학기를 통해서 우선 3과목 모두 A+로 만회할 것이다.&lt;/p&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;요즘 학창시절에 수학과 영어 공부를&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;하지만 10년 뒤의 내가 지금을 후회하지 않기 위해서라도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 학기의 시간만큼은 허투로 보내지 않으리라 다짐한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;26년 1학기 제대로 달려보자. 헿&lt;/p&gt;</description>
      <category>그로스로그</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/23</guid>
      <comments>https://studydogyu.tistory.com/23#entry23comment</comments>
      <pubDate>Sat, 14 Mar 2026 00:58:45 +0900</pubDate>
    </item>
    <item>
      <title>The package java.awt is not accessible 오류</title>
      <link>https://studydogyu.tistory.com/22</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;오류1.PNG&quot; data-origin-width=&quot;383&quot; data-origin-height=&quot;75&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PmPrE/btsH9GMJoXs/OTepspx0NZgLh1Bz4BN7u0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PmPrE/btsH9GMJoXs/OTepspx0NZgLh1Bz4BN7u0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PmPrE/btsH9GMJoXs/OTepspx0NZgLh1Bz4BN7u0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPmPrE%2FbtsH9GMJoXs%2FOTepspx0NZgLh1Bz4BN7u0%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;383&quot; height=&quot;75&quot; data-filename=&quot;오류1.PNG&quot; data-origin-width=&quot;383&quot; data-origin-height=&quot;75&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 오류를 맞닥뜨렸다. 그래서 바로 지쌤에게 문의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;패키지 java.awt에 접근할 수 없습니다&quot;라는 오류 메시지는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 Java에서 모듈 접근성과 관련된 문제를 나타냅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java 9부터는 이전의 클래스패스 메커니즘을 대체하기 위해 모듈 시스템이 도입되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모듈은 Java 애플리케이션의 보안과 유지보수성을 개선하기 위해 강화된 캡슐화를 적용합니다.&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모듈? 정처기 공부하면서 들었던 것 같은데 복습할겸 찾아보았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;정리가 잘 되어 있습니다&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1719287481421&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[JAVA] JAVA9 모듈 프로그래밍&quot; data-og-description=&quot;오늘은 자바 9 모듈 시스템에 관해서 알아보고자 이렇게 포스팅을 하게 되었다. 이 포스팅을 하게 된 계기,...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://m.blog.naver.com/ka28/221946020684&quot; data-og-url=&quot;https://blog.naver.com/ka28/221946020684&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/eRXNG/hyWoNRl6q8/tztpDrsW2FKMlClPVLkyx0/img.png?width=294&amp;amp;height=121&amp;amp;face=0_0_294_121&quot;&gt;&lt;a href=&quot;https://m.blog.naver.com/ka28/221946020684&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://m.blog.naver.com/ka28/221946020684&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/eRXNG/hyWoNRl6q8/tztpDrsW2FKMlClPVLkyx0/img.png?width=294&amp;amp;height=121&amp;amp;face=0_0_294_121');&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;[JAVA] JAVA9 모듈 프로그래밍&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 자바 9 모듈 시스템에 관해서 알아보고자 이렇게 포스팅을 하게 되었다. 이 포스팅을 하게 된 계기,...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모듈 (Module)&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;모듈은 관련된 패키지, 리소스, 설정 파일 등을 하나로 묶은 단위입니다.&lt;/li&gt;
&lt;li&gt;각 모듈은 고유한 이름을 가집니다 (module-info.java 파일에서 선언).&lt;/li&gt;
&lt;li&gt;모듈은 필요한 다른 모듈을 사용할 수 있도록 requires 키워드를 사용하여 의존성을 명시할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모듈 경로 (Module Path)&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;모듈 경로는 클래스패스와 유사하지만, 모듈을 찾아 로드할 때 사용됩니다.&lt;/li&gt;
&lt;li&gt;모듈 경로에는 모듈화된 JAR 파일이나 모듈 세트가 포함될 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;모듈 경계 (Module Boundaries)&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;다른 모듈은 이 공개 API를 통해서만 해당 모듈에 접근할 수 있습니다. 내부 구현은 외부에 감춰집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;module-info.java 파일&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;각 모듈의 루트 디렉토리에 위치한 이 파일은 모듈의 선언을 포함합니다.&lt;/li&gt;
&lt;li&gt;module 키워드로 시작하여 모듈 이름과 의존하는 다른 모듈을 선언합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;모듈 시스템의 장점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;캡슐화&lt;/b&gt;: 각 모듈은 자신의 구현을 감추고 필요한 API만을 노출하여 예상치 못한 접근을 막습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;명확한 의존성 관리&lt;/b&gt;: requires 키워드를 통해 각 모듈이 필요로 하는 다른 모듈을 명시하여 의존성을 명확히 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;설계와 유지보수의 용이성&lt;/b&gt;: 모듈화된 구조는 큰 규모의 애플리케이션 개발과 유지보수를 더 쉽게 만듭니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;안전성&lt;/b&gt;: 더 강화된 접근 제어와 런타임 안정성을 제공하여 애플리케이션의 신뢰성을 높입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java 모듈 시스템은 복잡한 애플리케이션을 개발할 때 더 나은 구조화와 관리를 가능하게 합니다. 이를 통해 모듈 간의 결합도를 낮추고, 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: right;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: right;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;lt;챗GPT&amp;gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;오류2.PNG&quot; data-origin-width=&quot;299&quot; data-origin-height=&quot;91&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bt3jqx/btsIa3AaOKX/URCTw0cltG85L4d7lGf3e0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bt3jqx/btsIa3AaOKX/URCTw0cltG85L4d7lGf3e0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bt3jqx/btsIa3AaOKX/URCTw0cltG85L4d7lGf3e0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbt3jqx%2FbtsIa3AaOKX%2FURCTw0cltG85L4d7lGf3e0%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;299&quot; height=&quot;91&quot; data-filename=&quot;오류2.PNG&quot; data-origin-width=&quot;299&quot; data-origin-height=&quot;91&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;오류3.PNG&quot; data-origin-width=&quot;190&quot; data-origin-height=&quot;31&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q4LZZ/btsIalBjRYK/OrjfshnGSi4V8qimKt79r1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q4LZZ/btsIalBjRYK/OrjfshnGSi4V8qimKt79r1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q4LZZ/btsIalBjRYK/OrjfshnGSi4V8qimKt79r1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq4LZZ%2FbtsIalBjRYK%2FOrjfshnGSi4V8qimKt79r1%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;190&quot; height=&quot;31&quot; data-filename=&quot;오류3.PNG&quot; data-origin-width=&quot;190&quot; data-origin-height=&quot;31&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해결  &lt;/p&gt;</description>
      <category>웹개발/Java</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/22</guid>
      <comments>https://studydogyu.tistory.com/22#entry22comment</comments>
      <pubDate>Tue, 25 Jun 2024 13:00:05 +0900</pubDate>
    </item>
    <item>
      <title>스프링부트) 2개의 데이터베이스 사용하기</title>
      <link>https://studydogyu.tistory.com/19</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;레시피 관련 웹 어플리케이션을 만들었는데 포트폴리오가 부족하다는 생각이 들어 쇼핑몰도 구현하려고 한다. 만개의 레시피와 쇼핑몰을 참고해서 마리아DB를 사용해 레시피 용(enlacolocal)과 쇼핑몰(shopping) 데이터베이스를 구분해서 사용하려고 한다.&amp;nbsp;&lt;/p&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;figure id=&quot;og_1718604970164&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[JPA/Querydsl] Multiple Databases(다중 DB) 설정하기&quot; data-og-description=&quot;하나의 Spring 코드에서 여러 개의 DB를 사용해보자!  &quot; data-og-host=&quot;velog.io&quot; data-og-source-url=&quot;https://velog.io/@juhyeon1114/JPAQuerydsl-Multiple-Databases%EB%8B%A4%EC%A4%91-DB-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot; data-og-url=&quot;https://velog.io/@juhyeon1114/JPAQuerydsl-Multiple-Databases다중-DB-설정하기&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XpGpC/hyWlfmKSUP/GlYab382j2O3DdKpwpuxT0/img.png?width=950&amp;amp;height=500&amp;amp;face=0_0_950_500,https://scrap.kakaocdn.net/dn/EaTB6/hyWloKK8cQ/njZZVOnHfzwJtCIxIfUNzK/img.png?width=687&amp;amp;height=706&amp;amp;face=340_176_563_473,https://scrap.kakaocdn.net/dn/ejqpfV/hyWoNISQHb/kcWZhOKNNz7kCwowJkmmxk/img.png?width=504&amp;amp;height=324&amp;amp;face=0_0_504_324&quot;&gt;&lt;a href=&quot;https://velog.io/@juhyeon1114/JPAQuerydsl-Multiple-Databases%EB%8B%A4%EC%A4%91-DB-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://velog.io/@juhyeon1114/JPAQuerydsl-Multiple-Databases%EB%8B%A4%EC%A4%91-DB-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XpGpC/hyWlfmKSUP/GlYab382j2O3DdKpwpuxT0/img.png?width=950&amp;amp;height=500&amp;amp;face=0_0_950_500,https://scrap.kakaocdn.net/dn/EaTB6/hyWloKK8cQ/njZZVOnHfzwJtCIxIfUNzK/img.png?width=687&amp;amp;height=706&amp;amp;face=340_176_563_473,https://scrap.kakaocdn.net/dn/ejqpfV/hyWoNISQHb/kcWZhOKNNz7kCwowJkmmxk/img.png?width=504&amp;amp;height=324&amp;amp;face=0_0_504_324');&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;[JPA/Querydsl] Multiple Databases(다중 DB) 설정하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;하나의 Spring 코드에서 여러 개의 DB를 사용해보자!  &lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;velog.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1718604985863&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SpringBoot JPA] 다중 DB 설정하기 (multi Datasource + 이기종 DB)&quot; data-og-description=&quot;간혹 사이트들을 연계해야 할때, 그 중에서도 api 없는 사이트의 데이터를 사용해야할 때, 하나의 웹에서 여러 DB를 연결 시켜 사용해야 할 때가 있다. 간단하게 DB Link 로 해결하려 했으나 메인으&quot; data-og-host=&quot;jong-bae.tistory.com&quot; data-og-source-url=&quot;https://jong-bae.tistory.com/58&quot; data-og-url=&quot;https://jong-bae.tistory.com/58&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Z538M/hyWoPNtH6E/u8pKx4yKgKzMiA18KvPka0/img.png?width=480&amp;amp;height=480&amp;amp;face=0_0_480_480,https://scrap.kakaocdn.net/dn/7Vto3/hyWozRpzc5/CtGJ3kHPZhz3JfLkryn02K/img.png?width=480&amp;amp;height=480&amp;amp;face=0_0_480_480&quot;&gt;&lt;a href=&quot;https://jong-bae.tistory.com/58&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://jong-bae.tistory.com/58&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Z538M/hyWoPNtH6E/u8pKx4yKgKzMiA18KvPka0/img.png?width=480&amp;amp;height=480&amp;amp;face=0_0_480_480,https://scrap.kakaocdn.net/dn/7Vto3/hyWozRpzc5/CtGJ3kHPZhz3JfLkryn02K/img.png?width=480&amp;amp;height=480&amp;amp;face=0_0_480_480');&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;[SpringBoot JPA] 다중 DB 설정하기 (multi Datasource + 이기종 DB)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;간혹 사이트들을 연계해야 할때, 그 중에서도 api 없는 사이트의 데이터를 사용해야할 때, 하나의 웹에서 여러 DB를 연결 시켜 사용해야 할 때가 있다. 간단하게 DB Link 로 해결하려 했으나 메인으&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;jong-bae.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1718604994206&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;2개 이상의 DB를 사용하는 Spring Boot 환경에서 Spring Data Jpa 사용시 트랜잭션 관련 에러&quot; data-og-description=&quot;한 프로젝트에서 2개 이상의 DB를 연결해서 사용하기 위한 다중 DataSource 설정을 아래와 같이 했다. @Configuration @EnableTransactionManagement(proxyTargetClass = true) @EnableJpaRepositories( entityManagerFactoryRef = &amp;quot;aJpaEn&quot; data-og-host=&quot;dncjf64.tistory.com&quot; data-og-source-url=&quot;https://dncjf64.tistory.com/423&quot; data-og-url=&quot;https://dncjf64.tistory.com/423&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cYbepy/hyWoAQjTpd/xLIfK1kf3krRBVbNgIsvCK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bKvTBb/hyWlfUDKNc/1peDcgGzO7I9qEyUAAqwo0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bvY8DD/hyWleBovbl/4iIHWVSodEYyBJONbAAnbk/img.jpg?width=640&amp;amp;height=480&amp;amp;face=0_0_640_480&quot;&gt;&lt;a href=&quot;https://dncjf64.tistory.com/423&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dncjf64.tistory.com/423&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cYbepy/hyWoAQjTpd/xLIfK1kf3krRBVbNgIsvCK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bKvTBb/hyWlfUDKNc/1peDcgGzO7I9qEyUAAqwo0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bvY8DD/hyWleBovbl/4iIHWVSodEYyBJONbAAnbk/img.jpg?width=640&amp;amp;height=480&amp;amp;face=0_0_640_480');&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;2개 이상의 DB를 사용하는 Spring Boot 환경에서 Spring Data Jpa 사용시 트랜잭션 관련 에러&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;한 프로젝트에서 2개 이상의 DB를 연결해서 사용하기 위한 다중 DataSource 설정을 아래와 같이 했다. @Configuration @EnableTransactionManagement(proxyTargetClass = true) @EnableJpaRepositories( entityManagerFactoryRef = &quot;aJpaEn&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dncjf64.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;우선 레시피 관련 데이터베이스는 생성이 돼있는 상태로&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1718604763323&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;application.properties&amp;gt;

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.jdbc-url=jdbc:mariadb: 레시피 주소
spring.datasource.username= abc
spring.datasource.password= 1234&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 설정이 돼있으며 JPA도 사용 중이었다. 그런데 찾아보니 JPA는 단일한 데이터베이스에서만 사용이 가능하고 2개 이상부터는 직접 설정을 해줘야 한다고 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 2개로 구분했다.&lt;/p&gt;
&lt;pre id=&quot;code_1718605156017&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;application.properties&amp;gt;

#Recipe database
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.jdbc-url=jdbc:mariadb:// 레시피 주소
spring.datasource.username= abc
spring.datasource.password= 1234

#Shopping database 
spring.datasource2.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource2.jdbc-url=jdbc:mariadb:// 쇼핑몰 주소
spring.datasource2.username= abc
spring.datasource2.password= 1234&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 기존에 있던 appliction에서의 jpa 설정도 없앴다.&lt;/p&gt;
&lt;pre id=&quot;code_1718605496431&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#JPA
#spring.jpa.hibernate.ddl-auto=update
#spring.jpa.database-platform=org.hibernate.dialect.MariaDB103Dialect
#spring.jpa.properties.hibernate.format_sql=true
#spring.jpa.properties.hibernate.show_sql=true

-- 모두 주석처리 --&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;EnlacolocalDataSourceConfig&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1718606445842&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
@EnableJpaRepositories(
        basePackages = &quot;com.example.enlaco.enlacolocal&quot;,
        entityManagerFactoryRef = &quot;enlacolocalEntityManager&quot;,
        transactionManagerRef = &quot;enlacolocalTransactionManager&quot;
)
public class EnlacolocalDataSourceConfig {

    @Bean
    @Primary
    @ConfigurationProperties(prefix = &quot;spring.datasource&quot;)
    public DataSource enlacolocalDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean
    @Primary
    public LocalContainerEntityManagerFactoryBean enlacolocalEntityManager() {
        LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
        em.setDataSource(enlacolocalDataSource());
        em.setPackagesToScan(new String[] {&quot;엔티티 패키지 주소&quot;});

        HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        vendorAdapter.setShowSql(true);
        vendorAdapter.setGenerateDdl(true);
        em.setJpaVendorAdapter(vendorAdapter);

        HashMap&amp;lt;String, Object&amp;gt; prop = new HashMap&amp;lt;&amp;gt;();
        prop.put(&quot;hibernate.dialect&quot;, &quot;org.hibernate.dialect.MariaDB103Dialect&quot;);
        prop.put(&quot;hibernate.hbm2ddl.auto&quot;, &quot;update&quot;);
        prop.put(&quot;hibernate.format_sql&quot;, true);
        prop.put(&quot;hibernate.show_sql&quot;, true);
        em.setJpaPropertyMap(prop);

        return em;
    }

    @Primary
    @Bean
    public PlatformTransactionManager enlacolocalTransactionManager() {
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(enlacolocalEntityManager().getObject());
        return transactionManager;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;lt;ShoppingDataSourceConfig&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1718606568968&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
        basePackages = &quot;com.example.enlaco.shopping&quot;,
        entityManagerFactoryRef = &quot;shoppingEntityManager&quot;,
        transactionManagerRef = &quot;shoppingTransactionManager&quot;
)
public class ShoppingDataSourceConfig {

    @Bean
    @ConfigurationProperties(prefix = &quot;spring.datasource2&quot;)
    public DataSource shoppingDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean shoppingEntityManager() {
        LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
        em.setDataSource(shoppingDataSource());
        em.setPackagesToScan(new String[] {&quot;엔티티 패키지 주소&quot;});

        HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        vendorAdapter.setShowSql(true);
        vendorAdapter.setGenerateDdl(true);
        em.setJpaVendorAdapter(vendorAdapter);

        HashMap&amp;lt;String, Object&amp;gt; prop = new HashMap&amp;lt;&amp;gt;();
        prop.put(&quot;hibernate.dialect&quot;, &quot;org.hibernate.dialect.MariaDB103Dialect&quot;);
        prop.put(&quot;hibernate.hbm2ddl.auto&quot;, &quot;none&quot;);
        prop.put(&quot;hibernate.format_sql&quot;, true);
        prop.put(&quot;hibernate.show_sql&quot;, true);
        em.setJpaPropertyMap(prop);

        return em;
    }

    @Bean
    public PlatformTransactionManager shoppingTransactionManager() {
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(shoppingEntityManager().getObject());
        return transactionManager;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 Application에 추가 해주었다.&lt;/p&gt;
&lt;div style=&quot;background-color: #212121; color: #eeffff;&quot;&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;@EntityScan(basePackages = {&quot;com.example.enlaco.enlacolocal.Entity&quot;, &quot;com.example.enlaco.shopping.ShopEntity&quot;})  // 여러 패키지 스캔&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 피드백 감사합니다.&lt;/p&gt;</description>
      <category>웹개발/스프링부트 - 데이터베이스</category>
      <author>0강귤0</author>
      <guid isPermaLink="true">https://studydogyu.tistory.com/19</guid>
      <comments>https://studydogyu.tistory.com/19#entry19comment</comments>
      <pubDate>Mon, 17 Jun 2024 15:54:54 +0900</pubDate>
    </item>
  </channel>
</rss>