<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>minseung_shin.log</title>
        <link>https://velog.io/</link>
        <description>서비스 기획, 블록체인, 디지털 자산, 데이터 분석 </description>
        <lastBuildDate>Sun, 01 Aug 2021 13:01:44 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. minseung_shin.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/minseung_shin" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Project WITH]]></title>
            <link>https://velog.io/@minseung_shin/Project-WITH</link>
            <guid>https://velog.io/@minseung_shin/Project-WITH</guid>
            <pubDate>Sun, 01 Aug 2021 13:01:44 GMT</pubDate>
            <description><![CDATA[<p>2020년 한 해 동안 속해있었던 블록체인 학회(SKKRYPTO)에서 작성했던 글입니다. 학회를 통해 블록체인이라는 학문에 대해 탐구를 하며 정말 다양한 경험을 했던 기억이 있습니다. 1년이라는 시간동안 학회에서 만든 여러 결과물들이 있는데, 그냥 두기에는 조금 아깝다는 생각이 들어 옮겨적게 되었습니다 😉</p>
<blockquote>
<p>본 글은 성균관대학교 블록체인 네트워크 SKKRYPTO 브런치에 업로드된 글로, 작성자는 본인입니다. 또한, 본 글은 2020년 학회에 속해있을 당시에 업로드되었던 글로 현재 시점이 아니라는 사실을 인지해주셨으면 좋겠습니다. 
마지막으로, 혹시라도 문제가 될 시 회장님께서 연락주시면 좋겠습니다 ! </p>
</blockquote>
<blockquote>
<p>블록체인이 궁금하다면? <a href="https://brunch.co.kr/@skkrypto">SKKRYPTO 브런치</a></p>
</blockquote>
<hr>
<p>글을 쓰기에 앞서, <strong>&#39;Project WITH&#39;</strong> 라는 플랫폼에 관심을 갖게 된 배경에 대해 잠시 소개하고 가려고 합니다.</p>
<p>블록체인이라는 기술에 대해 처음 배웠을 때, <em>&#39;스포츠&#39;에도 블록체인이라는 기술이 적용될 수 있을까?</em> 라는 물음에서 본 프로젝트에 대해 리서치를 하게 되었습니다. 
굳이 &#39;스포츠&#39;였던 이유는 제 원전공이 &#39;스포츠&#39;와 관련되어 있었을 뿐더러 블록체인 기술이 어떤 분야까지 확장할 수 있을지 궁금하기도 했기 때문입니다. 그럼 지금부터 &#39;Project WITH&#39;에 대한 글을 올려보도록 하겠습니다.</p>
<hr>
<h2 id="선수-경력관리-플랫폼-project-with">선수 경력관리 플랫폼 &#39;Project WITH&#39;</h2>
<p>현재, 블록체인은 이전에 생각치 못했던 다양한 산업과 결합을 하며 그 활용 가능성이 나날이 증가하고 있습니다. 스포츠를 전공했지만, 현재 블록체인을 공부하고 있는 학생으로서 이러한 흐름 속에 과연 블록체인이 스포츠와 결합할 수 있을지 궁금증을 가졌습니다. 예상 외로 스포츠 산업 속에서도 블록체인이 활발히 기여하고 있었고, 이미 다양한 서비스가 출시되고 있습니다. 이번 글에서는 &#39;스포츠&#39; 산업과 블록체인이 결합된 여러 플랫폼 가운데 &#39;Project WITH&#39;에 대해 알아보고자 합니다. 
<img src="https://images.velog.io/images/minseung_shin/post/04764693-9f42-4d89-9962-b40b608eb316/image.png" alt=""></p>
<h2 id="project-with-란">Project WITH 란?</h2>
<p>Project WITH는 블록체인 기술을 활용하여 스포츠 선수들의 경력 개발을 지원하고, 구단들에 최적의 선수 발굴 창구를 제공하며, 팬들에게는 교류와 정보 공유의 장을 제공하는 플랫폼입니다. 
해당 플랫폼은 스포츠 산업의 참여자들인 구단, 선수, 에이전트, 팬 그리고 기업들까지 한 ecosystem 안에서 교류할 수 있게 해줍니다. 그 중 최우선으로 스포츠 Scene의 주인공인 &quot;선수&quot;의 이적/스카우트 및 합당한 가치평가를 지원하여 모든 선수가 공평한 기회를 부여받고 안정적인 커리어를 이어 나감으로써 팬들에게 즐거움을 줄 수 있도록 하는데 목적을 두고 있습니다. </p>
<h2 id="프로젝트-등장-배경">프로젝트 등장 배경</h2>
<p>프로젝트 위드는 전 세계 스포츠 시장의 양극화가 야기하고 있는 스포츠 선수의 경력 문제를 해결하고자 시작하게 되었습니다. 글로벌 축구 시장은 그 시장 규모와 파급력 대비, 에이전트와 믿을 수 있는 정보 공유 채널이 부재하여 전 세계에 존재하는 수많은 축구 선수들의 원활한 이적 및 정확한 가치 평가가 어려운 실정입니다. </p>
<p>축구 생태계에는, 세계적으로 유명한 선수 외에도 수많은 무명 선수가 존재합니다. 이들은 적합한 구단을 찾는데 필요한 네트워크(에이전트 및 정보 공유 플랫폼)가 부족하여, 경력을 개발하기 위해 필요한 합당한 기회를 보장받지 못하고 있습니다. 이미 시장에서 유명한 스타 플레이어가 아닌 이상, 에이전트 등 이적에 중요한 역할을 하는 채널에 노출될 기회가 적기 때문입니다.</p>
<p>뿐만 아니라, 네트워크에 접근을 한다고 할지라도 선수의 가치를 평가할 수 있는 객관적 지표가 부재합니다. 대다수 무명 선수들의 경기는 중계가 되지 않아, 제대로 된 선수 가치 지표를 산출하기 어려우며, 이는 고스란히 선수들의 불합리한 가치 산정으로 이어지고 있는 실정입니다. </p>
<p>따라서 프로젝트 위드는, 스포츠 시장의 정보를 시장 구성원 모두가 투명하게 공유할 수 있는 스포츠 정보 플랫폼이 되고자 합니다. 이를 통해, 선수들은 자발적인 홍보 기회 및 이적 정보에 대한 접근 기회를 보장받을 수 있게 될 것입니다. 또한, 구단/에이전트/팬은 그간 파악하지 못했던 잠재력 있는 선수를 발굴할 수 있는 기회를 확보하게 될 것입니다. </p>
<blockquote>
<p>본 내용은 [코인원 인터뷰] - 프로젝트 위드(Project WITH) 내용을 발췌한 것입니다.</p>
</blockquote>
<h2 id="플랫폼-속-블록체인">플랫폼 속 블록체인</h2>
<p>Project WITH 플랫폼 속에는 다양한 기술이 적용되어 있지만, 그 중 플랫폼 내에서 블록체인이 어떠한 역할을 하는지에 대해 Project WITH에서 제공하는 백서를 기반하여 알아보도록 하겠습니다. WITH 플랫폼 내에서 블록체인은 크게 <strong>2가지 역할</strong>을 수행합니다.</p>
<h3 id="1-데이터-관리">1. 데이터 관리</h3>
<p>선수 개인 정보(선수), 경기분석 영상(구단), 선수분석 정보(에이전트), 미디어 콘텐츠(팬) 등, 이 밖에도 각 참여자 별로 수많은 정보를 게시하게 되는데, 이때 발생하는 정보들을 블록체인을 통해 안전하게 저장하고 관리하고 있습니다. </p>
<p>좀 더 세부적으로 알아보면, 플랫폼 차여자들이 생성, 공유하는 데이터가 데이터의 보안 등급과 중요도에 따라 Open Data와 Private Data가 있어 무료/유로정보로 제공되고, 이에 따라 저장되는 위치도 달라집니다. 데이터들의 저장 위치로 DB Layer에는 <strong>Blockchain</strong>과 <strong>Non-Blockchain</strong>이 있습니다.</p>
<p><strong>Blockchain</strong>에는 보안 등급이 낮고, 누구에게나 공개될 수 있는 데이터들을 관리하고 있습니다. 그 구성요소로 Blockchain에 저장할 대상 데이터(Open Data)를 수집하고, 이를 Hash로 변환시키는 WITH-Repository가 있으며, 이렇게 변환된 Hash값을 Blockchain Database API에 등록하는 역할을 하는 On-chain이 있습니다. 또한, 이러한 데이터 저장뿐 만 아니라 Track Record와 같은 데이터의 흐름도 블록체인에 기록됩니다. 
<strong>Non-Blockchain</strong>에서는 민감한 개인정보와 같은 보안 등급이 높고, 소유자의 허가를 받아야 이용할 수 있는 데이터를 관리하고 있습니다. 마찬가지로 두 가지 영역(Off-chain, DB/Storage)으로 구성되어 있는데, 먼저 Off-chain에서는 블록체인에 우선 공개하지 않는 데이터(Private Data)와 On-chain에 있는 데이터의 Backup 역할을 합니다. 다음으로 DB/Storage 영역에서는 Private Data의 관리와 사용자의 용청에 의한 Blockchain 저장 기록을 폐기하는 경우, 블록체인에 접속하는 개인키를 폐기한 기록을 관리하는 역할을 합니다.
<img src="https://images.velog.io/images/minseung_shin/post/f4f751a3-ae35-4951-bdb9-900c2c404e33/image.png" alt=""><img src="https://images.velog.io/images/minseung_shin/post/bbcae0a2-0d54-44fc-9db7-730d26ee2195/image.png" alt=""></p>
<h3 id="2-토큰-모델">2. 토큰 모델</h3>
<p>WITH 플랫폼 내에서 블록체인에 의해 운영되는 토큰은 WIKEN과 WINT, 두 종류가 있습니다.
먼저, WIKEN은 플랫폼 내에서 필요한 WINT를 구매하기 위한 수단입니다. 이는 암호화폐 거래소에서 구매하여 취득하거나, 보유한 WINT의 1:1 전환 신청을 통해 즉시 취득할 수 있습니다. 또한, 취득한 WIKEN은 상장된 거래소를 통해 판매하여 현금화를 할 수 있습니다. 
다음으로 WINT는 실질적으로 플랫폼 내에서 통용되는 화폐로, 활동을 통해 취득할 수 있으며, 플랫폼에 대한 기여도를 평가하는 지표로도 사용됩니다. 앞서 말씀드린 기여도 평가 지표라는 것은 보유한 WINT가 많을수록 추후 활동에 대해 상대적으로 많은 WINT가 지급되는 것을 의미합니다. 
<img src="https://images.velog.io/images/minseung_shin/post/074f9bc4-8739-4068-bf1b-0fd0e8adde7d/image.png" alt="">
이렇게 크게 2가지 측면에서 블록체인이 해당 플랫폼 내에서 기여하고 있으며, WITH 플랫폼과 관련해서 더 자세하고 추가적인 내용이 궁금하신 분은 <a href="http://projectwith.io/alliances">http://projectwith.io/alliances</a> 해당 사이트에 접속하여 &#39;Project WITH 기술백서&#39;를 참조하시면 됩니다 😝</p>
<h2 id="플랫폼-ui">플랫폼 UI</h2>
<p><img src="https://images.velog.io/images/minseung_shin/post/8e2577b0-fec9-4968-8fbe-6f7b9bbe4354/image.png" alt="">
이는 백서에서 제공된 UI 디자인이며, 서비스 이용 시에는 실제 선수들의 정보와 사진, 기록 등을 볼 수 있도록 제공된다고 합니다. 추가적으로 실제 WITH 앱에서 제공하는 서비스로는 크게 <strong>1. 선수-팀 간 매칭 서비스, 2. 선수 가치 평가 서비스, 3. 컨텐츠 업로드 및 후원 서비스</strong>가 제공된다고 합니다. </p>
<h2 id="평가">평가</h2>
<p>Project WITH는 그동안 소외되었던 선수들을 위한 플랫폼이라는 점에서 그 가치가 무궁무진하다는 생각이 듭니다. 블록체인의 보안성과 투명성이라는 가장 큰 장점을 뚜렷하게 살린 시도이자, 해당 산업 참여자들의 니즈를 정확히 반영한 플랫폼이라고 여겨집니다. 단, WITH 플랫폼의 백서에 제시했듯, Transaction 간 발생하는 수수료의 최소화와 강력한 거래 처리 능력이 보장되어야 해당 플랫폼에 적용되는 블록체인 기술이 최고의 성능을 낼 수 있을 것 같습니다. 현재, 전 프로 축구선수의 합류, 국내 유명 블록체인 기업과 다양한 스포츠 관련 기업들과의 스폰서십을 통해 계속해서 보완하고 발전을 시도하고 있는 만큼 앞으로의 행보가 기대되는 서비스라는 생각이 듭니다. 아직 ‘축구’라는 종목에 주안점을 두고 있지만, 앞으로 축구를 포함한 다양한 스포츠 종목에도 적용 가능한 서비스로 발전하여 국내 스포츠 산업이 발전할 수 있는 토대를 마련해주면 좋겠다는 개인적인 바람도 있습니다 😊
감사합니다.</p>
<blockquote>
<p>참고문헌</p>
</blockquote>
<ul>
<li><a href="http://projectwith.io/">Project WITH Website</a></li>
<li><a href="https://www.facebook.com/ProjectWITH">Project WITH facebook</a></li>
<li><a href="https://withapp-prod.s3.ap-northeast-2.amazonaws.com/homePage/whitepaper_KR.pdf">Whitepaper-BIZ-KR</a></li>
<li><a href="https://withapp-prod.s3.ap-northeast-2.amazonaws.com/homePage/whitepaper_Tech_KR.pdf">Whitepaper-Tech-KR</a> </li>
<li><a href="https://coinone.co.kr/talk/forum/detail/123?__cf_chl_jschl_tk__=833cdcfcfa6a44197ec80d22f2ca822e136c1e52-1588752974-0-ATCkV6j14cZ8QTeXjLHdZRHXLP2J26u6dKEmFCyVGauUqJE6zOqo3PRLgDj1tJW_jAxEUYjBGySWgLFrg_G7cwkw4VwCNVHa_ar2tJoE5IU4TwQQ0rDfohaqxe_ztKQNtQQQbHo62UzHvzzfvmmoktq2k096jp0lYR3UjhRgDbnmtYgVGPywer7pYHxbe4haOw2yG9kg3DMmwyAdAM1tMoq0dKUG9ohWzmuTsugZhUmD8BLgGPvxgzp18yyh5NYWcyHo4-DdBZN8MCNESRFwSkP1gA_zkp7itzAjRDVO6_ft">[코인원 인터뷰] - 프로젝트 위드 (Project WITH)</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[NIPA 온라인 교육] 핵심 파이썬 기초(4)]]></title>
            <link>https://velog.io/@minseung_shin/NIPA-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EA%B5%90%EC%9C%A1-%ED%95%B5%EC%8B%AC-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%884</link>
            <guid>https://velog.io/@minseung_shin/NIPA-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EA%B5%90%EC%9C%A1-%ED%95%B5%EC%8B%AC-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%884</guid>
            <pubDate>Tue, 27 Jul 2021 08:10:59 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>&#39;꾸준히 하자&#39;라는 말을 되새기자.</p>
