<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>spring-study-moon</title>
        <link>https://velog.io/</link>
        <description>spring 공부하는 개발자 입니다!!</description>
        <lastBuildDate>Tue, 15 Nov 2022 03:31:19 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>spring-study-moon</title>
            <url>https://velog.velcdn.com/images/mun-jeong-min/profile/1f8bc3fa-8343-4752-a627-4d0758da1921/image.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. spring-study-moon. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/mun-jeong-min" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[애자일을 경험하면서 느낀 점]]></title>
            <link>https://velog.io/@mun-jeong-min/%EC%95%A0%EC%9E%90%EC%9D%BC%EC%9D%84-%EA%B2%BD%ED%97%98%ED%95%98%EB%A9%B4%EC%84%9C-%EB%8A%90%EB%82%80-%EC%A0%90</link>
            <guid>https://velog.io/@mun-jeong-min/%EC%95%A0%EC%9E%90%EC%9D%BC%EC%9D%84-%EA%B2%BD%ED%97%98%ED%95%98%EB%A9%B4%EC%84%9C-%EB%8A%90%EB%82%80-%EC%A0%90</guid>
            <pubDate>Tue, 15 Nov 2022 03:31:19 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>프로젝트를 애자일로 진행하면서 느낀 점들을 정리해 보았습니다.</p>
</blockquote>
<p><img src="https://velog.velcdn.com/images/mun-jeong-min/post/1503c994-5b13-47d0-a664-572c8fa5264a/image.png" alt=""></p>
<aside>
🔥 애자일 이란?

<p>Agile은 기민한, 날렵한이란 뜻으로 <strong>좋은 것을 빠르게 취하고, 낭비 없게 만드는 다양한 방법론</strong>을 통칭해 일컫는 말이다.</p>
</aside>

