<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>unoyoon_12.log</title>
        <link>https://velog.io/</link>
        <description>Dev.Yoon</description>
        <lastBuildDate>Tue, 14 Jan 2025 09:31:43 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>unoyoon_12.log</title>
            <url>https://velog.velcdn.com/images/unoyoon_12/profile/b2dac3e6-a6a2-4cf0-8666-8a3d11c55fe0/social_profile.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. unoyoon_12.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/unoyoon_12" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Oracle DB not connected]]></title>
            <link>https://velog.io/@unoyoon_12/Oracle-DB-not-connected</link>
            <guid>https://velog.io/@unoyoon_12/Oracle-DB-not-connected</guid>
            <pubDate>Tue, 14 Jan 2025 09:31:43 GMT</pubDate>
            <description><![CDATA[<p>oracle db를 사용하고 싶었지만, x 표시로 사용할 수 없었다. </p>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/784dcc31-ed83-4c42-9bd1-6df9e6752dbf/image.png" alt=""></p>
</blockquote>
<hr>
<ul>
<li>Docker를 이용한 Oracle DB 환경 설정 및 실행</li>
</ul>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/883a2e26-e98a-4e4e-bbbf-2b3803c4434e/image.png" alt=""></p>
</blockquote>
<ul>
<li>까만 부분은  생성된 docker id  이다.</li>
</ul>
<hr>
<p>docker ps : 현재 실행 중인 컨테이너만 표시</p>
<p>docker ps -a : 모든 컨테이너를 표시 (실행 중, 중지됨, 종료됨 등)</p>
<p>docker start (docker  id) : 컨테이너 실행 가능</p>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/4fd2e4ea-71ea-4dbc-ba7b-97e1839f8824/image.png" alt=""></p>
</blockquote>
<hr>
<p>위와 같은 과정을 거치면 실행됨을 확인할 수 있다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JDBC]]]></title>
            <link>https://velog.io/@unoyoon_12/JDBC</link>
            <guid>https://velog.io/@unoyoon_12/JDBC</guid>
            <pubDate>Thu, 09 Jan 2025 11:14:09 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/e00dbe66-1c11-4bb0-a369-8a6fb97e69e8/image.png" alt=""></p>