</blockquote>
<p>강의는 열심히 듣고 있는데, 막상 복습을 하면서 벨로그에 작성하는 일은 쉽지만은 않은 것 같다.. 
벌써 첫번째 트랙의 모든 강의를 수강하고 <strong>교육을 이수</strong>하게 되었다 ! 하지만, 4번째, 5번째 강의에 대한 복습한 내용을 작성해야 하기에 다시 공부한다는 마음으로 글을 쓰고자 한다. 
오늘의 강의는 4번째 강의로, <strong><em>&quot;파이썬에서 자료를 담는 여러가지 방식&quot;</em></strong> 이라는 강의이다.</p>
<h1 id="파이썬에서-자료를-담는-여러가지-방식">파이썬에서 자료를 담는 여러가지 방식</h1>
<h2 id="리스트-활용">리스트 활용</h2>
<p>리스트를 활용하는 방식에는 여러가지가 있지만, 그 중 <strong>&quot;인덱싱&quot;, &quot;슬라이싱&quot;</strong>에 대해 학습을 했었다. (<em>한번 더 살펴보자 !</em>) </p>
<p>먼저, <strong>인덱싱</strong>이란, 리스트의 위치를 사용하여 값에 접근하는 방법으로, 시퀀스의 <strong>한 원소를 가져오는 것</strong>을 의미하기도 한다. 예시로 살펴보면 다음과 같다. </p>
<pre><code class="language-python"># num 리스트에 있는 0번째, 1번째 위치에 있는 원소를 가져오기
num = [2, 5, 7, 8, 9, 11]
print(num[0], num[1])