<h2 id="과정">과정</h2>
<ul>
<li>프로젝트 관리자가 기능을 이해하고 제품 백로그를 작성합니다.</li>
<li>스프린트 기간을 가지기 전, 스프린트에 필요한 스프린트 백로그를 작성합니다.</li>
<li>그 후 기간을 가지고 백로그에 적힌 기능을 우선적으로 개발하며 스프린트를 진행하였습니다.</li>
<li>스프린트 기간이 끝난 후 스프린트 회고를 가졌습니다. 회고 방법 중 kpt회고 방법을 선택하여 도입해보았습니다.</li>
<li>kpt 회고란 keep, problem, try로 나누어 유지할 것, 불편한 점, 불편한 점을 해결할 방법을 적어서 짧은 시간 안에 모든 구성원의 생각을 공유하고 실행이 가능한 action을 도출합니다.</li>
<li>처음 스프린트 과정을 지나서는 고객(친구)들의 요구사항을 듣고 반영하는 과정을 거쳤습니다.</li>
<li>이런 과정을 거쳐 스크럼을 진행하고 프로젝트를 완성하였습니다.</li>
</ul>
<h2 id="소감">소감</h2>
<ul>
<li>애자일을 진행하면서 프로젝트 인원들의 모든 의견을 들을 수 있었고, 그러므로 빠른 의견 반영과 함께 프로젝트를 개발할 수 있었습니다.</li>
<li>스프린트 백로그를 작성할 당시 구현 우선순위를 두고 기능을 정의했기 때문에 더 효율적인 개발이 가능했습니다.</li>
<li>확실히 회고를 하고 난 후에는 더 나은 방법을 찾으면서 개발을 진행하기 되었습니다. 문제점을 찾거나, 쉽게 진행되지 않는 기능들을 찾고 그것을 중심으로 진행하고 이야기하다보니 프로젝트가 잘 진행되었던 것 같습니다.</li>
</ul>
<h2 id="아쉬운점">아쉬운점</h2>
<ul>
<li>스프린트 기간을 가진 후 스프린트를 발표하는 시간을 꾸준히 가지지 못했던 것이 아쉬웠습니다.</li>
<li>스프린트가 끝난 후 고객의 요구사항을 한번 반영했지만, 나중에는 개발에 밀려서 고객의 요구사항을 꾸준히 반영하지 못한 점이 아쉬웠습니다.</li>
</ul>
<h4 id="참고">참고</h4>
<ul>
<li><a href="https://brunch.co.kr/@daeminpark/18">https://brunch.co.kr/@daeminpark/18</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[www.naver.com을 접속하면 생기는 일]]></title>
            <link>https://velog.io/@mun-jeong-min/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%99%80-%EA%B7%B8-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC</link>
            <guid>https://velog.io/@mun-jeong-min/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%99%80-%EA%B7%B8-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC</guid>
            <pubDate>Mon, 14 Nov 2022 16:14:26 GMT</pubDate>
            <description><![CDATA[<aside>
💡 우선 대략적인 과정의 이해를 해야한다고 생각합니다.

</aside>

<ul>
<li><a href="http://www.naver.com%EC%9D%B4">www.naver.com이</a> 입력된다면 브라우저는 DNS 서버로 가서 웹 사이트가 있는 진짜 주소를 찾습니다.</li>
<li>그 다음 브라우저는 서버에게 웹 사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메세지를 서버로 전송합니다. 이런 메세지들은 클라이언트와 웹의 소통이므로 TCP/IP 연결을 통해 전송됩니다.</li>
<li>이 메세지를 받은 서버는 클라이언트의 요청을 승인하면 200 OK 메세지를 클라이언트에게 전송합니다.</li>
<li>200 OK가 전송된다면 서버가 웹 사이트의 파일들을 데이터 패킷이라 불리는 작은 일련의 덩어리들로 브라우저가 전송합니다.</li>
<li>브라우저는 이 작은 덩어리들을 완전한 웹 사이트로 조립하고, 클라이언트에게 보여줍니다.</li>
</ul>
<h3 id="dns">DNS</h3>
<ul>
<li><a href="http://www.naver.com%EC%9D%84">www.naver.com을</a> 브라우저에 입력</li>
<li>local dns server (isp dns server)에서 캐시데이터를 찾고 있으면 반환, 없으면 root dns server에 요청</li>
<li>root dns server에서 뒤에 TLD를 찾고 그 주소로 TLD dns server로 이동</li>
<li>TLD dns server에서 네이버 서버로 가라, 구글 서버로 가라 이런걸 <a href="http://naver.com">naver.com</a> 이런걸로 알려주고 authoritative dns server로 이동</li>
<li>authoritative dns server에서 도메인이름과 ip주소를 찾고 그걸 local dns server에 넘겨주고 캐시 데이터 저장</li>
<li>브라우저에 넘겨주고, 브라우저에서 실제 호스팅 서버에 요청을 보냄, 그러면 거기서 반환 후 클라이언트에게 보여줌.</li>
</ul>
<h4 id="참고">참고</h4>
<ul>
<li><a href="https://gentlysallim.com/dns%EB%9E%80-%EB%AD%90%EA%B3%A0-%EB%84%A4%EC%9E%84%EC%84%9C%EB%B2%84%EB%9E%80-%EB%AD%94%EC%A7%80-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC/">https://gentlysallim.com/dns%EB%9E%80-%EB%AD%90%EA%B3%A0-%EB%84%A4%EC%9E%84%EC%84%9C%EB%B2%84%EB%9E%80-%EB%AD%94%EC%A7%80-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC/</a></li>
<li><a href="https://aws.amazon.com/ko/route53/what-is-dns/">https://aws.amazon.com/ko/route53/what-is-dns/</a></li>
<li><a href="https://chul2-ing.tistory.com/79">https://chul2-ing.tistory.com/79</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[docker 컨테이너]]></title>
            <link>https://velog.io/@mun-jeong-min/docker-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88</link>
            <guid>https://velog.io/@mun-jeong-min/docker-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88</guid>
            <pubDate>Mon, 14 Nov 2022 03:08:32 GMT</pubDate>
            <description><![CDATA[<aside>
💡 컨테이너는 소프트웨어마다 실행에 필요한 실행 환경을 독립적으로 운용할 수 있도록 기반 환경 또는 다른 실행 환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영 체계 수준의 격리 기술을 말한다.

</aside>

<h2 id="가상화-방법">가상화 방법</h2>
<ul>
<li>가상 머신<ul>
<li>Hypervisor라는 것으로 컴퓨터가 가지고 있는 리소스를 가상머신 별로 배분하며, 각 VM에서는 독립적인 Guest OS를 가지고 있다.</li>
<li>독립적인 플랫폼을 하나씩 증가 시킬 때마다 불필요한 OS를 만드는 작업을 계속 해야한다. - 확장성이 떨어진다.</li>
</ul>
</li>
<li>컨테이너<ul>
<li>컨테이너는 하나의 Host OS위에서 각각의 독립적인 프로그램처럼 관리되고 실행되어서 불필요한 OS를 만드는 작업을 하지 않고 독립적으로 인프라를 나눌 필요가 없어서 확장성이 좋고 빠르다.</li>
</ul>
</li>
</ul>
<h2 id="도커-컨테이너란">도커 컨테이너란?</h2>
<ul>
<li>이미지를 통해 실행한 인스턴스이다.</li>
<li>DOCKER api를 이용하여 컨테이너를 생성, 시작, 중지, 이동, 삭제할 수 있다.</li>
</ul>
<h2 id="이미지란">이미지란?</h2>
<ul>
<li>컨테이너 생성에 필요한 모든 파일과 설정값 등을 포함하고 있는 읽기 전용 템플릿이다.</li>
<li>이미지는 상태값을 가지지 않고 불변성을 가진다. 그리고 docker hub에 등록되고 관리된다.</li>
</ul>
<p><img src="https://velog.velcdn.com/images%2Fgeunwoobaek%2Fpost%2F14c139f7-ac61-45f7-ba4a-e9712da8db3f%2Fimage.png" alt="https://velog.velcdn.com/images%2Fgeunwoobaek%2Fpost%2F14c139f7-ac61-45f7-ba4a-e9712da8db3f%2Fimage.png"></p>
<ul>
<li>docker daemon이 api 요청을 수신하고 이미지, 컨테이너, 네트워크와 같은 서비스를 관리한다.</li>
</ul>
<h4 id="참고">참고</h4>
<ul>
<li><a href="https://velog.io/@geunwoobaek/%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%B0%8F-%EB%8F%84%EC%BB%A4-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC">https://velog.io/@geunwoobaek/%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%B0%8F-%EB%8F%84%EC%BB%A4-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC</a></li>
<li><a href="https://captcha.tistory.com/46">https://captcha.tistory.com/46</a></li>
<li><a href="https://steadycode.tistory.com/21">https://steadycode.tistory.com/21</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Dev Ops란?]]></title>
            <link>https://velog.io/@mun-jeong-min/Dev-Ops%EB%9E%80</link>
            <guid>https://velog.io/@mun-jeong-min/Dev-Ops%EB%9E%80</guid>
            <pubDate>Mon, 14 Nov 2022 02:39:28 GMT</pubDate>
            <description><![CDATA[<h1 id="데브옵스devops">데브옵스(DevOps)</h1>
<ul>
<li>데브옵스란 개발(development) + 운영(Operation)을 결합하여 탄생한 용어로, 시스템 개발자와 운영을 담당하는 전문가 사이의 소통, 협업, 통합, 자동화를 바탕으로 애플리케이션 개발과 고객에게 제공되는 서비스를 빠른 속도로 제공될 수 있도록 조직의 역량을 향상시키는 소프트웨어 개발론이다.</li>
</ul>
<h3 id="이점">이점</h3>
<ul>
<li><p>속도향상</p>
<p>  MSA 및 CD 등을 사용하여 팀에서 서비스를 주도적으로 운영하여 수정된 코드들을 더 빠르게 릴리스 할 수 있다.</p>
</li>
<li><p>신속한 제공</p>
<ul>
<li>CI 및 CD 등을 통해 빌드에서 배포까지 자동화시켜 릴리스의 빈도와 속도를 개선하여 제품을 더 빠르게 업데이트 할 수 있다. 새로운 기능 및 버그 수정 속도가 빨라 고객의 요구에 더 빠르게 대응할 수 있게 된다.</li>
</ul>
</li>
<li><p>안정성</p>
<ul>
<li>CI 및 CD 등을 통해 변경사항을 안전하게 작동하는지 업데이트 마다 테스트 해주어 애플리케이션에 안정성 및 인프라 변경의 품질을 보장해준다.</li>
</ul>
</li>
<li><p>확장성</p>
<ul>
<li>규모에 따라 인프라와 개발 프로세스를 운영 관리하며, 자동화와 일관성의 자원 이점을 살려 복잡한 시스템이나 변화하는 시스템을 효율적으로 관리할 수 있도록 해준다.</li>
</ul>
</li>
</ul>
<h3 id="필요성">필요성</h3>
<ul>
<li>소프트웨어를 구축하는 방법 중 하나인 데브옵스를 통해 소프트웨어의 빠르고 안정적인 개발과 최종 사용자에게 빠르고 안정적인 제공을 해줄 수 있게 된다.</li>
<li>데브옵스는 이전에 개발과 운영으로 분리되어 있던 장벽을 무너뜨려 엔지니어에게 두가지의 자질을 모두 요구하며 개발자의 생산성과 안정성을 높여주고 잦은 소통을 통하여 효율성을 높이고 최종 사용자인 고객에게 제공되는 서비스의 품질을 높일 수 있게 된다.</li>
</ul>
<h3 id="결과">결과</h3>
<ul>
<li>결과적으로는 이제 개발과 운영 모두 소프트웨어 작업에 대부분의 시간을 소비하며 두 팀의 구분이 모호해지고 있다. DevOps는 소프트웨어를 효율적으로 전달하는 프로세스라는 말처럼 지속적으로 코드를 통합하고 항상 배포가 가능한 상태로 유지한다. 하루에 수십 번 배포가 가능하고, 코드 변경내용을 커밋할 때마다 배포할 수도 있다.</li>
<li>개발과 운영사이에 존재하는 벽을 허물고 비즈니스의 요구사항을 단기간에 반영할 수 있는 높은 품질의 소프트웨어를 개발해야 한다.</li>
<li>이러한 문제들을 해결하기 위하여 나온 것이 DevOps이다. 개발과 운영을 합쳐서 사용자의 의견에 민감하게 반응하는 높은 품질의 소프트웨어를 만들자는 목적을 가진다.</li>
<li>클라우드의 등장으로 인해 클라우드를 통해 개발자도 네트워크, 서버 등에 대한 설정을 할 수 있어지고, 좋은 도구들을 통해서 빌드나 배포를 쉽게 자동화할 수 있게 되었다.</li>
</ul>
<h4 id="참고">참고</h4>
<ul>
<li><a href="https://www.netapp.com/ko/devops-solutions/what-is-devops/">https://www.netapp.com/ko/devops-solutions/what-is-devops/</a></li>
<li><a href="https://m.blog.naver.com/acornedu/221519913222">https://m.blog.naver.com/acornedu/221519913222</a></li>
<li><a href="https://well-made-codestory.tistory.com/23">https://well-made-codestory.tistory.com/23</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[인터넷]인터넷의 작동원리]]></title>
            <link>https://velog.io/@mun-jeong-min/%EC%9D%B8%ED%84%B0%EB%84%B7%EC%9D%B8%ED%84%B0%EB%84%B7%EC%9D%98-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC</link>
            <guid>https://velog.io/@mun-jeong-min/%EC%9D%B8%ED%84%B0%EB%84%B7%EC%9D%B8%ED%84%B0%EB%84%B7%EC%9D%98-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC</guid>
            <pubDate>Sun, 15 May 2022 06:24:55 GMT</pubDate>
            <description><![CDATA[<aside>
💡 인터넷은 기본적으로 컴퓨터들이 서로 통신 가능한 **네트워크**라는 것이다,

</aside>

<ul>
<li>발전 과정</li>
</ul>
<ol>
<li><p>컴퓨터를 컴퓨터끼리 연결 하려면 컴퓨터에 달린 플러그가 많이 필요했다.</p>
<p> <img src="https://mdn.mozillademos.org/files/8443/internet-schema-2.png" alt="https://mdn.mozillademos.org/files/8443/internet-schema-2.png"></p>
</li>
<li><p>그래서 <strong>라우터</strong>라는 <strong>특수한 소형 컴퓨터에</strong> 연결하여 만약 10개의 컴퓨터 네트워크에 10개의 케이블을 사용한다면 10개의 플러그가 있는 하나의 <strong>라우터로</strong> 연결하여 사용함.</p>
<p> <img src="https://mdn.mozillademos.org/files/8445/internet-schema-3.png" alt="https://mdn.mozillademos.org/files/8445/internet-schema-3.png"></p>
</li>
<li><p>하지만 수백, 수천, 수십억 대의 컴퓨터를 연결하는 것은 어려웠음. 그래서 라우터를 라우터와 연결해서 무한히 확장해 사용함.</p>
</li>
<li><p>하지만 다른 지역이나 먼곳에 케이블을 연결할 수는 없었다. 그래서 집에 연결된 전력이나 전화의 케이블을 이용했다. 전화기 기반의 시설은 이미 세계 어느 곳과도 연결 되어있다. 따라서 네트워크를 전화 시설과 연결하기 위해 <strong>모뎀이라는</strong> 특수 장비를 사용했다. 모뎀: 네트워크의 정보를 전화 시설에서 처리할 수 있는 정보로 바꾸며, 그 반대도 가능.</p>
</li>
<li><p>여기서 쉽게 설명 하자면 모뎀은 건물마다 벽안에 설치 되어 있다. 그리고 모뎀과 라우터(공유기)가 연결되어서 현대 사람들은 공유기에 연결하면 네트워크 연결이 되어 인터넷이 되는 것이다.</p>
</li>
<li><p>그 다음에 우리의 네트워크가 다른 네트워크에 도달하기 위해 네트워크를 ISP(인터넷 제공 업체) 에 연결한다. ISP는 특수한 라우터를 관리하며 다른 ISP의 라우터에도 접근이 가능하다. </p>
<p> <img src="https://mdn.mozillademos.org/files/8453/internet-schema-7.png" alt="https://mdn.mozillademos.org/files/8453/internet-schema-7.png"></p>
</li>
<li><p>컴퓨터에 접속하기 위해서는 특정 컴퓨터를 지정해야한다. 그래서 네트워크에 접속한 컴퓨터들은 IP주소(고유한 주소) 를 가진다. 그런데 컴퓨터들은 IP주소로 찾아가기 쉽지만 사람들은 찾아가기 쉽지않다. 그래서 도메인 이름 이라고 하는 사람이 읽을 수 있는 IP주소로 이름을 지정한다.</p>
</li>
</ol>
<ul>
<li>여기서 IP란 인터넷 프로토콜이다. IP주소로 컴퓨터에 메세지를 전달해주는 역할을 한다.</li>
<li>인터넷은 하나의 구현된 인프라이며, 웹은 그 위에 구축된 서비스이다</li>
<li>인터넷은 네트워크에 네트워크를 구현하여 모든 컴퓨터를 하나의 통신망에 연결함.</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>