<h1 id="1-whats-jdbc">1. What&#39;s JDBC</h1>
<blockquote>
<p>Java Database Connectivity : JAVA 언어에서 DATABASE에 연결하여 SQL문을 실행하여 데이터를 출력하기 위한 API </p>
</blockquote>
<p>장점 : 다양한 DATABASE와 상호작용 가능 (데이터베이스 독립성 제공)</p>
<hr>
<p><strong><em>&quot;JDBC의 작동 과정&quot;</em></strong></p>
<p>드라이버 로드:</p>
<ol>
<li>Class.forName(&quot;드라이버 클래스명&quot;)을 사용해 드라이버를 로드 (Java 6 이후로는 자동 로드 지원)</li>
</ol>
<ol start="2">
<li>데이터베이스 연결: DriverManager.getConnection(url, user, password) 메서드를 사용해 데이터베이스에 연결</li>
</ol>
<ol start="3">
<li>SQL 실행: Statement 또는 PreparedStatement 객체를 생성하고 SQL 문을 실행</li>
</ol>
<ol start="4">
<li><p>결과 처리: ResultSet 객체를 사용해 쿼리 결과를 처리</p>
</li>
<li><p>리소스 닫기: 사용한 Connection, Statement, ResultSet 객체를 닫아 리소스를 해제</p>
</li>
</ol>
<h1 id="2-dao-dto-connection">2. DAO, DTO, CONNECTION</h1>
<p>DAO : 실제로 DATABASE에 접근하여 DATA에 접근하기 위한 객체, CRUD 및 SQL 실행을 담당</p>
<p>DTO : DATA를 전송하는 객체, 로직을 따로 구현하지 않으며 DATA를 보관하는데 초점</p>
<p>CONNECTION : JDBC에서 DATABASE에 연결을 나타내는 객체, SQL문을 실행하기 위한 객체</p>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/ec27b9b4-922c-4db7-9893-77ab83482784/image.png" alt=""></p>
</blockquote>
<ul>
<li>Connection을 이용해서 insert문을 실행
<img src="https://velog.velcdn.com/images/unoyoon_12/post/d639bcf4-3072-47f6-9d7b-7212879b8ebd/image.png" alt=""></li>
<li>PrepareStatement : 사전 준비된 SQL문을 실행하는 문구</li>
</ul>
<h1 id="3-외전--service는-왜-쓸까">3. 외전 : Service는 왜 쓸까?</h1>
<p>Container에 전체적으로 작업하면 어떨까 라는 생각을 하였다. 하지만 큰 프로그램을 제작하게 된다면 그 기능은 점차 많아질 것이다. 그렇기에 유지보수성을 위해서 Service에 대해 설명하고자 한다.</p>
<p>DAO에서 만들어놓은 메소드들을 활용하여 Contatiner로 바로 쓰게 된다면 필요한 값들을 바로바로 찾아 쓰기 어려운 상황이 생길 것이다. </p>
<p>그렇기에 Service에 필요한 값들을 모아놓고 그 기능들을 사용하는 것이다.</p>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/03d4c59d-a621-41af-bc0c-6a68f00c2272/image.png" alt=""></p>
</blockquote>
<ul>
<li>Example Service code</li>
</ul>
<p>이처럼 필요한 기능을 수정하고, 생성하는 Service layer를 사용한다면 유지보수 관리에 용이해질 것이다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Port Fowarding]]]></title>
            <link>https://velog.io/@unoyoon_12/Port-Fowarding</link>
            <guid>https://velog.io/@unoyoon_12/Port-Fowarding</guid>
            <pubDate>Tue, 07 Jan 2025 09:24:39 GMT</pubDate>
            <description><![CDATA[<h2 id="1-whats-port-fowarding">1. What&#39;s Port Fowarding</h2>
<hr>
<p>Port Fowarding : network traffic이 특정 포트를 통해 이동할 때, 해당 traffic을 특정 내부 장치로 전달하도록 설정하는 네트워크 기술.</p>
<p>장점 : 외부에서 내부 네트워크에 있는 특정 장치나 서비스를 안전하게 전달할 수 있다.</p>
<p>Port Fowarding은 Oracle Virtual Box에서 변경할 수 있다. </p>
<p>사이트는 아래를 참고하면 된다.</p>
<blockquote>
<p><a href="https://www.oracle.com/kr/virtualization/virtualbox/"><em>Website Link : Oracle Virtual Box Website</em></a></p>
</blockquote>
<hr>
<h2 id="2-oracle-vb를-이용한-포트-포워딩">2. Oracle VB를 이용한 포트 포워딩</h2>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/56a8a40e-e9a4-4e43-a00b-9cfbe82ad09c/image.png" alt=""> </p>
</blockquote>
<ul>
<li>우측 클릭 후 설정으로 이동
<img src="https://velog.velcdn.com/images/unoyoon_12/post/20c214e6-338f-49de-96ab-a6379c10029b/image.png" alt=""> </li>
<li>네트워크 클릭 후 포트 포워딩 클릭
<img src="https://velog.velcdn.com/images/unoyoon_12/post/d7daf15d-2290-4134-8051-ab2cf977ae2d/image.png" alt=""> </li>
<li>포트 포워딩 규칙 설정 (HTTP, SSH)</li>
</ul>
<p>HTTP 통신과 SSH 통신을 설정해보았다. 호스트 IP와 게스트 IP를 서버에 맞게 설정하였다. </p>
<hr>
<h2 id="3-http-connection-using-port-forwarding">3. [HTTP Connection Using Port Forwarding]</h2>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/f3d7276d-cea7-48fc-b704-d6b8ced03561/image.png" alt=""> </p>
</blockquote>
<ul>
<li>호스트 IP : 127.0.0.1를 이용하여 HTTP로 연결한 화면의 모습이다.</li>
</ul>
<hr>
<h2 id="4-dbeaver-connection-using-port-forwarding">4. [DBeaver Connection Using Port Forwarding]</h2>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/15cae1ca-bdff-4f26-bb94-d21283883261/image.png" alt=""> </p>
</blockquote>
<ul>
<li>MYSQL basic port를 통해 Port Fowarding한 상태
<img src="https://velog.velcdn.com/images/unoyoon_12/post/4cfac87d-ebd7-4063-8236-7c415326920c/image.png" alt=""><ul>
<li>Localhost:3306으로 Port Fowarding 되었다.</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Oracle Virtual Box Error]]]></title>
            <link>https://velog.io/@unoyoon_12/Oracle-VirtualBox-Error</link>
            <guid>https://velog.io/@unoyoon_12/Oracle-VirtualBox-Error</guid>
            <pubDate>Mon, 06 Jan 2025 09:23:05 GMT</pubDate>
            <description><![CDATA[<h2 id="1-whats-orcale-vb">1. What&#39;s Orcale VB?</h2>
<hr>
<p>Virtual Box : 한 대의 물리적 컴퓨터에서 여러 운영체제를 실행</p>
<blockquote>
<p><a href="https://www.oracle.com/kr/virtualization/virtualbox/"><em>Website Link : Oracle Virtual Box Website</em></a></p>
</blockquote>
<p>Ubuntu OS를 Window OS 위에 돌리기 위해서 Oracle VB를 설치해보았다. </p>
<p>Ubuntu는 개인용, Desktop 환경에 최적화 되어있어 설치하였다. </p>
<hr>
<h2 id="2-oracle-virtual-714-setup-error">2. Oracle Virtual 7.1.4 Setup Error</h2>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/3d1e1ccd-58d3-4409-bf77-97fb65d0a6dd/image.png" alt="">  -위와 같은 오류가 발생하였다.</p>
</blockquote>
<hr>
<h2 id="3-solution">3. [Solution]</h2>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/66f7c680-133d-4ae2-a863-7983f928caa0/image.png" alt=""> - Microsoft Visual C++ 2019 Redistributable Package가 시스템에 설치되어 있지 않아서 발생한 문제였다.</p>
</blockquote>
<p>아래 링크를 통해서 사진과 같이 운영체제 비트에 맞게 설치하면 된다. 
나는 x64bits를 사용하여 이에 맞게 다운로드하였다.</p>
<blockquote>
<p>[<em>Website Link : Microsoft Visual C++ Redistriburtable</em>]
(<a href="https://learn.microsoft.com/ko-kr/cpp/windows/latest-supported-vc-redist?view=msvc-170">https://learn.microsoft.com/ko-kr/cpp/windows/latest-supported-vc-redist?view=msvc-170</a>)</p>
</blockquote>
<p>성공적으로 아래와 같이 설치됨을 확인할 수 있다.</p>
<blockquote>
<p><img src="https://velog.velcdn.com/images/unoyoon_12/post/ff1dbbfc-3be9-42aa-a056-9352bd4835b2/image.png" alt=""></p>
</blockquote>
]]></description>
        </item>
    </channel>
</rss>