# 2, 5</code></pre>
<p>다음으로, <strong>슬라이싱</strong>이다. &#39;슬라이싱&#39;이란, &#39;자르다, 나누다&#39;라는 것을 의미하며 리스트 슬라이싱은 여러 위치에 있는 값을 한번에 잘라서 사용하는 것을 뜻한다. 다시 말해, 시퀀스의 <strong>일부분을 가져오는 것</strong>이라고 보면 된다. </p>
<pre><code class="language-python"># 0번 위치부터 4번 위치까지 값을 출력 
num = [2, 5, 8, 7, 9, 10, 13, [&#39;Hello&#39;, &#39;Python&#39;, &#39;Good&#39;] # 리스트 안에 중첩해서 리스트를 넣을 수 있다고 한다. 
print(num[0:4])

# [2, 5, 8, 7]

# 리스트 슬라이싱은 중첩된 리스트에서도 슬라이싱하여 값을 사용할 수 있다.
num = [2, 5, 8, 7, 9, 10, 13, [&#39;Hello&#39;, &#39;Python&#39;, &#39;Good&#39;]
print(num[7][0:2])

# [&#39;Hello&#39;, &#39;Python&#39;]</code></pre>
<p>지난 시간에 배웠던 리스트 활용에 대해 잠깐 살펴보았다. 굉장히 단순한 예제로 돌이켜봤지만, 리스트 활용은 무궁무진하다고 생각한다.</p>
<h3 id="1-listappendd">1. list.append(d)</h3>
<p><strong>&#39;Dot Access&#39;</strong>, 리스트라는 자료형에서 어떠한 함수를 사용할 때 &#39;dot access&#39;를 이용한다고 한다.<br><strong>list.append(d)</strong>는 <span style="color:slateblue">자료 d</span>를 리스트 <span style="color:slateblue">마지막 원소 뒤에</span> 추가하는 것이며, 이때 추가할 수 있는 것은 오직 <span style="color:slateblue">한 개의 자료</span>만 넣을 수 있다. </p>
<pre><code class="language-python">a = []
b = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]
a.append(10) # a 리스트에 10을 추가해라
b.append(&#39;d&#39;) # b 리스트에 &#39;d&#39;를 추가해라
print(a, b)

# [10] [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;]</code></pre>
<p>그런데, <em>내가 자료를 추가할 때마다 꼭 맨 뒤에만 넣을까? 맨 처음에 자료를 넣고 싶거나 중간에 자료를 추가하고 싶을 때는 어떻게 해야하지?</em> 
이때 사용할 수 있는 것이 있다. </p>
<blockquote>
<p>바로 <strong>&#39;list.insert(i, d)&#39;</strong>이다.</p>
</blockquote>
<h3 id="2-listinserti-d">2. list.insert(i, d)</h3>
<p><span style="color:slateblue">인덱스 i</span>에 자료 d를 추가하는 것으로, 이때 역시 오직 <span style="color:slateblue">한 개의 자료</span>만 넣을 수 있다. 
이때 필요한 것은 2가지이다. &#39;<span style="color:indianred">어디에?</span>(위치, i)&#39;, 그리고 &#39;<span style="color:indianred">무엇을?</span>(자료, d)&#39;이다. </p>
<pre><code class="language-python">c = [1, 2, 4, 5]
c.insert(2, 3) # i는 삽입할 위치, d는 자료
print(c)

# [1, 2, 3, 4, 5]</code></pre>
<p>c 리스트의 2번째 위치에 3이라는 자료를 넣는 것이기 때문에, 2와 4 사이에 3의 값이 들어가게 된다. </p>
<p>자, <em>리스트를 추가하는 것을 했다면? 반대로 삭제도 가능해야 할 것이다. 그렇다면 리스트 안에 있는 원소를 삭제하고 싶을 땐 어떻게 해야할까...</em></p>
<blockquote>
<p><strong>list.remove(d)</strong>를 사용해보자.</p>
</blockquote>
<h3 id="3-listremoved">3. list.remove(d)</h3>
<p>특정 리스트에서 remove라는 함수를 사용할 때 가장 중요한 것은 <strong>&#39;어떤 자료를 삭제할 것인가?&#39;</strong>이다. 따라서, &#39;d&#39;에 들어갈 것은 <span style="color:slateblue">삭제하고 싶은 자료</span>이다. 
하지만, 여기서 중요한 것이 있다. 삭제하고 싶은 자료가 있는데, 리스트 내에서 중복되는 자료라면 어떻게 될까? 
<strong>list.remove(d)</strong>는 <span style="color:slateblue">처음 나오는 자료</span> d를 제거한다. (<em>예시를 통해 보면 쉽게 이해할 수 있다.</em>)</p>
<pre><code class="language-python">d = [3, 1, 2, 3]
d.remove(3) # d 리스트 안에 있는 3이라는 자료를 삭제 ! 
print(d)

# [1, 2, 3]</code></pre>
<p>예시를 통해서도 볼 수 있듯이, &#39;3&#39;이라는 자료는 0번째와 3번째에 존재하지만, 그 중 먼저 나온 0번째의 자료 &#39;3&#39;이 삭제된 것을 알 수 있다. 이렇게 remove를 통해 자료를 삭제하는 경우에 <strong>중복 시 인덱스가 작은 원소</strong>를 제거하게 된다. </p>
<h3 id="4-listsort">4. list.sort()</h3>
<p>때로는 리스트를 정렬해야 할 경우가 있다. 이때 사용되는 것이 <strong>&#39;list.sort()&#39;</strong>이다. (<em>이 경우에는 괄호 안에 특별한 내용을 넣지 않는다.</em>)
<strong>list.sort()</strong>는 리스트를 <span style="color:slateblue">정렬</span>해주는 역할을 하며, 자료형에 따라 숫자형인 경우에는 <span style="color:slateblue">오름차순</span>, 문자형인 경우에는 <span style="color:slateblue">사전순</span>으로 정렬한다.</p>
<pre><code class="language-python">e = [6, 2, 4, 1]
f = [&#39;carrot&#39;, &#39;apple&#39;, &#39;banana&#39;]
e.sort()
f.sort()
print(e, f)

# [1, 2, 4, 6] [&#39;apple&#39;, &#39;banana&#39;, &#39;carrot&#39;]</code></pre>
<blockquote>
<p>list.sort()를 사용할 때는 주의할 점이 있다. 바로, 해당 리스트가 <strong>같은 자료형</strong>으로 이뤄져야한다는 것이다. (<em>리스트 내부에 다른 자료형이 있으면, 사용할 수 없다.</em>)</p>
</blockquote>
<h3 id="리스트-정렬에-대해-좀-더-알아보자-">리스트 정렬에 대해 좀 더 알아보자 !</h3>
<p>단순히 오름차순 정렬만 있는 것이 아닐테고, list.sort()만으로 리스트를 정렬하지는 않을 것이다. 파이썬 리스트 정렬에 대해 좀 더 알아보았더니 여러 방법이 있었다. (<em>역시 구글링은 좋다.</em>)</p>
<ul>
<li><strong>reverse</strong>: 리스트를 거꾸로 뒤집는다. (<em>내림차순 정렬은 아니다.</em>)<pre><code class="language-python">a = [1, 10, 5, 7, 6]
a.reverse()
print(a)
</code></pre>
</li>
</ul>
<h1 id="6-7-5-10-1">[6, 7, 5, 10, 1]</h1>
<pre><code>* **sort**: 정렬, 기본값은 오름차순 정렬이며, reverse옵션이 True일 경우, 내림차순 정렬을 한다.
```python
a = [1, 10, 5, 7, 6]
a.sort()
print(a)

# [1, 5, 6, 7, 10]

a = [1, 10, 5, 7, 6]
a.sort(reverse=True)
print(a)

# [10, 7, 6, 5, 1]</code></pre><ul>
<li><strong>sort의 key 옵션</strong>: key 옵션에 지정된 함수의 결과에 따라 정렬, 아래의 예시는 원소의 길이를 통해 정렬한 것이다. <pre><code class="language-python">wish = &#39;나는 파이썬을 잘하고 싶다&#39;
wish = wish.split() # wish 리스트를 분할
print(wish)
</code></pre>
</li>
</ul>
<h1 id="나는-파이썬을-잘하고-싶다">[&#39;나는&#39;, &#39;파이썬을&#39;, &#39;잘하고&#39;, &#39;싶다&#39;]</h1>
<p>wish.sort(key=len)
print(wish)</p>
<h1 id="나는-싶다-잘하고-파이썬을">[&#39;나는&#39;, &#39;싶다&#39;, &#39;잘하고&#39;, &#39;파이썬을&#39;]</h1>
<pre><code>역시나 많은 방법이 존재했다... 전부 기억하지는 못하겠지만, 적어도 구조에 대해서는 기억하는 게 좋을 것 같다 ! 

## 시퀀스 자료형
### 시퀀스 자료형이란
기존에 배운 자료형에는 숫자형, 문자열, 리스트, 그리고 논리형이 존재하는데, **시퀀스 자료형**은 &#39;문자열&#39;과 &#39;리스트&#39; 자료형을 의미하며, 이 두 자료형은 공통점이 있는데, 바로 **순서가 존재한다**는 것이다.
다시 말해, **&#39;시퀀스 자료형&#39;**은 &lt;span style=&quot;color:slateblue&quot;&gt;순서&lt;/span&gt;가 있는 자료형으로, &lt;span style=&quot;color:slateblue&quot;&gt;리스트, 문자열&lt;/span&gt; 등이 이에 속한다. 
```python
a = &quot;Once&quot; # 문자열
b = [&#39;T&#39;, &#39;W&#39;, &#39;I&#39;, &#39;C&#39;, &#39;E&#39;] # 리스트
c = (1, 2, 3, 4, 5) # 튜플</code></pre><h3 id="시퀀스의-특징">시퀀스의 특징</h3>
<p>첫번째, <span style="color:slateblue">원소 사이에 순서가 존재</span>하며, 인덱싱/슬라이싱이 가능하다.</p>
<pre><code class="language-python">a = &quot;Once&quot;
b = [&#39;T&#39;, &#39;W&#39;, &#39;I&#39;, &#39;C&#39;, &#39;E&#39;]
print(a[1]) # n
print(b[2:4]) # [&#39;I&#39;, &#39;c&#39;] </code></pre>
<p>인덱싱/슬라이싱을 할 때 <span style="color:slateblue">음수</span>를 넣거나, <span style="color:slateblue">자리를 비우는 것</span>도 가능하다. </p>
<pre><code class="language-python">a = &quot;Once&quot;
b = [&#39;T&#39;, &#39;W&#39;, &#39;I&#39;, &#39;C&#39;, &#39;E&#39;]
print(a[-1]) # e | 뒤에서 1번째 원소
print(b[:3]) # [&#39;T&#39;, &#39;W&#39;, &#39;I&#39;] | 처음 ~ 3번째 슬라이싱</code></pre>
<p>두번째, <span style="color:slateblue">멤버(원소) 조회</span>가 가능하다. <strong>in 연산자</strong>로 시퀀스 안에 원소가 있는지 확인이 가능하다.</p>
<blockquote>
<p>원소 <strong>in</strong> 시퀀스: 있으면 <em>True</em>, 없으면 <em>False</em></p>
</blockquote>
<pre><code class="language-python">a = &quot;Once&quot;
b = [&#39;T&#39;, &#39;W&#39;, &#39;I&#39;, &#39;C&#39;, &#39;E&#39;]
print(&#39;O&#39; in a) # True | 문자열 &#39;O&#39;가 문자열 a에 있니? 
print(&#39;B&#39; in b) # False | 문자열 &#39;B&#39;가 리스트 b에 있니?</code></pre>
<p>세번째, <span style="color:slateblue">길이 확인</span>이 가능하다. <strong>len</strong> 연산자로 시퀀스 안에 원소가 몇 개인지 확인할 수 있다. </p>
<pre><code class="language-python">a = &quot;Once&quot;
b = [&#39;T&#39;, &#39;W&#39;, &#39;I&#39;, &#39;C&#39;, &#39;E&#39;]
print(len(a)) # 4
print(len(b)) # 5</code></pre>
<p>네번째, 리스트끼리 <span style="color:slateblue">연결 연산</span>을 할 수 있다. <strong>+</strong> 연산자로 같은 시퀀스 두개를 이어 붙일 수 있다. </p>
<pre><code class="language-python">c = [&#39;t&#39;, &#39;w&#39;, &#39;i&#39;] + [&#39;c&#39;, &#39;e&#39;]
print(c) # [&#39;t&#39;, &#39;w&#39;, &#39;i&#39;, &#39;c&#39;, &#39;e&#39;]</code></pre>
<p>다섯번째, <span style="color:slateblue">반복 연산</span>도 가능하다. ***** 연산자로 시퀀스를 반복할 수 있다. </p>
<pre><code class="language-python">d = &quot;shy&quot; * 3
print(d) #shyshyshy</code></pre>
<h4 id="예시">예시</h4>
<pre><code class="language-python">my_list = [&quot;Apple&quot;, &quot;Banana&quot;, &quot;Chamwae&quot;, &quot;Durian]
my_str = &quot;Impossible&quot;

var1 = my_list[2]
print(var1) # Chamwae

var2 = my_str[2:]
print(var2) # possible</code></pre>
<pre><code class="language-python">my_list = [&quot;Apple&quot;, &quot;Banana&quot;, &quot;Chamwae&quot;, &quot;Durian]
my_str = &quot;Impossible&quot;

var1 = len(my_str)
print(var1) # 10

var2 = &quot;Egg&quot; in my_list
print(var2) # False</code></pre>
<h2 id="dictionary-딕셔너리">Dictionary (딕셔너리)</h2>
<h3 id="dictionary란">Dictionary란</h3>
<p><strong>Dictionary</strong>는 &#39;사전&#39;을 의미하며, 사전을 통해 어떤 단어의 의미를 알아내곤 한다. 영/한 사전을 예를 들어보자. 우리는 사전을 통해 특정 영어 단어를 검색 혹은 찾아보고, 찾아낸 단어의 의미를 알 수 있다. &quot;Apple&quot;을 검색하면 &quot;사과&quot;라는 의미가 나오듯.  </p>
<p>또 다른 예시를 보면, 우리가 회원가입을 할 때도 이와 유사한 방식을 띈다. 회원가입 창에서 &#39;성&#39;을 입력하는 곳과 &#39;이름&#39;을 입력하는 곳이 있다고 해보자. 내 정보를 입력하게 되면, &#39;성&#39;에는 &#39;신(Shin)&#39; 그리고 &#39;이름&#39;에는 &#39;민승(minseung)&#39;을 입력할 것이다. 이처럼 짝꿍처럼 따라다닌다. </p>
<p>이렇게 단어-의미, &#39;성&#39;-&#39;신(Shin)&#39;등은 서로 짝꿍을 이루는 자료형이라고 생각할 수 있다. 딕셔너리는 이처럼 <strong>짝꿍이 있는 자료형</strong>을 의미한다.</p>
<h3 id="dictionary-표현-방법">Dictionary 표현 방법</h3>
<blockquote>
<p>{} - <span style = "color:slateblue">중괄호</span>로 묶어서 표현한다.</p>
</blockquote>
<pre><code class="language-python">dict_zero = {} # 빈 딕셔너리
person = {&#39;name&#39;:&#39;Minseung&#39;, &#39;age&#39;: 25}</code></pre>
<p>예시에서 보면, 콜론(:)을 중심으로 두 문자 혹은 자료가 존재하는 것처럼 보인다. 이는 딕셔너리의 구조 때문인데, 딕셔너리는 <strong>{key:value}</strong> 형태로 key-value가 한 쌍처럼 이루어져 있다. 
이러한 구조로 인해 우리는 <span style = "color:slateblue">key</span> 값을 알면 <span style = "color:indianred">value</span>를 알 수 있다.</p>
<ul>
<li><p>key
딕셔너리에서 <strong>key</strong>는 열쇠처럼 자료를 <span style = "color:slateblue">꺼낼 수 있는 도구</span>이다. 또한, key는 딕셔너리 구조에서 콜론(:)을 중심으로 왼쪽에 있는 것을 의미한다. </p>
</li>
<li><p>value </p>
</li>
<li><p><em>value*</em>는 딕셔너리에서 key로 <span style = "color:slateblue">꺼낸 자료</span>를 의미한다. key와 반대로 콜론(:)을 중심으로 오른쪽에 있는 자료를 의미한다. </p>
</li>
</ul>
<h4 id="dictionarykey">Dictionary[key]</h4>
<ul>
<li>Dictionary에서 자료를 <strong>꺼내기</strong> <pre><code class="language-python">person = {&#39;name&#39;:&#39;Minseung&#39;, &#39;age&#39;:25&#39;}
print(person[&#39;name&#39;]) # Minseung
print(person[&#39;age&#39;]) # 25
</code></pre>
</li>
</ul>
<h1 id="person---dictionary-age---key">person -&gt; dictionary, &#39;age&#39; -&gt; key</h1>
<pre><code>딕셔너리에서 자료를 꺼내오는 방식은 마치 인덱싱을 통해 자료를 꺼내오는 것과 유사하다. 


* Dictionary에서 자료를 **추가하기**
```python
person = {&#39;name&#39;:&#39;Minseung&#39;, &#39;age&#39;:25&#39;}
person[&#39;hometown&#39;] = &#39;Incheon&#39;

# person -&gt; dictionary, &#39;hometown&#39; -&gt; key, Incheon -&gt; value</code></pre><ul>
<li><strong>del</strong>함수로 Dictionary의 원소 삭제 <pre><code class="language-python">person = {&#39;name&#39;:&#39;Minseung&#39;, &#39;age&#39;:25&#39;}
del person[&#39;age&#39;]
</code></pre>
</li>
</ul>
<p>print(person)</p>
<h1 id="nameminseung">{&#39;name&#39;:&#39;Minseung&#39;}</h1>
<pre><code>
### Dictionary의 특징 
&lt;span style=&quot;color:indianred&quot;&gt;key는 변할 수 없는 자료형&lt;/span&gt;만 가능하다. 다시 말해, 리스트는 안되고 튜플은 가능하다 ! 

```python
data = {[1,2,3]: &#39;Alphabet&#39;} # Error
data = {(1,2,3): &#39;Number&#39;} # OK</code></pre><p>예를들어 우리가 자물쇠를 열 때 열쇠가 필요한데, 그 열쇠가 매번 모양이 바뀌면 같은 자물쇠를 열 수 있을까? <strong>불가능하다.</strong> 
Dictionary에서도 key의 모양이 바뀔 염려가 있는 자료형은 key의 역할을 할 수 없으며, 대표적인 것이 바로 <strong>리스트</strong>이다. (리스트는 값을 추가, 제거 등이 가능하기 때문이다.)</p>
<h4 id="예시-1">예시</h4>
<pre><code class="language-python">my_dict = {&#39;사과&#39;:&#39;apple&#39;, &#39;바나나&#39;:&#39;banana&#39;, &#39;당근&#39;:&#39;carrot&#39;}

# &#39;사과&#39;를 key로 넣어 나온 value를 변수 var1에 넣기 
var1 = my_dict[&#39;사과&#39;]
print(var1) # &#39;apple&#39;

# my_dict에서 당근-carrot을 제거
del my_dict[&#39;당근&#39;]

# my_dict에서 체리-cherry를 추가
my_dict[&#39;체리&#39;] = &#39;cherry&#39; </code></pre>
<pre><code class="language-python">my_dict = {}

my_dict[1] = &#39;Integer&#39;
my_dict[&#39;a&#39;] = &#39;String&#39;
my_dict[(1, 2, 3)] = &#39;Tuple&#39;

print(my_dict) # {1:&#39;Integer&#39;, &#39;a&#39;:&#39;String&#39;, (1, 2, 3):&#39;Tuple&#39;}

# [1, 2, 3]이라는 리스트를 key 값으로 사용해서 대응관계 형성하기 
try:
    my_dict[[1, 2, 3]] = &quot;List&quot;
except TypeError:
    print(&quot;List는 Dictionary의 key가 될 수 없습니다.&quot;)

# 결과: List는 Dictionary의 key가 될 수 없습니다.</code></pre>
<p>_여기까지.. 오늘은 NIPA AI 온라인 교육 - 핵심 파이썬 기초의 4번째 강의에 대해 복습을 해보았다. 강의가 진행되면 될수록 양이 많아지고 있는데, 그만큼 많이 배울 수 있다고 생각한다. _
_앞으로 배울 내용들은 좀 더 심화되고, 복잡한 내용이 많아질텐데 최대한 열심히 수강하고 복습하면서 내 것으로 만들 수 있도록 노력해야겠다. _</p>
<blockquote>
<p>혹시라도 오타나 문제될 부분이 있다면 말씀해주세욤. 꼼꼼히 검토하고 반영하도록 하겠습니다 :) </p>
</blockquote>
<p><strong>다음은 5번째 강의에 대해 알아보도록 하겠다 !! 그럼 이만 !</strong></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[NIPA 온라인 교육] 핵심 파이썬 기초(3)]]></title>
            <link>https://velog.io/@minseung_shin/NIPA-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EA%B5%90%EC%9C%A1-%ED%95%B5%EC%8B%AC-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%883</link>
            <guid>https://velog.io/@minseung_shin/NIPA-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EA%B5%90%EC%9C%A1-%ED%95%B5%EC%8B%AC-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%883</guid>
            <pubDate>Tue, 20 Jul 2021 10:55:25 GMT</pubDate>
            <description><![CDATA[<p>오늘은 &#39;핵심 파이썬 기초 프로그래밍&#39; 수업의 3번째 학습 내용을 기록하고자 한다. 지난 번 수업에서는 if문에 대해서 배웠고, 오늘 학습을 통해서는 <strong>for문</strong>에 대해서 배우게 되었다. <em>그렇다면 오늘 배운 _for문은 어떤 내용들이 있었을까</em>?</p>
<h1 id="반복되는-명령을-줄여주는-반복문">반복되는 명령을 줄여주는 반복문</h1>
<h2 id="for문-반복문의-필요성">for문: 반복문의 필요성</h2>
<p>똑같은 말을 100번 반복하라고 하면 어떨까? 아니, 10,000번 똑같은 말을 반복하라고 하면 할 수 있을까? 가능은 하겠지만, 분명 시간과 노력이 엄청나게 투입되어야 할 것이다. 
코딩에서도 이러한 문제가 발생하곤 한다. 같은 명령을 반복하는 코드가 있다면 어떻게 처리해야 할까? <em>계속해서 Ctrl+C, Ctrl+V를 해야할까..?</em> 
그렇게 멍청한 짓은 또 없을 것이다. 이러한 경우, 즉 같은 명령을 반복하는 코드의 경우에는 <span style = "color:slateblue">묶어서</span> 표현할 수 있다. </p>
<p>반복문에 대해 좀 더 구체적으로 알아보자. <span style = "color:indianred">반복문</span>이란 어떠한 <span style = "color:slateblue">조건</span>이나, <span style = "color:slateblue">범위 내</span>에서 특정 명령을 반복적으로 수행하는 것이다. </p>
<p>예를들어, &#39;코딩 공부를 <strong>밤 11시까지</strong> 하겠어!&#39; 혹은 &#39;오늘은 <strong>4강까지</strong> 학습하겠어!&#39;와 같은 말이라고 보면 된다. &#39;밤 11시까지&#39; 혹은 &#39;4강까지&#39;라는 조건이나 범위를 주고 그 안에서 명령(코딩 공부/학습)을 반복하는 것이다.</p>
<h3 id="파이썬의-반복문---for문">파이썬의 반복문 - for문</h3>
<p>for문은 <span style = "color:slateblue">원소로 반복</span>하는 방법이며, 시퀀스의 원소를 <span style = "color:slateblue">하나씩 변수에 넣어가면서</span> 명령을 실행한다.</p>
<h4 id="for문의-기본-구조">for문의 기본 구조</h4>
<pre><code class="language-python">for 변수 in 시퀀스:
    &lt;수행할 명령&gt;</code></pre>
<p>이러한 형태를 띄고 있다. 기본 구조 내 시퀀스에서 각각의 원소에는 인덱스가 존재하는데, 그 인덱스로 나눠진 원소들을 <strong>변수에 하나씩 넣어가면서 명령을 실행</strong>한다는 의미이다. <em>예시를 통해 한 번 더 살펴보자.</em></p>
<pre><code class="language-python">sum = 0
for i in [1, 2, 3]:
    sum = sum + i</code></pre>
<p>[1,2,3]의 각각의 원소들을 i에 넣어주면서 명령을 실행하는 것이다. <strong>첫번째 원소</strong>를 i에 넣어주면, sum = sum + i = 0 + 1 = 1이라는 값이 나온다. 다음으로, <strong>두번째 원소</strong>를 i에 넣어주면, sum = sum + i이라는 명령을 동일하게 처리하지만, sum의 값이 1로 바뀌었기 때문에 이 부분을 고려해준다. sum = 1 + 2 = 3이라는 값이 나오게 된다. <strong>마지막 원소</strong>를 동일한 방식으로 계산해주면, sum = 6이라는 값이 나온다.</p>
<h4 id="명령이-span-style--colorindianredlen시퀀스span번-만큼-실행된다-">명령이 <span style = "color:indianred">len(시퀀스)</span>번 만큼 실행된다 !</h4>
<p>이 말을 다시하면, 명령이 시퀀스의 <span style = "color:indinared">길이만큼</span> 반복한다는 의미이다.</p>
<pre><code class="language-python">length = 0
for x in &#39;abcdefg&#39;:
    length = length + 1</code></pre>
<p>이 &#39;abcdefg&#39;라는 문자열의 길이는 7이며, 해당 반복문은 7번 실행된다고 말할수 있다. 해당 반복문은 len(&#39;abcdefg&#39;)의 값을 구하는 것과 같은 값을 출력한다. </p>
<h4 id="예시-1">예시 1</h4>
<pre><code class="language-python">nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in nums:
    print(i)</code></pre>
<blockquote>
<p>print()문이 몇 번 실행되었을까? # 10번</p>
</blockquote>
<h4 id="예시-2---쌀과-씰의-개수는">예시 2 - 쌀과 씰의 개수는?</h4>
<pre><code class="language-python">## 변수 mix에 있는 &quot;쌀&quot;의 개수를 세보자!
mix = &quot;쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰&quot;
count_ssal = 0
for i in mix:
    if i==&#39;쌀&#39;:
        count_ssal+=1
print(count_ssal)
# 300</code></pre>
<h3 id="파이썬의-반복문---for-range문">파이썬의 반복문 - for-range문</h3>
<p>그런데 우리가 반복을 할때, 어떠한 문자열이나 리스트 같은 자료를 아는 것이 아닌 단지 횟수만 알고 있을 때가 존재한다. 이러한 경우에 사용할 수 있는 것이 바로 <strong>for-range문</strong>이다. 
이때 사용하게 되는 <strong>range</strong>를 먼저 알아보겠다. <strong>range</strong>는 <span style = "color:slateblue">연속되는 숫자</span>를 만들어주는 <strong>시퀀스 자료형</strong>이다.</p>
<pre><code class="language-python">range(a, b) # a, a+1, a+2, ..., b-1
range(0, 9) # 0, 1, 2, ..., 8
range(5) # range(0, 5) = 0, 1, 2, 3, 4</code></pre>
<p>즉, range(a, b)라고 했을 때 start = a가 되고, end = b가 되는 것이다. 범위로 보았을 때는 <strong>&#39;a &lt;= range(a, b) &lt; b&#39;</strong>이다.</p>
<h4 id="for-range-1">for-range 1</h4>
<p>for-range에서 숫자를 두 개 적어주게 되면, <span style = "color:slateblue">구간으로 반복</span>하는 방법으로 <span style = "color:slateblue">a이상 b미만의 수</span>를 변수에 넣어가면서 명령을 수행하게 된다.</p>
<h4 id="for-range-기본-구조">for-range 기본 구조</h4>
<pre><code class="language-python">for 변수 in range(a,b):
    &lt;수행할 명령&gt;</code></pre>
<h4 id="예제">예제</h4>
<pre><code class="language-python">a = [1]
for i in range(2, 4):
    a.append(i)
print(a)
# [1, 2, 3]이 나온다.</code></pre>
<p>range(2, 4)는 [2,3]이며, a 리스트 뒤에 [2,3]을 합쳐주는 것이다. (<strong>append</strong>는 <strong>&#39;리스트의 값을 맨 마지막에 넣어주는 것&#39;</strong>이다.)</p>
<h4 id="for-range-2">for-range 2</h4>
<p><span style = "color:slateblue">횟수로 반복</span>하는 방법도 존재한다. 이는 특정 횟수 a번만큼 명령을 수행하도록 하는 것이다.</p>
<h4 id="for-range-기본-구조-1">for-range 기본 구조</h4>
<pre><code class="language-python">for 변수 in range(a):
    &lt;수행할 명령&gt;</code></pre>
<h4 id="예제-1">예제</h4>
<pre><code class="language-python">count = 0
for i in range(10):
    count = count + 1
print(count) 
# 10</code></pre>
<p>해당 예제에서는 수행할 명령에서 i가 쓰이지 않았다. 여기서 i의 역할은 &#39;range&#39; 안에 있는 <strong>시퀀스에서 값을 받아오는 용도</strong>이지, 반드시 쓰여야 하는 것은 아니다. </p>
<h4 id="실습---구구단을-외자">실습 - 구구단을 외자!</h4>
<p>이번 실습에서는 19단을 만들어 19단의 계산식을 출력하는 문제를 풀어보았다. </p>
<pre><code class="language-python">for i in range(1, 20):
    print(&quot;19 *&quot;, i, &quot;=&quot;, 19*i)</code></pre>
<blockquote>
<p>19 x 1 = 19
19 x 2 = 38
...
19 x 19 = 361</p>
</blockquote>
<p>해당 코드를 실행하면, 이러한 형태의 답이 나오게 된다. <em>(코드 상에서는 &#39;<em>&#39;을 썼지만, velog 내에서 &#39;</em>&#39; 마크다운 언어로 처리하여 부득이하게 &#39;x&#39; 임의로 썼다. 원래는 &#39;x&#39;가 아닌 &#39;*&#39;이 맞다.)</em></p>
<p><em>오늘은 이렇게 for문에 대한 학습을 해보았다. 4강까지 듣고 난 후에는 그동안 배운 내용들을 바탕으로 예제 문제를 찾아서 풀어볼 예정이다. 지금까지 꾸준히 잘 해오고 있으니 앞으로도 열심히 해봐야겠다!!!</em></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[NIPA 온라인 교육] 핵심 파이썬 기초(2)]]></title>
            <link>https://velog.io/@minseung_shin/NIPA-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EA%B5%90%EC%9C%A1-%ED%95%B5%EC%8B%AC-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%882</link>
            <guid>https://velog.io/@minseung_shin/NIPA-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EA%B5%90%EC%9C%A1-%ED%95%B5%EC%8B%AC-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EA%B8%B0%EC%B4%882</guid>
            <pubDate>Tue, 20 Jul 2021 08:10:36 GMT</pubDate>
            <description><![CDATA[<h1 id="두번째-교육">두번째 교육</h1>
<p>오늘은 두번째 교육을 통해 배운 내용가 스스로 학습한 내용에 대해 적어볼 것이다 ! 포스팅이 연달아 올라가고 있는데, 이미 약간의 교육을 들은 후에 <strong>포스팅</strong>을 해야겠다는 생각에 다소 밀린 경향이 있다. 하지만 앞으로는 그때그때 들은 수업과 학습한 내용에 대해 올릴 예정이다 🤓</p>
<h2 id="논리-자료형과-비교-연산">논리 자료형과 비교 연산</h2>
<h3 id="논리-자료형---진실-혹은-거짓">논리 자료형 - 진실 혹은 거짓</h3>
<p><span style="color:slateblue">참(True)</span> 혹은 <span style="color:slateblue">거짓(False)</span>을 나타내는 자료형을 <span style="color:indianred">논리 자료형(True)</span>이라고 한다. </p>
<h3 id="비교-연산자">비교 연산자</h3>
<p>논리 자료형을 통해 다양한 활용을 할 수 있는데, 그 중 가장 대표적인 것이 <span style="color:slateblue">비교 연산자</span>이다. 
<span style="color:slateblue">비교 연산자</span>란, 숫자나 문자의 값을 비교하는 연산자로 <strong>주어진 진술이 참이면 True, 거짓이면 False</strong>를 나타낸다.</p>
<pre><code class="language-python">print(3 &lt; 5) #True
print(7 == 5) #False
print(2 &gt;= 10) #False
print(5 != 10) #True</code></pre>
<h3 id="비교-연산자의-종류">비교 연산자의 종류</h3>
<blockquote>
<p>같다 (==), 다르다 (!=)
왼쪽이 더 크다 (&gt;), 오른쪽이 더 크다 (&lt;)
왼쪽이 같거나 크다 (&gt;=), 오른쪽이 같거나 크다 (&lt;=)</p>
</blockquote>
<p><span style = "color:red">주의!!</span> &quot;=&quot;의 표시는 <strong>&#39;같다&#39;</strong>를 의미하는 것이 아닌, <strong>&#39;대입하다&#39;</strong>를 의미한다.</p>
<h2 id="논리-연산">논리 연산</h2>
<p>앞서 배운 내용을 토대로 하면 숫자형과 문자형을 다룰 때, 그들에 대한 각각의 연산이 있었다. 그렇다면 논리 자료형의 연산은 없을까? <em><strong>답은 있다!</strong> _
하지만, 기존 연산과는 다르게 논리 자료형에는 True와 False 밖에 없기 때문에 <span style ="color: slateblue">새로운 연산</span>이 필요하다. _그럼 그게 뭔데!</em></p>
<h3 id="and-연산-모두-true니">AND 연산 (모두 True니!)</h3>
<p>각 논리가 <span style = "color:slateblue">모두</span> True일 경우 <strong>진실!!</strong></p>
<pre><code class="language-python">print(3==3 and 4&lt;=5&gt; and 6&gt;2)
# 세 항이 모두 True이므로, True! 
&gt;&gt;&gt; True</code></pre>
<h3 id="or-연산-true가-있니">OR 연산 (True가 있니?)</h3>
<p>논리 가운데 True가 <span style = "color:slateblue">존재</span>하면 True~!</p>
<pre><code class="language-python">print(3==4 or 4&lt;=5 or 6&lt;2)
# 4&lt;=5가 True이므로, True가 존재하기에 True! 
&gt;&gt;&gt; True</code></pre>
<h3 id="not-연산-논리를-뒤집어">NOT 연산 (논리를 뒤집어!)</h3>
<p>NOT 연산은 기존 연산의 논리값을 <span style = "color:slateblue">뒤집는다</span>!</p>
<pre><code class="language-python">print(not 3==4)
# False에 Not을 붙였으므로, True가 된다.</code></pre>
<h2 id="조건에-따라-명령을-수행-조건문">조건에 따라 명령을 수행, 조건문</h2>
<p><em><strong>&#39;만약에 <del>~</del>한다면&#39;</strong></em>, 우리는 살면서 많은 조건을 만나게 되는데 그때마다 어떤 선택을 하는걸까? 예를 들어, 짜장면을 먹을지, 짬뽕을 먹을지 고민되는 상황에서 <span style = "color:indianred">어떤 조건</span>을 설정한다면? 동전을 던져서 앞면이 나오면 짜장면, 뒷면이 나오면 짬뽕과 같이 <span style = "color:indianred">동전의 면</span>이라는 조건에 따라 선택을 할 수 있다. </p>
<h3 id="조건문">조건문</h3>
<p>어떠한 <span style = "color:slateblue">특정 조건</span>에 따라서 <span style = "color:indianred">실행되는 명령이 달라지는</span> 구문이다!</p>
<h3 id="파이썬의-조건문---if문">파이썬의 조건문 - if문</h3>
<p><strong>만약</strong>(if) <strong>i == 1</strong>(조건)이면, <strong>i를 출력</strong>하라(명령)!</p>
<p>이 <strong>if문</strong>은 어떠한 <span style = "color:slateblue">조건</span>이 참(True)일 때, <span style = "color:indianred">명령</span>을 실행하게 된다.</p>
<pre><code class="language-python">if string[0] == &quot;a&quot;:
    count = count + 1
    print(string)
# string이라는 문자의 0번째 글자가 &#39;a&#39;와 같을 때, 명령(count 값에 +1)을 실행해라! 그 후 string을 출력해라.</code></pre>
<p><span style = "color:red">주의 !!</span> <strong>조건</strong>을 입력한 뒤에 반드시 <strong>:(콜론)</strong>을 써주어야 한다. 약속이닷 🤪</p>
<p><em>근데, 만약에 if문을 만족하지 못하면 어떻게 되는데?</em> <strong>else</strong>가 있어!</p>
<h3 id="파이썬의-조건문---if-else문">파이썬의 조건문 - if-else문</h3>
<p>조건이 <span style = "color:slateblue">True</span>이면 <strong>if문</strong>, <span style = "color:indianred">False</span>라면 <strong>else문</strong>을 실행한다. (예시로 살펴보자.)</p>
<pre><code class="language-python">x = input()
if x in [&#39;a&#39;, &#39;e&#39;, &#39;i&#39;, &#39;o&#39;, &#39;u&#39;]:
    print(&quot;모음입니다.&quot;)
else:
    print(&quot;자음입니다.&quot;)

# 만약에 입력한 x값이 리스트 안 원소에 속하면 &quot;모음입니다.&quot;를 출력하고, 그렇지 않으면 &quot;자음입니다.&quot;를 출력한다.</code></pre>
<h4 id="실습---홀짝-홀짝">실습 - 홀짝 홀짝</h4>
<pre><code class="language-python"># input()을 이용해서 숫자(정수)를 입력받고, 변수 num에 이를 넣기
num = int(input())

# if-else문을 이용해서 만약 입력받은 수가 홀수라면 &quot;(입력받은 수) 홀수 입니다.&quot;, 짝수라면 &quot;(입력받은 수) 짝수입니다.&quot;를 출력
if num % 2 == 0:
    print(num, &quot;짝수입니다.&quot;)
else:
    print(num, &quot;홀수입니다.&quot;)

# &#39;%&#39;는 나머지 값을 구해준다.</code></pre>
<h3 id="파이썬-조건문---if-elif">파이썬 조건문 - if-elif</h3>
<p>if문에서 조건을 만족하지 못했을 때, 또 다른 조건에 대해 명령을 수행하게 만들 수 있다. 예를들어, 만약 점수가 90이상이라면 A를 출력해라 <span style = "color:slateblue">아닌 경우</span>에 75이상이라면 B를 출력해라 !</p>
<blockquote>
<p>else if -&gt; elif</p>
</blockquote>
<p>다시말해, 조건 1이 <span style = "color:slateblue">True</span>면 <strong>if문</strong>, 조건 1이 <span style = "color:indianred">False</span>이면서 조건 2가 <span style = "color:slateblue">True</span>면 <strong>elif문</strong>을 실행한다.</p>
<pre><code class="language-python">x = input()
if x % 2 == 0:
    print(&quot;2의 배수입니다.&quot;)
elif x % 3 == 0:
    print(&quot;3의 배수입니다.&quot;) </code></pre>
<p>이 예시를 보면, x의 값을 받아서 2로 나눈 나머지가 0일 경우에는 &quot;2의 배수입니다.&quot;를 출력하고, 3으로 나눈 나머지가 0일 경우에는 &quot;3의 배수입니다.&quot;를 출력한다. </p>
<h3 id="정리---if-elif-else-문">정리 - if-elif-else 문</h3>
<blockquote>
<p>조건 1 <span style = "color:slateblue">True</span>
-&gt; A 실행
조건 1 <span style = "color:indianred">False</span> and 조건 2 <span style = "color:slateblue">True</span>
-&gt; B 실행
조건 1 <span style = "color:indianred">False</span> and 조건 2 <span style = "color:indianred">False</span> and 조건 3 <span style = "color:slateblue">True</span>
-&gt; C 실행
...
모든 조건이 <span style = "color:indianred">False</span>
-&gt; X 실행</p>
</blockquote>
<h4 id="실습---up-and-down-game">실습 - UP and Down Game</h4>
<pre><code class="language-python"># 변수 answer에 수 1~50 중 하나를 설정
answer = 25
# input()을 통해 숫자형으로 입력받아서 변수 submitdp 저장
submit = int(input())
# if-elif-else 문으로 Up-Down Game을 구현
if answer &lt; submit:
    print(&quot;정답보다 더 큰 수를 입력했습니다.&quot;)
elif answer &gt; submit:
    print(&quot;정답보다 더 작은 수를 입력했습니다.&quot;)
else:
    print(&quot;정답!&quot;)
</code></pre>
<p>이 게임은 특정 값(25)을 설정해두고, 입력받은 값과 비교하여 특정 값을 맞추는 게임이다.
설정한 값이 입력받은 값보다 <strong>작을 경우</strong>, <span style = "color:indianred">&quot;정답보다 더 큰 수를 입력했습니다.&quot;</span>가 출력되고, 입력받은 값보다 <strong>클 경우</strong>, <span style = "color:indianred">&quot;정답보다 더 작은 수를 입력했습니다.&quot;</span>를 출력하게 된다. 만약, 설정한 값과 입력받은 값이 <strong>같을 경우</strong>, <span style = "color:indianred">&quot;정답!&quot;</span>을 출력한다. </p>
<p><em>여기까지, 오늘은 if문에 대해 배우는 시간을 가졌다. 예제로 푼 문제나 실습해본 문제는 모두 기초적인 내용이지만, if문은 굉장히 다양한 활용성을 가진 것으로 알고 있다. 나중에 if문을 활용해 문제를 해결해야 할 때가 오면, 로직을 잘 파악해서 해결할 수 있도록 더 심화적인 부분도 공부해보아야 될 것 같다 !</em> </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[NIPA 온라인 교육] 핵심 파이썬 기초(1)]]></title>
            <link>https://velog.io/@minseung_shin/mdk1em5f</link>
            <guid>https://velog.io/@minseung_shin/mdk1em5f</guid>
            <pubDate>Mon, 19 Jul 2021 08:36:29 GMT</pubDate>
            <description><![CDATA[<h1 id="온라인-교육의-첫-발걸음">온라인 교육의 첫 발걸음</h1>
<p>드디어 수업을 처음으로 듣게 되었다. 강의의 구성은 짧은 이론 강의와 함께 1-2개 가량의 실습 강의로 이루어져있다. 길지 않은 핵심 강의 덕분에 집중력을 잃지 않고 재미있게 참여할 수 있었다 😝</p>
<h2 id="프로그래밍의-시작-출력-print">프로그래밍의 시작, 출력: print()</h2>
<blockquote>
<p>print(&quot;Hello World&quot;)</p>
</blockquote>
<p>대학교 1학년 때 배웠던 이후로도 잊을 수가 없는 것 같다 ㅎ.ㅎ 뭔가 새록새록 기억나고, 웃기기도 하다 🥲</p>
<h3 id="print는-있잖아">Print()는 있잖아..</h3>
<p>Python에서는 우리가 원하는 정보나 자료를 컴퓨터가 <span style="color:indianred">출력</span>할 수 있게한다.</p>
<h4 id="출력하기">출력하기</h4>
<pre><code class="language-python">print(&quot;내 목표는 교육을 모두 듣는 것!&quot;)</code></pre>
<p>이와 같은 방법으로 원하는 내용을 출력할 수 있으며, print()를 실행한 결과물은 <strong>&#39;내 목표는 교육을 모두 듣는 것!&#39;</strong> 이렇게 나오게 된다. </p>
<p>_그런데, 내가 매번 하나의 자료로 이루어진 글만 출력할까? 여러 자료를 출력하고 싶을 경우에는 어떻게 해야할까?
_</p>
<pre><code class="language-python">print(10, &quot;Hello&quot;)</code></pre>
<p>&#39;콤마&#39;를 사용해서 여러 자료를 함께 출력할 수 있다. 숫자형 자료와 문자열 자료가 함께 출력되며, <strong>&#39;10 Hello&#39;</strong> 와 같은 값이 나오게 된다. (이 둘 사이에는 띄어쓰기가 들어가게 된다.)  </p>
<h3 id="기본-자료형에는-어떤게-있을까">기본 자료형에는 어떤게 있을까?</h3>
<p>먼저 <span style="color:indianred">자료형</span>이란, 숫자, 문자(열) 등과 같이 컴퓨터로 표현할 수 있는 자료의 종류를 말한다. </p>
<h4 id="1-숫자형-number">1. 숫자형 (Number)</h4>
<p><span style="color:slateblue">숫자</span>로 이루어진 자료형 <span style="color:slateblue">정수</span>나 <span style="color:slateblue">실수</span> 등을 다룰 수 있다. 숫자끼리의 <span style="color:slateblue">연산</span>이 가능하다.</p>
<pre><code class="language-python">3 # 정수(integer)
3.14 # 실수(float)
3+4j # 복소수</code></pre>
<h4 id="2-문자열-string">2. 문자열 (String)</h4>
<p>문자나 문자들을 <span style="color:slateblue">늘어놓은 것 큰 따옴표(&quot;&quot;)</span>와 <span style="color:slateblue">작은 따옴표(&#39;&#39;)</span>로 구분한다.</p>
<pre><code class="language-python">&#39;Hello!&#39;
&#39;3.14&#39; # 작은 따옴표도 가능
&quot;3.14&quot; # 큰 따옴표도 가능</code></pre>
<h4 id="3-리스트-list">3. 리스트 (List)</h4>
<p><span style="color:slateblue">여러 자료</span>를 함께 보관하는 자료형으로, 다른 종류의 자료를 <span style="color:slateblue">함께</span> 담을 수 있다. 또한, 자료 안에는 <span style="color:slateblue">순서</span>가 존재한다. </p>
<pre><code class="language-python">[] # 빈 리스트
[&#39;a&#39;, &#39;b&#39;] 
[&#39;a&#39;, 2] # 다른 자료형을 함께! </code></pre>
<h4 id="4-기타">4. 기타</h4>
<p>이 밖에도 불 (Bool), 사전 (Dictionary), 튜플(Tuple), 집합(Set) 등의 자료형도 존재한다. </p>
<h4 id="cf-주석-comment">cf. 주석 (Comment)</h4>
<p>주석은 컴퓨터가 <span style="color:slateblue">무시</span>한다. 한 줄 주석은 <span style="color:slateblue">#</span>, 여러 줄 주석은 <span style="color:slateblue">&quot;&quot;&quot; multiple lines &quot;&quot;&quot;, &#39;&#39;&#39; multiple lines &#39;&#39;&#39;</span>로 한다. </p>
<h3 id="변수란-무엇일까">변수란 무엇일까?</h3>
<h4 id="변수">변수</h4>
<p>자료를 &#39;그릇&#39;에 담아서 보관, 사용하면 편리하다. 파이썬에서는 이러한 역할을 하는 것을 <span style="color:slateblue">변수</span>라고 한다.</p>
<h4 id="변수-사용방법">변수 사용방법</h4>
<blockquote>
<p><span style="color:slateblue">변수 이름</span> = <span style="color:indianred">자료</span> </p>
</blockquote>
<p>이때 (=)의 의미는 &#39;같다&#39;가 아닌 <strong>&#39;넣어준다, 대입한다&#39;</strong>라는 의미이다. </p>
<pre><code class="language-python">num = 10 # 숫자
name = &quot;Minseung&quot; # 문자열
grade = [&#39;A+&#39;, &#39;B0&#39;, &#39;A0&#39;] # 리스트</code></pre>
<h4 id="변수-이름-짓는-방법">변수 이름 짓는 방법</h4>
<p><span style="color:slateblue">숫자, 알파벳, 한글, 언더바(_)</span> 등을 사용할 수 있다. </p>
<blockquote>
<h4 id="주의">주의</h4>
</blockquote>
<ol>
<li>변수이름이 _<strong>숫자로 시작</strong>_하면 안된다.</li>
<li>_<strong>숫자로만 구성</strong>_된 변수 이름 금지</li>
<li>파이썬 문법에서 사용되는 <em><strong>예약어</strong></em> (이미 사용되는 단어: for, while, if...) 사용 금지</li>
<li><em><strong>공백 문자</strong></em>()와 <em><strong>연산자</strong></em>(+,-,% 등) 사용 금지</li>
</ol>
<p>나의 첫번째 파이썬 수업은 여기까지이다. 아마 혼자서 실습도 다시 해보고, 개념적인 부분에서 더 숙지해야 할 부분이 많은 것 같다. 그 부분은 좀 더 공부하고 찾아보면서 보완해나가야 할 것 같다 😊 아무튼 상당히 재밌다 ! </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[NIPA 온라인 교육] 시작하기]]></title>
            <link>https://velog.io/@minseung_shin/NIPA-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EA%B5%90%EC%9C%A1-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@minseung_shin/NIPA-%EC%98%A8%EB%9D%BC%EC%9D%B8-%EA%B5%90%EC%9C%A1-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0</guid>
            <pubDate>Mon, 19 Jul 2021 08:18:16 GMT</pubDate>
            <description><![CDATA[<p>친구와 함께 참여하게 된 <strong>NIPA 온라인 교</strong>육, 다른 프로젝트에서 PM으로 일을 하고 있지만, 평소 데이터와 코딩에 관심이 있었다. 다만, 항상 늦었다는 생각에 그리고 이미 다 잊어버렸다는 막연한 두려움에 시작하지 못했던 코딩 공부를 이제부터 시작하려고 한다. (파이썬은 대학교 1학년 이후로 만진 기억이 없다..)</p>
<p>본 포스팅을 시작으로 NIPA 온라인 교육을 통해 배운 내용과 스스로 학습한 부분에 대해 기록을 남기고자 한다.</p>
<h2 id="nipa-온라인-교육">NIPA 온라인 교육</h2>
<p><img src="https://images.velog.io/images/minseung_shin/post/b4f869de-2364-4ca7-83f4-2cbb3383395d/image.png" alt="">친구의 추천으로 함께 신청하게 된 <strong>교육 프로그램</strong>이다 🤪 
과학기술정보통신부와 정보통신산업진흥원이 주관하는 정부 사업으로, 인공지능 기술에 관심이 있는 사람에게 기초 지식부터 심화까지 알려준다고 한다! 열심히 들어서 친구와 함께 구상한 프로젝트를 성공적으로 만들어보고 싶다 👏 
<img src="https://images.velog.io/images/minseung_shin/post/7e0fc4da-3021-4830-96c2-9fa82d4cf7ed/image.png" alt="">교육 프로그램의 커리큘럼은 다음과 같다. &#39;AI 실무 기본&#39;과 &#39;AI 실무 응용&#39;, 크게 2개의 트랙으로 구성되어 있고 각 트랙별로 온라인 프로젝트까지 수행해볼 수 있다. 아무래도 열심히해야 할 것만 같다... 😨 (자세한 내용은 하단의 링크를 통해 볼 수 있다.)
<a href="https://2021nipa.elice.io/tracks/1293/info">출처: 2021 AI 온라인 교육과정 알아보기</a></p>
<h2 id="ai-역량진단평가">AI 역량진단평가</h2>
<p>신청을 마친 후, 하루가 지나 메일이 도착했다. AI 역량진단평가를 마치고 수준별로 반이 편성된다고 한다. 나 또한 역량진단평가에 응시했고, 그 결과는 처참했다... 🥸
<img src="https://images.velog.io/images/minseung_shin/post/69e57774-7c5b-4458-8695-99b6c1d92d54/image.png" alt="">사실 문제는 그렇게 어려운 수준이 아닌 것 같다. 분명 정말 기초적인 것이었고, 복잡한 문제조차 없었다 .. ㅎㅎ (그만큼 많이 부족한 것 같다! 열심히 해야겠다는 생각이 든다.)
AI 역량진단평가에 따라 내가 들을 수 있는 2개의 수업이 개설되었다. 👇</p>
<blockquote>
<ol>
<li><span style="color:indianred">[기본교육과정]</span> 핵심 파이썬 기초 프로그래밍</li>
<li><span style="color:indianred">[기본교육과정]</span> 데이터 분석을 위한 라이브러리 </li>
</ol>
</blockquote>
<p>이제부터 내가 들어야하는 강의이고, 앞으로 해당 강의에서 배운 내용과 스스로 학습한 내용을 최대한 자세히 기록할 계획이다. 굉장히 기초적이고 쉬운 내용이더라도 추후 복습을 위해서라도 하나하나 기록하고자 한다 ☺️</p>
<h2 id="목표">목표</h2>
<blockquote>
<p><strong>계획</strong>적으로 공부하고, <strong>반복</strong>해서 학습하며, <strong>꾸준히</strong> 기록하자 !
각 트랙별로 <strong>2개 이상</strong>의 프로젝트를 수행하자 !
2개의 트랙에 속해있는 <strong>모든 강의</strong>를 수료하자 !</p>
</blockquote>
<p><em>열심히 들어보자 !</em> </p>
]]></description>
        </item>
    </channel>
</rss>