<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>_miffy.log</title>
        <link>https://velog.io/</link>
        <description>머쉿는 개발자가 꿈이애요</description>
        <lastBuildDate>Mon, 30 Jun 2025 07:59:14 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>_miffy.log</title>
            <url>https://velog.velcdn.com/images/_miffy/profile/7ac3f741-5961-4941-ad86-93f9e65b5d11/image.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. _miffy.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/_miffy" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Servlet + JSP 기반 프로젝트 Spring Boot + Vue 로 포팅하기]]></title>
            <link>https://velog.io/@_miffy/Servlet-JSP-%EA%B8%B0%EB%B0%98-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-Spring-Boot-Vue-%EB%A1%9C-%ED%8F%AC%ED%8C%85%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@_miffy/Servlet-JSP-%EA%B8%B0%EB%B0%98-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-Spring-Boot-Vue-%EB%A1%9C-%ED%8F%AC%ED%8C%85%ED%95%98%EA%B8%B0</guid>
            <pubDate>Mon, 30 Jun 2025 07:59:14 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/_miffy/post/cc9cf44a-dec2-4457-935c-de797b2c9ec3/image.png" alt=""></p>
<h3 id="servlet-jsp-기반-쇼핑몰-사이트를-spring-boot-vue-로-포팅하면서-깨달은-점을-포스팅하려고-한다">Servlet, JSP 기반 쇼핑몰 사이트를 Spring Boot, Vue 로 포팅하면서 깨달은 점을 포스팅하려고 한다.</h3>
]]></description>
        </item>
        <item>
            <title><![CDATA[HTTP vs HTTPS]]></title>
            <link>https://velog.io/@_miffy/HTTP-vs-HTTPS-1gswwej2</link>
            <guid>https://velog.io/@_miffy/HTTP-vs-HTTPS-1gswwej2</guid>
            <pubDate>Tue, 24 Jun 2025 01:10:45 GMT</pubDate>
            <description><![CDATA[<h3 id="http-">HTTP ?</h3>
<p> HTTP는 OSI 네트워크 통신 모델의 애플리케이션 계층 프로토콜로, 여러 유형의 요청과 응답을 정의하고 이씁니다.
 숫자 코드 및 데이터 양식으로 서버에서 다양한 유형의 HTTP 응답을 전송합니다 ! </p>
<ul>
<li>200 : OK</li>
<li>400 : Bad Request</li>
<li>404 : Resource not found</li>
</ul>
<p>HTTP는 암호화되지 않은 데이터를 전송해, 제 3자가 그 정보를 가로채고 읽을 수 있읍니다 .
따라서, HTTP 로 통신할 때에는 암호화하는 것이 즁요 합니다 . . !</p>
<hr>
<h3 id="https-">HTTPS ?</h3>
<p>HTTPS는 HTTP에 SSL/TLS 암호화 기술을 결합한 보안 프로토콜입니다.
SSL/TLS는 HTTPS 암호화 방식으로, 이를 통해 HTTPS 암호화를 진행하고 발신자와 수신자만 해당 암호를 해독하여 정보를 주고받을 수 있습니다 .</p>
<p>HTTPS의 핵심은 SSL 인증서입니다.
기존 HTTP는 클라이언트와 서버만의 신뢰를 기반으로 통신하지만,
HTTPS는 제3자인 <strong>신뢰된 인증기관(CA)</strong>이 서버의 신원을 검증하고 보증합니다</p>
<p>위 방법을 통해 우리는 접속할 사이트가 진짜 은행 사이트인지 가짜 은행 사이트인지 SSL 인증서를 통해 신뢰할 수 있게 됩니다. 그 후 신뢰된 당사자 간 암호화된 통신을 진행하면, 외부에서는 어떤 내용으로 통신하는지 알 수 없습니다 .</p>
<hr>
<h3 id="http-https-중-뭐가-더-좋은가요-">HTTP HTTPS 중 뭐가 더 좋은가요 ?!</h3>
<p>HTTPS 가 보안에도 우수하고 신뢰성이 높은 프로토콜입니다
또한 SEO(검색엔진최적화)에도 좋은 영향을 줍니다.
HTTPS를 사용하지 않는 경우 검색 결과에서 하단으로 밀려나게 됩니다.</p>
<p>공공기관 납품 시스템은 전통적으로 폐쇄망 환경, 인증서 관리의 어려움, 레거시 시스템 호환성 문제 등으로 인해 HTTP + 자체 암호화 방식을 사용하는 경우가 많습니다.</p>
<p>하지만 최근에는 보안 가이드라인 강화와 웹 표준화 흐름에 따라
HTTPS 기반의 시스템으로 전환하는 공공기관도 점점 늘고 있습니다.
일부 기관은 HTTPS 위에 자체 암호화를 추가하여 이중 보안 구조를 구현하기도 합니다.</p>
<hr>
<h3 id="나애-개인적인-생각--̀-ω-́-y">나애 개인적인 생각 ( •̀ ω •́ )y</h3>
<p><img src="https://velog.velcdn.com/images/_miffy/post/b5f45a48-fb05-458c-8070-06369842571a/image.png" alt=""></p>
<p>보안이 최우선인 인터넷 환경에서는 HTTPS가 기본이 되지만,
폐쇄망이나 인증서 관리에 제약이 있는 환경에서는 HTTP 위에 자체적인 암호화 로직을 더해 실용적인 보안 구조를 구성하기도 합니다.
중요한 것은 보안 수준을 환경에 맞게 균형 있게 설계하는 것이라고 생각합니다 . . !@
각 환경에 맞게 적절히 사용하기╰(<em>°▽°</em>)╯~ ! </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[내가 공부하는 암호화 @! Hybrid @! ]]></title>
            <link>https://velog.io/@_miffy/%EB%82%B4%EA%B0%80-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%95%94%ED%98%B8%ED%99%94-Hybrid</link>
            <guid>https://velog.io/@_miffy/%EB%82%B4%EA%B0%80-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%95%94%ED%98%B8%ED%99%94-Hybrid</guid>
            <pubDate>Wed, 18 Jun 2025 08:02:07 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/_miffy/post/14e5fee6-014f-4485-80ca-24804e3cf3c0/image.png" alt=""></p>
<h3 id="이중암호화하이브리드-암호화">이중암호화(하이브리드 암호화)</h3>
<p>하이브리드 암호화는 말 그대로, 대칭키 암호화 + 비대칭키 암호화 결합한 암호화 방식이다.
각각의 암호화 방식의 단점을 보완하고, 더 안전하고 효율적인 암호화를 제공하기 위해 사용된다.</p>
<p>대칭키 암호화는 하나의 키로 암호와, 복호화 모두 수행하는 방식으로 매우 빠르고, 대량의 데이터를 처리하기에 적합하지만, 키가 유출되는 순간 암호화가 쓸모 없어진다 . . 
비대칭키 암호화는 공개키와 개인키 두 개의 키를 사용하여 보안을 강화하지만, 암호화 및 복호화 과정이 느리다 . . </p>
<h3 id="이중암호화-동작-방식">이중암호화 동작 방식</h3>
<h4 id="✅-1단계--사용자에게-비대칭키의-공개키-제공">✅ 1단계 : 사용자에게 비대칭키의 공개키 제공</h4>
<ul>
<li>서버는 클라이언트에게 공개키를 준다.</li>
<li>공개키는 누구나 사용할 수 있지만, 복호화는 오직 비밀키를 가진 서버만 가능하다.<h4 id="✅-2단계--사용자가-대칭키예-lea-aes-등-생성-→-데이터-암호화">✅ 2단계 : 사용자가 대칭키(예: LEA, AES 등) 생성 → 데이터 암호화</h4>
</li>
<li>대칭키 암호화는 속도가 빠르기 때문에, 실제 <strong>Payload(본문 데이터)</strong>는 대칭키로 암호화하는 게 효율적이다.<h4 id="✅-3단계--대칭키-자체를-비대칭키공개키로-암호화">✅ 3단계 : <strong>대칭키 자체를 비대칭키(공개키)</strong>로 암호화</h4>
</li>
<li>대칭키가 평문으로 전달되면 탈취될 수 있으니, 공개키로 한 번 더 싸매준다.</li>
<li>대칭키 유출 방지 + 속도 확보<h4 id="✅-4단계--서버로-암호화된-대칭키--암호화된-데이터-전송">✅ 4단계 : 서버로 암호화된 대칭키 + 암호화된 데이터 전송</h4>
</li>
<li>클라이언트는 보통 아래 2개를 같이 보낸다.
→ 비대칭 공개키로 암호화된 대칭키
→ 대칭키로 암호화된 실제 데이터<h4 id="✅-5단계--서버는-자신의-비밀키개인키로-대칭키-복호화">✅ 5단계 : 서버는 <strong>자신의 비밀키(개인키)</strong>로 대칭키 복호화</h4>
<h4 id="✅-6단계--복호화된-대칭키로-요청-본문-복호화-후-처리">✅ 6단계 : 복호화된 대칭키로 요청 본문 복호화 후 처리</h4>
</li>
<li>대칭키로 본문을 풀어 평문으로 만든 후 내부 로직에 따라 처리한다.<h4 id="✅-7단계--서버는-응답-데이터를-대칭키를-활용하여-암호화한다">✅ 7단계 : 서버는 응답 데이터를 대칭키를 활용하여 암호화한다.</h4>
<h4 id="✅-8단계--서버는-응답-데이터-암호화에-사용한-대칭키를-rsa-비밀키로-암호화---클라이언트에-보낸다">✅ 8단계 : 서버는 응답 데이터 암호화에 사용한 대칭키를 RSA 비밀키로 암호화 -&gt; 클라이언트에 보낸다.</h4>
</li>
<li>클라이언트는 공개키로 해당 대칭키를 복호화하여 응답을 해석한다.</li>
<li>이 과정을 통해, 응답이 서버에서 왔다는 것을 클라이언트가 검증할 수 있음(디지털 서명 역할)</li>
</ul>
<br/>

<h3 id="🔐-왜-이렇게-복잡하게-하냐">🔐 왜 이렇게 복잡하게 하냐?</h3>
<p>대칭키만 쓰면 키 전달시 보안에 취약하다 @!  (보안 문제 발생 가능)</p>
<p>그렇다고 비대칭키만 쓰면 속도가 너무 느리다 @! (대용량 처리에 부적합)</p>
<p>그래서 비대칭키로 대칭키를 안전하게 전달 + 대칭키로 본문 빠르게 암호화하는 조합이 최적임</p>
<br/>

<h3 id="암호화-알고리즘-종류">암호화 알고리즘 종류</h3>
<br/>

<h3 id="대칭키">대칭키</h3>
<h4 id="lea">LEA</h4>
<h4 id="tea">TEA</h4>
<h3 id="비대칭키">비대칭키</h3>
<h4 id="rsa">RSA</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[C언어 Pointer 먼데 ! !]]></title>
            <link>https://velog.io/@_miffy/C%EC%96%B8%EC%96%B4-Pointer-%EB%A8%BC%EB%8D%B0</link>
            <guid>https://velog.io/@_miffy/C%EC%96%B8%EC%96%B4-Pointer-%EB%A8%BC%EB%8D%B0</guid>
            <pubDate>Thu, 27 Mar 2025 12:43:52 GMT</pubDate>
            <description><![CDATA[<p>정처기 문제를 풀다보니 , </p>
<p>C언어의 주소, 포인터 개념은 필수이기 때무네 한번 짚고 넘어가려고 합니다 !</p>
<blockquote>
<h4 id="주소">주소</h4>
<p>변수가 할당된 메모리 공간의 시작 주소 ! 
시작 주소를 알면 그 위치부터 변수의 크기만큼 메모리를 사용할 수 있다 !</p>
</blockquote>
<ul>
<li>주소 연산자 : &amp; </li>
</ul>
<blockquote>
<h4 id="포인터">포인터</h4>
<p>변수의 메모리 주소를 저장하는 변수 ! 
메모리의 주소, 즉 &#39;어디&#39;인지(=위치 정보)를 저장하는 변수</p>
</blockquote>
<ul>
<li>포인터 연산자 : *</li>
</ul>
<pre><code class="language-c">#include

int main() {
    char* p = &quot;KOREA&quot;;
    printf(&quot;%s\n&quot;, p);
    printf(&quot;%s\n&quot;, p+1);
    printf(&quot;%c\n&quot;, *p);
    printf(&quot;%c\n&quot;, *(p+3));
    printf(&quot;%c\n&quot;, *p+4);
}
</code></pre>
<p>여기에서 정답은 무얼까 요 ! ! ! </p>
<p>우선, 
char : 하나의 문자를 나타내는 자료형 ! 
char* : 문자열을 가리키는 포인터 ! </p>
<p>char* p = &quot;KOREA&quot;; 
p는 &quot;KOREA&quot; 라는 문자열을 가리키는 포인터 다 ! 
문자열은 &#39;K&#39;, &#39;O&#39;, &#39;R&#39;, &#39;E&#39;, &#39;A&#39;, &#39;\0&#39; 이런 방식으로 메모리 상에 연속으로 저장이 됩니다 . </p>
<p>%c 는 하나의 문자만 출력합니다 . 
%s 는 문자열을 출력합니다 . </p>
<ul>
<li>printf(&quot;%s&quot;, p)에서 p는 KOREA 라는 문자열의 첫 번째 문자를 가리키고 있고 ! %s 는 그 포인터가 가리키는 메모리 주소부터 시작해서 null문자(&#39;\n&#39;) 가 나올 때까지 계속 출력한다 ! </li>
</ul>
<p>위 내용을 토대로 풀어보새요 ~ 
아마 다 풀 수 있으실 거애요 ~ ! </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Promise 객체]]></title>
            <link>https://velog.io/@_miffy/JavaScript-Promise-%EA%B0%9D%EC%B2%B4</link>
            <guid>https://velog.io/@_miffy/JavaScript-Promise-%EA%B0%9D%EC%B2%B4</guid>
            <pubDate>Thu, 27 Mar 2025 07:25:49 GMT</pubDate>
            <description><![CDATA[<p>코드 를 분석하는 중 
Promise 객체를 사용하는 코드가 있어서, 
Promise를 한번 정리하고 넘어가려고 함니다 . . . </p>
<p>처음에는 이게모야 ! ! 했는데
fetch가 익숙했기 때문에 죠금으 ㅣ 설명을 보고 이해할 수 있었습니다 !</p>
<hr>
<h2 id="promise-객체란">Promise 객체란?</h2>
<p><strong>Promise</strong> 객체는 <strong>비동기 작업의 최종 완료 또는 실패를 나타내는 객체</strong>입니다. 간단히 말하면, 비동기 작업이 끝날 때까지 결과를 기다리지 않고, 그 결과를 제공하겠다는 약속을 반환하는 객체입니다. 그래서 <strong>Promise</strong>라는 이름이 지어졌다고 해요.</p>
<hr>
<h2 id="promise-객체-생성">Promise 객체 생성</h2>
<pre><code class="language-javascript">const myPromise = new Promise((resolve, reject) =&gt; {
  // 비동기 작업 수행
});</code></pre>
<p>위 코드를 보면, <strong>Promise</strong> 생성자 안에는 두 개의 매개변수를 가진 콜백 함수가 들어갑니다. 첫 번째 매개변수는 작업이 성공했을 때 호출되는 <strong>resolve</strong>이고, 두 번째 매개변수는 작업이 실패했을 때 호출되는 <strong>reject</strong>입니다.</p>
<pre><code class="language-javascript">function loadData() {
  return new Promise((resolve, reject) =&gt; {
    if (조건) {
      resolve(data); // 작업이 성공하면 resolve 호출
    } else {
      reject(error); // 작업이 실패하면 reject 호출
    }
  });
}

loadData()
  .then((data) =&gt; {
    console.log(&#39;성공!&#39;, data);
  })
  .catch((error) =&gt; {
    console.error(&#39;실패!&#39;, error);
  });</code></pre>
<p>위 예시처럼, <strong>loadData()</strong> 함수는 <strong>Promise</strong> 객체를 반환합니다. 성공적인 작업은 <strong>resolve()</strong>를 호출해서 <strong>.then()</strong>으로 이어지고, 실패한 작업은 <strong>reject()</strong>를 호출해서 <strong>.catch()</strong>로 이어집니다.</p>
<hr>
<h2 id="왜-promise-객체를-사용하는-걸까">왜 Promise 객체를 사용하는 걸까?</h2>
<ol>
<li><strong>재사용성</strong>: 비동기 작업을 함수로 감싸면, 재사용성이 좋아지고, 여러 곳에서 같은 작업을 반복할 수 있습니다.</li>
<li><strong>가독성</strong>: <strong>Promise</strong> 객체를 함수로 감싸면 코드 구조가 명확해져서, 비동기 작업과 사용을 분리할 수 있어서 가독성이 높아집니다.</li>
<li><strong>확장성</strong>: <strong>Promise</strong> 객체를 함수로 만들면, 인자를 전달하여 동적으로 비동기 작업을 처리할 수 있습니다.</li>
</ol>
<p>그렇기 때문에, 많은 자바스크립트 비동기 라이브러리들도 함수 형태로 <strong>Promise</strong> 객체를 제공합니다. 그 대표적인 예가 바로 <strong>fetch()</strong>입니다. <code>fetch()</code> 메소드 내에서 <strong>Promise</strong> 객체를 생성하여, 서버로부터 데이터를 가져오는 데 성공하면 <strong>resolve()</strong>를 호출하고, <strong>.then()</strong>으로 결과를 처리하는 방식입니다.</p>
<hr>
<h2 id="promise의-3가지-상태">Promise의 3가지 상태</h2>
<p>Promise 객체는 <strong>비동기 작업의 결과</strong>를 약속합니다. 즉, <strong>Promise</strong> 객체를 생성하고 비동기 작업을 진행하면, 언젠가는 <strong>성공</strong> 또는 <strong>실패</strong>로 응답을 받게 됨니다 . . . 이때 <strong>Promise</strong>의 상태는 크게 3가지로 나뉩니다.</p>
<ol>
<li><strong>Pending (대기)</strong>: 작업이 아직 완료되지 않은 상태.</li>
<li><strong>Fulfilled (이행)</strong>: 작업이 성공적으로 완료된 상태.</li>
<li><strong>Rejected (거부)</strong>: 작업이 실패한 상태.</li>
</ol>
<h4 id="상태-변화">상태 변화</h4>
<ul>
<li><strong>resolve()</strong>가 실행되면 <strong>Promise</strong> 상태는 <strong>이행(Fulfilled)</strong> 상태로 바뀌고, <strong>.then()</strong> 메소드가 실행됩니다.</li>
<li><strong>reject()</strong>가 실행되면 <strong>Promise</strong> 상태는 <strong>거부(Rejected)</strong> 상태로 바뀌고, <strong>.catch()</strong> 메소드가 실행됩니다.</li>
</ul>
<h3 id="시각적으로-보면-이렇게">시각적으로 보면 이렇게!</h3>
<p><img src="https://velog.velcdn.com/images/_miffy/post/6f9b3d5c-1743-465a-8a14-f9d07a927035/image.png" alt="Promise 상태"></p>
<hr>
<h2 id="결론">결론</h2>
<p><strong>Promise</strong> 객체는 <strong>비동기 작업</strong>을 다룰 때 중요한 개념입니다. 작업이 성공적으로 끝나면 <strong>resolve()</strong>를 호출하여 결과를 넘겨주고, 실패하면 <strong>reject()</strong>를 호출하여 에러를 처리합니다. 이 후에는 <strong>.then()</strong>과 <strong>.catch()</strong> 메소드 체이닝을 통해 비동기 작업의 결과를 처리할 수 있습니다.</p>
<p>앞으로 자바스크립트 비동기 처리를 다룰 때, <strong>Promise</strong> 객체는 기본이자 필수적인 개념이니까, 꼭 이해하고 넘어가는 것이 중요함니다 . . ! 🙌</p>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[☁️ 클라우드 컴퓨팅과 IaaS, PaaS, SaaS]]></title>
            <link>https://velog.io/@_miffy/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%BB%B4%ED%93%A8%ED%8C%85%EA%B3%BC-IaaS-PaaS-SaaS</link>
            <guid>https://velog.io/@_miffy/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%BB%B4%ED%93%A8%ED%8C%85%EA%B3%BC-IaaS-PaaS-SaaS</guid>
            <pubDate>Wed, 26 Mar 2025 13:49:49 GMT</pubDate>
            <description><![CDATA[<h2 id="📌-클라우드-컴퓨팅이란">📌 클라우드 컴퓨팅이란?</h2>
<p>클라우드 컴퓨팅이란 <strong>인터넷을 통해 IT 자원(서버, 스토리지, 네트워크 등)을 제공하는 서비스 모델</strong>을 의미합니다. 기업이 직접 서버를 구축하는 대신, 클라우드 서비스 제공업체가 필요한 IT 인프라를 제공하여 기업은 이를 빌려 사용하는 방식입니다.</p>
<p>✅ <strong>비용 절감</strong>: 직접 서버를 구축하는 것보다 저렴함<br>✅ <strong>유연한 확장성</strong>: 필요한 만큼만 사용 가능<br>✅ <strong>관리 부담 감소</strong>: 유지보수 및 보안 관리 최소화  </p>
<hr>
<h2 id="🏢-온프레미스-vs-클라우드-서비스-제공업체">🏢 온프레미스 vs. 클라우드 서비스 제공업체</h2>
<p><strong>온프레미스(On-Premise)</strong>는 기업이 IT 인프라(서버, 네트워크, 소프트웨어 등)를 직접 구축하고 운영하는 방식입니다. 즉, 모든 것을 직접 관리해야 합니다.</p>
<h3 id="🍕-서비스-제공업체-관점에서-본-피자-가게-비유">🍕 서비스 제공업체 관점에서 본 피자 가게 비유</h3>
<ul>
<li><strong>온프레미스</strong>: 고객이 모든 재료를 직접 구매하고, 반죽하고, 오븐을 사서 피자를 만들어야 함.</li>
<li><strong>IaaS 제공업체</strong>: 반죽을 만들 재료와 오븐을 제공하지만, 고객이 직접 피자를 만들어야 함.</li>
<li><strong>PaaS 제공업체</strong>: 반죽까지 제공하고 고객은 토핑을 올려 피자를 구우면 됨.</li>
<li><strong>SaaS 제공업체</strong>: 완성된 피자를 고객에게 제공하며, 고객은 바로 먹기만 하면 됨.</li>
</ul>
<p><img src="https://velog.velcdn.com/images/_miffy/post/1bf9b23c-fb01-4c4c-b926-772688bba66b/image.png" alt=""></p>
<hr>
<h2 id="☁️-클라우드-컴퓨팅의-3가지-모델">☁️ 클라우드 컴퓨팅의 3가지 모델</h2>
<h3 id="1️⃣-iaas-infrastructure-as-a-service---it-인프라-제공">1️⃣ IaaS (Infrastructure as a Service) - &quot;IT 인프라 제공&quot;</h3>
<p>IaaS는 <strong>가상 서버, 스토리지, 네트워크 같은 IT 인프라를 제공하는 서비스</strong>입니다. 고객은 운영 체제와 소프트웨어를 직접 설치하고 관리해야 합니다.</p>
<p>🔹 <strong>제공업체 역할</strong>: 서버, 스토리지, 네트워크 제공<br>🔹 <strong>예시</strong>: AWS EC2, Microsoft Azure, Google Compute Engine<br>🔹 <strong>비유</strong>: 피자 가게에서 밀가루, 토핑, 오븐을 빌려주지만, 고객이 직접 반죽하고 구워야 함.  </p>
<h3 id="2️⃣-paas-platform-as-a-service---개발-플랫폼-제공">2️⃣ PaaS (Platform as a Service) - &quot;개발 플랫폼 제공&quot;</h3>
<p>PaaS는 <strong>개발자가 애플리케이션을 쉽게 만들고 실행할 수 있도록 운영 체제와 개발 도구까지 제공하는 서비스</strong>입니다. 고객은 애플리케이션 개발과 데이터 관리만 하면 됩니다.</p>
<p>🔹 <strong>제공업체 역할</strong>: 운영 체제, 개발 도구, 미들웨어까지 제공<br>🔹 <strong>예시</strong>: Google App Engine, AWS Elastic Beanstalk, Heroku<br>🔹 <strong>비유</strong>: 피자 가게에서 반죽까지 만들어 제공하고, 고객은 토핑만 올려서 구우면 됨.  </p>
<h3 id="3️⃣-saas-software-as-a-service---완성된-소프트웨어-제공">3️⃣ SaaS (Software as a Service) - &quot;완성된 소프트웨어 제공&quot;</h3>
<p>SaaS는 <strong>고객이 별도의 설치 없이 인터넷을 통해 바로 이용할 수 있는 소프트웨어 서비스</strong>입니다. 서비스 제공업체가 모든 것을 관리합니다.</p>
<p>🔹 <strong>제공업체 역할</strong>: 애플리케이션과 모든 인프라를 관리하여 고객이 바로 사용할 수 있도록 제공<br>🔹 <strong>예시</strong>: Gmail, Google Drive, Dropbox, Slack<br>🔹 <strong>비유</strong>: 피자 가게에서 완성된 피자를 고객에게 제공하여, 고객이 바로 먹을 수 있음.  </p>
<hr>
<h2 id="📊-온프레미스-vs-iaas-paas-saas-비교">📊 온프레미스 vs. IaaS, PaaS, SaaS 비교</h2>
<table>
<thead>
<tr>
<th>서비스</th>
<th>서비스 제공업체가 관리하는 항목</th>
<th>고객이 관리하는 항목</th>
<th>예시</th>
</tr>
</thead>
<tbody><tr>
<td><strong>온프레미스</strong></td>
<td>없음 (고객이 모든 것을 관리)</td>
<td>서버, 네트워크, 운영 체제, 소프트웨어 등</td>
<td>기업 자체 데이터센터</td>
</tr>
<tr>
<td><strong>IaaS</strong></td>
<td>서버, 스토리지, 네트워크 제공</td>
<td>운영 체제, 소프트웨어, 데이터</td>
<td>AWS EC2, Azure VM</td>
</tr>
<tr>
<td><strong>PaaS</strong></td>
<td>운영 체제, 개발 도구, 미들웨어까지 제공</td>
<td>애플리케이션, 데이터</td>
<td>Google App Engine, Heroku</td>
</tr>
<tr>
<td><strong>SaaS</strong></td>
<td>애플리케이션 및 모든 인프라 제공</td>
<td>없음 (그냥 사용)</td>
<td>Gmail, Dropbox</td>
</tr>
</tbody></table>
<hr>
<h2 id="🎯-결론">🎯 결론</h2>
<p>서비스 제공업체의 역할을 기준으로 클라우드 서비스를 정리하면, <strong>IaaS는 IT 인프라를 제공하고, PaaS는 개발 환경까지 제공하며, SaaS는 최종 사용자용 소프트웨어를 제공</strong>하는 형태입니다. </p>
<p>클라우드 컴퓨팅을 활용하면 <strong>기업은 IT 인프라 구축 부담을 줄이고, 필요한 만큼만 사용하여 비용을 절감</strong>할 수 있습니다. 또한, <strong>확장성이 뛰어나기 때문에 스타트업부터 대기업까지 폭넓게 활용</strong>되고 있습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[정보처리기사]]></title>
            <link>https://velog.io/@_miffy/sdfas</link>
            <guid>https://velog.io/@_miffy/sdfas</guid>
            <pubDate>Wed, 26 Mar 2025 12:40:23 GMT</pubDate>
            <description><![CDATA[<p>본부장님이 , , 저애 정보처리기사 실기ㅇ ㅐ 관심이 많으셔서 , ,  열심히 준비하려고 합니다 . . </p>
<p>김기사가 되는 그날까지 하이팅 ~ ~ ! </p>
]]></description>
        </item>
    </channel>
</rss>