<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>_pocachip.log</title>
        <link>https://velog.io/</link>
        <description>I love pocachip.</description>
        <lastBuildDate>Sun, 18 Sep 2022 11:52:54 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>_pocachip.log</title>
            <url>https://velog.velcdn.com/images/_pocachip/profile/69159354-b3f4-451e-a88c-bb7786be0669/image.JPG</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. _pocachip.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/_pocachip" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[스파르타 내배캠 ai 3기] 파이썬 (6)]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-6</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-6</guid>
            <pubDate>Sun, 18 Sep 2022 11:52:54 GMT</pubDate>
            <description><![CDATA[<h1 id="4파이썬-심화">4.파이썬 심화</h1>
<h2 id="가-함수심화">가. 함수심화</h2>
<h3 id="1인자에-기본값-지정해주기">1)인자에 기본값 지정해주기</h3>
<pre><code># 함수를 선언할 때 인자에 기본값을 지정해줄 수 있습니다.
EXPRESSION = {
        0: lambda x, y: x + y ,
        1: lambda x, y: x - y ,
        2: lambda x, y: x * y ,
        3: lambda x, y: x / y
    }

def calc(num1, num2, option=None): # 인자로 option이 들어오지 않는 경우 기본값 할당
    &quot;&quot;&quot;
    option
     - 0: 더하기
     - 1: 빼기
     - 2: 곱하기
     - 3: 나누기
    &quot;&quot;&quot;

    return EXPRESSION[option](num1, num2) if option in EXPRESSION.keys() else False
#위 문장의 뜻은 EXPRESSION이라는 연산자에서 option으로 dictionary 키로가져오는데, 만약에 옵션이 딕셔너리 안에 있는 키들이 리스트로 넘어감. 그러면 EXPRESSION.key()는 {01,2,3} 이 들어가있음. 만약에 option이 {0,1,2,3}에 포함되어있으면 true, 그렇지 않으면 False가 출력됨.
print(calc(10, 20))    # False
print(calc(10, 20, 0)) # 30
print(calc(10, 20, 1)) # -10
print(calc(10, 20, 2)) # 200
print(calc(10, 20, 3)) # 0.5</code></pre><blockquote>
<p>def calc(num1, num2, option)
이 있을때 calc라는 함수에 인자 3개를 안넣으면 에러남. 그런데 option에 기본값을 넣어주면 마지막 인자 안넣어도 에러 안나고 그냥 기본값 출력됨. 
조건문과 비슷하게 해석될 수 있는데 
if 사용자가 option을 입력했다면 : 
option = 입력값
elif 사용자가 option을 입력 안했다면:
option = 기본값
과 같이 해석될 수 있음.</p>
</blockquote>
<h3 id="2-args--kwargs-에-대한-이해">2) args / kwargs 에 대한 이해</h3>
<ul>
<li><p>args(aguments)와 keyword arguments(kwargs)는 함수에서 인자로 받을 값들의 갯수가 불규칙하거나 많을때 사용</p>
</li>
<li><p>인자로 받을 값이 정해져있지 않기 때문에 함수를 더 동적으로 사용</p>
</li>
<li><p>함수를 선언할 때 args는 앞에 <em>를 붙여 명시하고 kwargs는 *</em>를 붙여 명시</p>
</li>
<li><p>입력받아야 할 곳에 값이 없을 때 약간 땜빵쳐주는 느낌</p>
<h4 id="가args-활용">가)args 활용</h4>
<pre><code>def add(*args):

  result = 0
  for i in args:
      result += i

  return result
</code></pre></li>
</ul>
<p>print(add())           # 0
print(add(1, 2, 3))    # 6
print(add(1, 2, 3, 4)) # 10 </p>
<pre><code></code></pre><p>def main(num1, num2, num3, <em>args, *</em>kwargs):
  print(num1)
  print(num2)
  print(num3)
  print(args)
  print(kwargs)</p>
<p>main(
     1, 2, 3, 4, 5, 6, 7, 8, 9
     )
     &gt;&gt;&gt;
     1
     2
     (3,4,5,6,7,8,9) &gt;args는 튜플. 특정인자 지정안하면 다 args인자로 들어감. 
     {} &gt;kwargs는 딕셔너리 key,value가 필요</p>
<pre><code>#### 나)kwargs 활용</code></pre><p>def set_profile(**kwargs):
    &quot;&quot;&quot;
    kwargs = {
        name: &quot;lee&quot;,
        gender: &quot;man&quot;,
        age: 32,
        birthday: &quot;01/01&quot;,
        email: &quot;<a href="mailto:python@sparta.com">python@sparta.com</a>&quot;
    }
    &quot;&quot;&quot;
    profile = {}
    profile[&quot;name&quot;] = kwargs.get(&quot;name&quot;, &quot;-&quot;)
    profile[&quot;gender&quot;] = kwargs.get(&quot;gender&quot;, &quot;-&quot;)
    profile[&quot;birthday&quot;] = kwargs.get(&quot;birthday&quot;, &quot;-&quot;)
    profile[&quot;age&quot;] = kwargs.get(&quot;age&quot;, &quot;-&quot;)
    profile[&quot;phone&quot;] = kwargs.get(&quot;phone&quot;, &quot;-&quot;)
    profile[&quot;email&quot;] = kwargs.get(&quot;email&quot;, &quot;-&quot;)</p>
<pre><code>return profile</code></pre><p>profile = set_profile(
    name=&quot;lee&quot;,
    gender=&quot;man&quot;,
    age=32,
    birthday=&quot;01/01&quot;,
    email=&quot;<a href="mailto:python@sparta.com">python@sparta.com</a>&quot;,
)</p>
<p>print(profile)</p>
<h1 id="result-print">result print</h1>
<p>&quot;&quot;&quot;
{<br>    &#39;name&#39;: &#39;lee&#39;,
    &#39;gender&#39;: &#39;man&#39;,
    &#39;birthday&#39;: &#39;01/01&#39;,
    &#39;age&#39;: 32,
    &#39;phone&#39;: &#39;-&#39;,
    &#39;email&#39;: &#39;python@sparta.com&#39;
}
&quot;&quot;&quot;</p>
<pre><code>#### 다)args / kwargs 같이 사용</code></pre><p>def print_arguments(a, b, <em>args, *</em>kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)</p>
<p>print_arguments(
    1, # a
    2, # b
    3, 4, 5, 6, # args
    hello=&quot;world&quot;, keyword=&quot;argument&quot; # kwargs
)</p>
<h1 id="result-print-1">result print</h1>
<p>&quot;&quot;&quot;
1
2
(3, 4, 5, 6)
{&#39;hello&#39;: &#39;hello&#39;, &#39;world&#39;: &#39;world&#39;}
&quot;&quot;&quot;</p>
<pre><code>
## 나. 패킹과 언패킹
### 1)패킹과 언패킹
- 요소를 묶거나 풀어주는 것
- list 혹은 dictionary의 값을 함수에 입력할 때 주로 사용.
### 2)list에서의 활용</code></pre><p>def add(*args):
    result = 0
    for i in args:
        result += i</p>
<pre><code>return result</code></pre><p>numbers = [1, 2, 3, 4]</p>
<p>print(add(*numbers)) # 10</p>
<pre><code>
### 3)dictionary에서의 활용</code></pre><p>def set_profile(**kwargs):
    profile = {}
    profile[&quot;name&quot;] = kwargs.get(&quot;name&quot;, &quot;-&quot;)
    profile[&quot;gender&quot;] = kwargs.get(&quot;gender&quot;, &quot;-&quot;)
    profile[&quot;birthday&quot;] = kwargs.get(&quot;birthday&quot;, &quot;-&quot;)
    profile[&quot;age&quot;] = kwargs.get(&quot;age&quot;, &quot;-&quot;)
    profile[&quot;phone&quot;] = kwargs.get(&quot;phone&quot;, &quot;-&quot;)
    profile[&quot;email&quot;] = kwargs.get(&quot;email&quot;, &quot;-&quot;)</p>
<pre><code>return profile</code></pre><p>user_profile = {
    &quot;name&quot;: &quot;lee&quot;,
    &quot;gender&quot;: &quot;man&quot;,
    &quot;age&quot;: 32,
    &quot;birthday&quot;: &quot;01/01&quot;,
    &quot;email&quot;: &quot;<a href="mailto:python@sparta.com">python@sparta.com</a>&quot;,
}</p>
<p>print(set_profile(**user_profile))
&quot;&quot;&quot; 아래 코드와 동일
profile = set_profile(
    name=&quot;lee&quot;,
    gender=&quot;man&quot;,
    age=32,
    birthday=&quot;01/01&quot;,
    email=&quot;<a href="mailto:python@sparta.com">python@sparta.com</a>&quot;,
)
&quot;&quot;&quot;</p>
<h1 id="result-print-2">result print</h1>
<p>&quot;&quot;&quot;
{
    &#39;name&#39;: &#39;lee&#39;,
    &#39;gender&#39;: &#39;man&#39;,
    &#39;birthday&#39;: &#39;01/01&#39;,
    &#39;age&#39;: 32,
    &#39;phone&#39;: &#39;-&#39;,
    &#39;email&#39;: &#39;python@sparta.com&#39;
}</p>
<p>&quot;&quot;&quot;</p>
<pre><code>## 다. 객체지향
### 1)객체지향
- 객체를 모델링하는 방향으로 코드 작성
- 다른 언어에서도 사용됨.
### 2)객체지향의 특성
- 캡슐화
특정 데이터의 액세스를 제한해 데이터가 직접적으로 수정되는 것을 방지, 검증된 데이터만 사용
- 추상화
사용되는 객체의 특성 중 , 필요한 부분만 사용하고 필요하지 않은 부분은 제거하는 것
- 상속
상속은 기족에 작성 된 클래스의 내용을 수정하지 않고 그대로 사용하기 위해 사용되는 방식
클래스 선언할 때 상속받을 클래스 지정 가능
- 다형성
하나의 객체가 다른 여러객체로 재구성 되는 것을 의미
오버라이드, 오버로드가 다향성을 나타내는 대표적인 예시
### 3)객체지향의 장/단점
- 장점
클래스의 상속을 활용하기 때문에 코드의 재사용성이 높아짐
데이터를 검증하는 과정이 있기때문에 신뢰도가 높음
모델링하기 수월
보안성 높음
- 단점
난이도 높음
코드의 실행속도가 비교적 느림
객체의 역할과 기능을 정의하고 이해해야하기때문에 개발 속도 느려짐
### 4)객체지향 예제 코드</code></pre><p>import re</p>
<h1 id="숫자-알파벳으로-시작하고-중간에---혹은-_가-포함될-수-있으며-숫자-알파벳으로-끝나야-한다">숫자, 알파벳으로 시작하고 중간에 - 혹은 _가 포함될 수 있으며 숫자, 알파벳으로 끝나야 한다.</h1>
<h1 id="">@</h1>
<h1 id="알파벳-숫자로-시작해야-하며--뒤에-2자의-알파벳이-와야-한다">알파벳, 숫자로 시작해야 하며 . 뒤에 2자의 알파벳이 와야 한다.</h1>
<p>email_regex = re.compile(r&#39;([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(.[A-Z|a-z]{2,})+&#39;)</p>
<p>class Attendance:
    count = 0</p>
<pre><code>def attendance(self):
    self.count += 1

@property
def attendance_count(self):
    return self.count</code></pre><p>class Profile(Attendance):
    def <strong>init</strong>(self, name, age, email):
        self.<strong>name = name # __를 붙여주면 class 내부에서만 사용하겠다는 뜻
        self.</strong>age = age
        self.__email = email</p>
<pre><code>@property # 읽기 전용 속성
def name(self):
    return self.__name

@name.setter # 쓰기 전용 속성
def name(self, name):
    if isinstance(name, str) and len(name) &gt;= 2:
        print(&quot;이름은 2자 이상 문자만 입력 가능합니다.&quot;)

    else:
        self.__name = name

@property
def age(self):
    return self.__age

@age.setter
def age(self, age):
    if isinstance(age, int):
        self.__age = age

    else:
        print(&quot;나이에는 숫자만 입력 가능합니다.&quot;)

@property
def email(self):
    return self.__email

@email.setter
def email(self, email):
    if re.fullmatch(email_regex, email):
        self.__email = email
    else:
        print(&quot;유효하지 않은 이메일입니다.&quot;)

def attendance(self): # override
    super().attendance() # 부모 메소드 사용하기
    self.count += 1

def __str__(self):
    return f&quot;{self.__name} / {self.__age}&quot;

def __repr__(self):
    return f&quot;{self.__name}&quot;</code></pre><p>```</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[스파르타 내배캠 ai 3기] 파이썬 (5)]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-5</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-5</guid>
            <pubDate>Sun, 18 Sep 2022 09:03:54 GMT</pubDate>
            <description><![CDATA[<h1 id="4파이썬-심화">4.파이썬 심화</h1>
<h2 id="가-tryexception을-활용한-에러-처리">가. try/exception을 활용한 에러 처리</h2>
<h3 id="1파이썬에서는-tryexcept-문법을-사용해-에러가-발생하면-처리-가능">1)파이썬에서는 try/except 문법을 사용해 에러가 발생하면 처리 가능</h3>
<ul>
<li>number = &#39;num&#39;</li>
</ul>
<p>try #구문 안에서 에러가 발생할 경우 except로 넘어감
 number = int(number) #&#39;num&#39;을 숫자로 바꾸는 과정에서 에러 발생
 print(number)
 except: #에러가 발생했을 때 처리
  print(f&quot;{number}은(는) 숫자가 아닙니다.&quot;)
 만약 number에 num대신에 숫자가 들어가면 정상 출력. 문자면 정상출력 안됨.</p>
<ul>
<li>그런데 이럴 경우 어디에서 에러가 났는지 확인하기 어려우므로 에러 종류에 따라 다른 로직 처리를 해야함.<pre><code>number = input()
try:
 int(number)
 10 / number
except ValueError: # int로 변환하는 과정에서 에러가 발생했을 떄
 print(f&quot;{number}은(는) 숫자가 아닙니다.&quot;)
except ZeroDivisionError: # 0으로 나누면서 에러가 발생했을 때
 print(&quot;0으로는 나눌수 없습니다.&quot;)
except Exception as e: # 위에서 정의하지 않은 에러가 발생했을 때(권장하지 않음)
 print(f&quot;예상하지 못한 에러가 발생했습니다. error : {e}&quot;
#except 문법 또한 if / elif와 같이 연달아서 작성할 수 있습니다.
&#39;&#39;&#39;
</code></pre></li>
</ul>
<h2 id="나-stacktrace의-이해">나. stacktrace의 이해</h2>
<h3 id="1stacktrace는-파이썬-뿐만아니라-대부분의-개발-언어에서-사용되는-개념">1)stacktrace는 파이썬 뿐만아니라 대부분의 개발 언어에서 사용되는 개념</h3>
<p>에러가 발생했을 때 에러가 발생한 위치를 찾아내기 위해 호출된 함수의 목록을 보여주고 개발자는 stacktrace를 따라가며 에러가 발생한 위치를 추적할 수 있음.</p>
<ul>
<li>import traceback 
try~ 
except:
traceback.print_exc()
하면 출력됨. <h3 id="2예제코드">2)예제코드</h3>
<pre><code>def 집까지_걸어가기():
  print(error) # 선언되지 않은 변수를 호출했기 때문에 에러 발생
</code></pre></li>
</ul>
<p>def 버스_탑승():
    집까지_걸어가기()</p>
<p>def 환승():
    버스_탑승()</p>
<p>def 지하철_탑승():
    환승()</p>
<p>def 퇴근하기():
    지하철_탑승()</p>
<p>퇴근하기()</p>
<p>&quot;&quot;&quot;
Traceback (most recent call last):
  File &quot;sample.py&quot;, line 17, in <module>
    퇴근하기()
  File &quot;sample.py&quot;, line 15, in 퇴근하기
    지하철_탑승()
  File &quot;sample.py&quot;, line 12, in 지하철_탑승
    환승()
  File &quot;sample.py&quot;, line 9, in 환승
    버스_탑승()
  File &quot;sample.py&quot;, line 5, in 버스_탑승
    집까지_걸어가기()
  File &quot;sample.py&quot;, line 2, in 집까지_걸어가기
    print(error)
NameError: name &#39;error&#39; is not defined. Did you mean: &#39;OSError&#39;?
&quot;&quot;&quot;</p>
<pre><code>## 다. 축약식(Comprehension)
### 1)축약식
  - 축약식은 긴코드를 간략히, 남용할 경우 가독성 떨어짐. 
  list, set, tuple, dict 자료형이 축약식 지원.
  기본적인 구조 동일, 어떤 괄호기호를 사용하는지, 어떤 형태로 사용하는지에 따라 저장되는 자료형 달라짐.
  축약식은 모두 동일한 구조를 가지고 있으므로 하나를 익히면 다 쓸 수 있음.
### 2) list, tuple, set 축약식 활용법</code></pre><p>#기본적인 활용
#[list에 담길 값 for 요소 in list]
  numbers = [x for x in range(5)] #[0,1,2,3,4]
#조건문은 축약식 뒷부분에 작성, 축약식이 True이면 list에 담김.
  even_numbers = [x for x in range(10) if x%2==0] #[0,2,4,6,8]
  #아래와 같이 활용 가능
  people = [
   (&quot;lee&quot;, 32),
    (&quot;kim&quot;, 23),
    (&quot;park&quot;, 27),
    (&quot;hong&quot;, 29),
    (&quot;kang&quot;, 26)
  ]</p>
<p>  average_age = sum([x[1] for x in people]) / len(people)
  #list 축약식의 []를 ()혹은{}로 바꿔주면 tuple, set축약식 사용 가능.</p>
<pre><code>  ### 3) dictionary 축약식 활용법</code></pre><h1 id="dictionary-축약식의-구조는-list와-동일하지만-key--value-형태로-지정해야-합니다">dictionary 축약식의 구조는 list와 동일하지만, key / value 형태로 지정해야 합니다.</h1>
<p>people = [
    (&quot;lee&quot;, 32, &quot;man&quot;),
    (&quot;kim&quot;, 23, &quot;man&quot;),
    (&quot;park&quot;, 27, &quot;woman&quot;),
    (&quot;hong&quot;, 29, &quot;man&quot;),
    (&quot;kang&quot;, 26, &quot;woman&quot;)
]</p>
<p>people = {name: {&quot;age&quot;: age, &quot;gender&quot;: gender} for name, age, gender in people}
print(people)</p>
<h1 id="result-print">result print</h1>
<p>&quot;&quot;&quot;
{
    &#39;lee&#39;: {&#39;age&#39;: 32,
             &#39;gender&#39;: &#39;man&#39;},
    &#39;kim&#39;: {&#39;age&#39;: 23,
             &#39;gender&#39;: &#39;man&#39;},
    &#39;park&#39;: {&#39;age&#39;: 27,
             &#39;gender&#39;: &#39;woman&#39;},
    &#39;hong&#39;: {&#39;age&#39;: 29,
             &#39;gender&#39;: &#39;man&#39;},
    &#39;kang&#39;: {&#39;age&#39;: 26,
             &#39;gender&#39;: &#39;woman&#39;}
 }
&quot;&quot;&quot;</p>
<p>```</p>
<blockquote>
<p>dict명 = {key : value for key,value in dict명}
  *이 때 value가 dict가 될 수 도 있음.
  dict = {name : {&quot;age&quot;:age, &quot;gender&quot;:gender} for name, age, gender in people}</p>
</blockquote>
<h2 id="라-lambda--map--filter--sort-활용하기">라. lambda / map / filter / sort 활용하기</h2>
<h3 id="1lambda-함수란">1)lambda 함수란?</h3>
<p>  파이썬에서 lambda함수는 다른말로 익명함수라고 불림
  lambda함수는 주로 map / filter / sort 와 함께사용.</p>
<h3 id="2map-함수-활용">2)map 함수 활용</h3>
<ul>
<li><p>map은 함수와 리스트를 인자로 받아 리스트의 요소들로 함수를 호출함.
string_number=[&quot;1&quot;,&quot;2&quot;,&quot;3&quot;]
integer_number=list(map(int, string_numbers))
print(integer_numbers) # [1,2,3]</p>
</li>
<li><p>map 함수를 사용하지 않는 경우 아래와 같이 구현
string_numbers = [&quot;1&quot;,&quot;2&quot;,&quot;3&quot;]
integer_numbers=[]</p>
<p>for i in string_numbers:
intger_numbers.append(int(i))</p>
<p>print(integer_numbers) #[1,2,3]</p>
<ul>
<li>list 축약식으로도 동일한 기능 구현 가능
string_numbers = [&quot;1&quot;,&quot;2&quot;,&quot;3&quot;]
integer_numbers=[int(x) for x in string_numbers]
print(integer_numbers) #[1,2,3]</li>
</ul>
</li>
<li><p>map 함수와 lambda 함수를 함께 사용하면 더 다채로운 기능 구현
numbers = [1,2,3,4]
double_numbers = list(map(lambda x:x*2, numbers))
print(double_numbers) #[2,4,6,8]</p>
<h3 id="3filter-함수-활용">3)filter 함수 활용</h3>
</li>
<li><p>filter 함수는 map과 유사한 구조를 가지고 있으며, 조건이 참인경우 저장.
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
even_numbers = list(<strong>filter</strong>(lambda x: x%2 == 0, numbers))
print(even_numbers) # [2, 4, 6, 8]</p>
</li>
<li><p>filter 함수 또한 list의 축약식으로 동일한 기능 구현 가능
numbers = [1, 2, 3, 4, 5, 6, 7, 8]</p>
</li>
</ul>
<p>even_numbers = [x for x in numbers if x%2 == 0]
print(even_numbers) # [2, 4, 6, 8]</p>
<h3 id="4sort-함수-활용">4)sort 함수 활용</h3>
<ul>
<li><p>sort 함수는 list를 순서대로 정렬
numbers = [5, 3, 2, 4, 6, 1]
numbers<strong>.sort()</strong>
print(numbers) # [1, 2, 3, 4, 5, 6]</p>
</li>
<li><p>sort와 lambda 함수를 같이 사용하면 복잡한 구조의 list도 정렬
people = [
(&quot;lee&quot;, 32,100),
(&quot;kim&quot;, 23,80),
(&quot;park&quot;, 27,50),
(&quot;hong&quot;, 29,10),
(&quot;kang&quot;, 26,40)
]
#나이순으로 정렬
people.sort(key=lambda x:x[1])
#성적순으로 정렬
people.sort(key=lambda x:x[2])</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[스파르타 내배캠 ai 3기] 파이썬 (4)]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-4</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-4</guid>
            <pubDate>Sat, 17 Sep 2022 07:55:00 GMT</pubDate>
            <description><![CDATA[<h1 id="4-파이썬-심화">4. 파이썬 심화</h1>
<h2 id="가-class에-대한-이해">가. class에 대한 이해</h2>
<h3 id="1class란">1)class란?</h3>
<ul>
<li>class선언은 과자 틀을 만드는 것이고, 선언된 과자틀(class)로 과자(instance)를 만든다고 생각하면 됨.</li>
<li>선언 후 바로 사용되는 함수와는 달리 class는 인스턴스를 생성해서 사용</li>
<li>class 내부에 선언되는 메소드는 기본적으로 self라는 인자가 있음</li>
<li>self는 class 내에서 전역변수와 같이 사용</li>
<li>)용어 정리 </li>
<li>인스탠스 : 클래스를 사용해 생성된 객체</li>
<li>메소드 : 클래스 내에 선언된 함수, 클래스함수라고도 함</li>
<li>self : 메소드를 선언할때 항상 첫번째 인자로 self를 넣어줘야 함.</li>
</ul>
<h3 id="2class의-기본-구조">2)class의 기본 구조</h3>
<p>class CookieFreme() #C.F라는 이름의 class 선언
 def set_cookie_name(self,name):
  self.name = name</p>
<p> cookie1.set_cookie_name(&quot;cookie1&quot;) #메소드 첫번째 인자 self는 무시됨.
 cookie2.set_cookie_name(&quot;cookie2&quot;)</p>
<p> print(cookie.name1) &gt; cookie1
 print(cookie.name2) &gt; cookie2</p>
<h3 id="3init함수">3)<strong>init</strong>함수</h3>
<ul>
<li>class에 <strong>inint</strong> 메소드를 사용할 경우 인스턴스 생성시 해당 메소드가 실행됨.
class CookieFrame():
def__ init __(self, nmae):
print(f&quot;생성된 과자의 이름은 {name} 입니다!&quot;)
self.name = name</li>
</ul>
<p>cookie1 = CookieFrame(&quot;cookie1&quot;) &gt; 생성 된 과자의 이름은 cookie1 입니다!
cookie2 = CookieFrame(&quot;cookie2&quot;) &gt; 생성 된 과자의 이름은 cookie2 입니다!</p>
<h3 id="4class-활용해보기">4)class 활용해보기</h3>
<pre><code>from pprint import pprint

class Profile:
    def __init__(self):
        self.profile = {
            &quot;name&quot;: &quot;-&quot;,
            &quot;gender&quot;: &quot;-&quot;,
            &quot;birthday&quot;: &quot;-&quot;,
            &quot;age&quot;: &quot;-&quot;,
            &quot;phone&quot;: &quot;-&quot;,
            &quot;email&quot;: &quot;-&quot;,
        }

    def set_profile(self, profile):
        self.profile = profile

    def get_profile(self):
        return self.profile

profile1 = Profile()
profile2 = Profile()

profile1.set_profile({
    &quot;name&quot;: &quot;lee&quot;,
    &quot;gender&quot;: &quot;man&quot;,
    &quot;birthday&quot;: &quot;01/01&quot;,
    &quot;age&quot;: 32,
    &quot;phone&quot;: &quot;01012341234&quot;,
    &quot;email&quot;: &quot;python@sparta.com&quot;,
})

profile2.set_profile({
    &quot;name&quot;: &quot;park&quot;,
    &quot;gender&quot;: &quot;woman&quot;,
    &quot;birthday&quot;: &quot;12/31&quot;,
    &quot;age&quot;: 26,
    &quot;phone&quot;: &quot;01043214321&quot;,
    &quot;email&quot;: &quot;flask@sparta.com&quot;,
})

pprint(profile1.get_profile())
pprint(profile2.get_profile())

# result print
&quot;&quot;&quot;
{   
    &#39;name&#39;: &#39;lee&#39;,
    &#39;gender&#39;: &#39;man&#39;,
    &#39;birthday&#39;: &#39;01/01&#39;,
    &#39;age&#39;: 32,
    &#39;phone&#39;: &#39;01012341234&#39;,
    &#39;email&#39;: &#39;python@sparta.com&#39;
}
{
    &#39;name&#39;: &#39;park&#39;,
    &#39;gender&#39;: &#39;woman&#39;,
    &#39;birthday&#39;: &#39;12/31&#39;,
    &#39;age&#39;: 26,
    &#39;phone&#39;: &#39;01043214321&#39;,
    &#39;email&#39;: &#39;flask@sparta.com&#39;
}
&quot;&quot;&quot;</code></pre><h2 id="나-mutable-자료형과-immutalbe-자료형">나. mutable 자료형과 immutalbe 자료형</h2>
<h3 id="1mutable과-immutable-이란">1)mutable과 immutable 이란?</h3>
<ul>
<li>mutable은 값이 변한다는 의미(immuteable은 그 반대)
int, str, list는 각각 다른 속성 가짐.
a = 10
b = a
b +=5</li>
</ul>
<p>print(a) &gt; 10
print(b) &gt; 15
a 담긴 자료형의 속성에 따라 출력 값이 달라짐.</p>
<h3 id="2immutable-속성을-가진-자료형">2)immutable 속성을 가진 자료형</h3>
<ul>
<li>int, float, str, tuple<h3 id="3mutable-속성을-가진-자료형">3)mutable 속성을 가진 자료형</h3>
</li>
<li>list, dict<h3 id="4코드에서-mutable과-immutable의-차이-비교해보기">4)코드에서 mutable과 immutable의 차이 비교해보기</h3>
<pre><code>immutable = &quot;String is immutable!!&quot;
mutable = [&quot;list is mutable!!&quot;]
</code></pre></li>
</ul>
<p>string = immutable
list_ = mutable</p>
<p>string += &quot; immutable string!!&quot;
list_.append(&quot;mutable list!!&quot;)</p>
<p>print(immutable) &gt; String is immutable!!
print(mutable) &gt; [&#39;list is mutable!!&#39;, &#39;mutable list!!&#39;]
print(string) &gt; String is immutable!! immutable string!!
print(list_) &gt; [&#39;list is mutable!!&#39;, &#39;mutable list!!&#39;]</p>
<pre><code>2번째 mutable 이 조금 특이함. 상식적으로는 [&quot;list is mutable!!&quot;]이 나올 것 같지만, [&#39;list is mutable!!&#39;, &#39;mutable list!!&#39;]가 나온다. </code></pre><p>mutable = [&quot;list is mutable!!&quot;]</p>
<p>list_ = mutable
list_.append(&quot;mutable list!!&quot;)</p>
<p>print(mutable) &gt; [&#39;list is mutable!!&#39;, &#39;mutable list!!&#39;]</p>
<p>#str과 비교
a = &#39;123&#39;
b = a</p>
<p>c = [&quot;a&quot;]
d= c</p>
<p>```
str은 a,b가 각각 &#39;123&#39;을 바라보는 것이고 list는 c,d가 같은 [&#39;a&#39;]를 바라본다고 생각하면 됨.  </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[스파르타 내배캠 ai 3기] 파이썬 (3)]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-3</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-3</guid>
            <pubDate>Sat, 17 Sep 2022 06:40:00 GMT</pubDate>
            <description><![CDATA[<h1 id="3파이썬-활용">3.파이썬 활용</h1>
<h2 id="가반복문">가.반복문</h2>
<h3 id="1for문">1)for문</h3>
<h4 id="가list-tuple-set-자료형의-요소들로-반복문-사용">가)list, tuple, set 자료형의 요소들로 반복문 사용</h4>
<pre><code>number = [1,2,3,4]

for number in numbers:
 print(number)
 &gt;&gt;&gt;
 1
 2
 3
 4</code></pre><h4 id="나enumerate를-사용해-반복되는-요소가-몇번째인지-확인">나)enumerate()를 사용해 반복되는 요소가 몇번째인지 확인</h4>
<pre><code>members=[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;]

for i, member in enumerate(members):
print(f&quot;{member}는 {i}번째 회원입니다.&quot;)
&gt;&gt;&gt;
#하면 a은 1번째회원입니다. b는 2번째 회원입니다. 로 나옴.</code></pre><p>for i, 변수명 in enumerate(list명) 하면 변수명이 몇번째인지 출력 가능</p>
<h4 id="다dictionary-자료형의-key-value-반복문-사용-가능">다)dictionary 자료형의 key, value 반복문 사용 가능</h4>
<pre><code>products = {
    &quot;bread&quot;: 1000,
    &quot;milk&quot;: 3000,
    &quot;egg&quot;: 6000,
    &quot;drink&quot;: 1500
}

for k in products: # key만 사용할 때
    print(k)

for v in products.values(): # value만 사용할 때
    print(v)

for k, v in products.items(): # key, value 모두 사용할 때
    print(k, v)

# result print
&quot;&quot;&quot;
bread
milk
egg
drink

1000
3000
6000
1500

bread 1000
milk 3000
egg 6000
drink 1500
&quot;&quot;&quot;</code></pre><p>-key만 사용할때는 그냥 for 변수 in 딕셔너리명:
-value만 사용할때는 for 변수 in 딕셔너리명.values():
-key, value 둘다 사용할때는 for 변수1, 변수2 in 딕셔너리명.items():</p>
<h4 id="라range함수를-활용해서-원하는-만큼의-반복문-사용-가능">라)range()함수를 활용해서 원하는 만큼의 반복문 사용 가능</h4>
<p>for i in range(5)
print(i) &gt; 0,1,2,3,4</p>
<h4 id="마continue를-활용해-특정-상황에서-아무-동작하지-않고-넘기기-가능">마)continue를 활용해 특정 상황에서 아무 동작하지 않고 넘기기 가능</h4>
<pre><code>numbers = [24, 75, 12, 54, 30, 70, 99]

for number in numbers:
    if number &lt;= 50: # number가 50보다 작거나 같은 경우
        continue # 아무런 동작도 하지 않고 다음으로 넘어감

    print(f&quot;{number}는 50보다 큰 숫자입니다!&quot;)


# result print
&quot;&quot;&quot;
75는 50보다 큰 숫자입니다!
54는 50보다 큰 숫자입니다!
70는 50보다 큰 숫자입니다!
99는 50보다 큰 숫자입니다!
&quot;&quot;&quot;</code></pre><h4 id="바break-활용해-특정상황에서-반복문-중지-가능">바)break 활용해 특정상황에서 반복문 중지 가능</h4>
<pre><code>numbers = [1,2,3,4,5,6,7,8]

for number in numbers:
 if number &gt;= 4 : number가 4보다 크거나 같은 경우 
 break #반복문 중지

 print(number)&gt;&gt;&gt;
 1
 2
 3</code></pre><h3 id="2while문">2)while문</h3>
<h4 id="가사용방법은-for문과-크게-다르지-않지만-조건-다루는-방식에-차이가-있음">가)사용방법은 for문과 크게 다르지 않지만, 조건 다루는 방식에 차이가 있음.</h4>
<p>-while문은 조건이 참일 경우 계속해서 실행됨.(무한루프 주의)</p>
<h4 id="나while문은-반복할-횟수가-정해져-있지-않을-때-사용">나)while문은 반복할 횟수가 정해져 있지 않을 때 사용.</h4>
<pre><code>while True:
    user_input = input(&#39;번호를 입력하세요. 종료 : 0&#39;)
    if user_input == &quot;0&quot;:
     break

    print(f&#39;{user_input}번을 입력하셨하셨습니다!&#39;)</code></pre><h2 id="나자주사용되는-모듈-및-패턴">나.자주사용되는 모듈 및 패턴</h2>
<h3 id="1type--값의-자료형-확인">1)type() / 값의 자료형 확인</h3>
<ul>
<li>print(type())하면 안의 값에 따른 타입이 결과로 나옴.<h3 id="2split--string을-list로-변환">2)split() / string을 list로 변환</h3>
</li>
<li>string.split(&quot;구분자&quot;)</li>
<li>string = &quot;hello/python/world!&quot;
strung_list = string.split(&quot;/&quot;)
print(string_list) &gt; [&#39;hello&#39;,&#39;python&#39;,&#39;world!&#39;]</li>
</ul>
<h3 id="3join-list를-string으로-변환">3)join()/ list를 string으로 변환</h3>
<ul>
<li>&#39;사이에 들어갈 문자&#39;.join(리스트)로 구성</li>
<li>string_list = [&quot;hello&quot;, &quot;python&quot;, &quot;world&quot;]
string = &quot;!!&quot;.join(string_list)
print(string) &gt; hello!!python!!world<h3 id="4replace--문자-바꾸기">4)replace() / 문자 바꾸기</h3>
</li>
<li>&#39;변경할 문자&#39;.replpace(&#39;변경 전 문자&#39;,&#39;변경 후 문자&#39;)
before_string = &quot;hello world!!!&quot;
after_string = before_string.replace(&#39;!&#39;,&#39;~&#39;)
print(after_string) &gt; hello world ~ <h3 id="5pprint--코드-예쁘게-출력">5)pprint() / 코드 예쁘게 출력</h3>
</li>
<li>from pprint import pprint<h3 id="6random--랜덤한-로직이-필요할-때">6)random / 랜덤한 로직이 필요할 때</h3>
</li>
<li>난수 생성, 임의의 번호 생성 등 랜덤한 동작 필요시 사용</li>
<li>import random</li>
<li>numbers = [1,2,3,4,5,6,7,8]
random.shuffle(numbers) #number를 무작위로 섞기
print(numbers) # [랜덤으로 나옴]</li>
<li>random_number = random.randint(1, 10) #1 ~ 10 무작위 번호 생성
print(random_number) &gt; 1~10사이 아무숫자나 나옴.</li>
</ul>
<h3 id="7time--시간-다루기">7)time / 시간 다루기</h3>
<ul>
<li>함수의 실행시간을 측정하는 등 시간 다룰 때 사용</li>
<li>import time
strat_time = time.time() #현재 시간 저장
time.sleep(1) #1초간 대기 
end_time = time.time()
+)작동시간 구하기는 종료시간 - 시작시간 (단위 : 초)
print(f&quot;코드실행시간:{end_time-start_time:.5f}&quot;) &gt; 1.00100
++)여기서 .5f는 소수점 5째 자릴 숫자까지 출력</li>
</ul>
<h3 id="8detetime-날짜-다루기">8)detetime/ 날짜 다루기</h3>
<ul>
<li><p>from datetime import datetime, timedelta
#현재 날짜 및 시간 출력
print(datetime.now()) #2022-09-17 15:09:20/29932
#datetime의 format code, 더 자세한 것</p>
</li>
<li><p>%y : 두 자리 연도 / 20, 21, 22</p>
</li>
<li><p>%Y : 네 자리 연도 / 2020, 2021, 2022</p>
</li>
<li><p>%m : 두 자리 월 / 01, 02 ... 11 ,12</p>
</li>
<li><p>%d : 두 자리 일 / 01, 02 ...  30, 31</p>
</li>
<li><p>%I : 12시간제 시간 / 01, 02 ... 12</p>
</li>
<li><p>%H : 24시간제의 시간 / 00, 01 ... 23</p>
</li>
<li><p>%M : 두 자리 분 / 00, 01 ... 58, 59</p>
</li>
<li><p>%S : 두 자리 초 / 00, 01 ... 58, 59</p>
</li>
<li><p>string을 datetime 날짜로 변경하기
string_datetime = &quot;22/12/25 13:20&quot;
datetime_ = datetime.strptime(string_datetime, &quot;%y/%m/%d %H:%M&quot; )
print(datetime_) &gt; 22/09/17 15:14</p>
<ul>
<li>datetime 날짜를 string으로 변환하기 
now = datetime.now()
string_datetime = datetime.strftime(now, &quot;%y/%m/%d %H:%M:%S&quot;)
print(string_datetime) &gt; 22/09/04 04:04</li>
</ul>
</li>
<li><p>3일전 날짜 구하기
three_days_ago = datetime.now() - timedelta(days=3)
print(three_days_ago) &gt; 2022-09-01 04:07:48.526502</p>
</li>
</ul>
<h2 id="다지금까지-배운-문법들을-활용해-로또번호-뽑는-코드-작성">다.지금까지 배운 문법들을 활용해 로또번호 뽑는 코드 작성</h2>
<pre><code>import random

count =int(input())
lotto = set()  # lotto 변수를 set 자료형으로 선언


def get_lotto_number(count):
    result = []
    if count &lt; 1:
        print(&quot;1 이상의 값을 입력해주세요&quot;)

    for _ in range(count):  # count만큼 반복해서 실행
        lotto = set()

        while len(lotto) &lt; 8:  # lotto의 요소 갯수가 8 이하일 경우 계속해서 반복
            lotto.add(random.randint(1, 45))  # lotto에 1~45 사이의 랜덤 값을 입력

        result.append(lotto)

    return result


lotto_numbers = get_lotto_number(count)
print(lotto_numbers)</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[[스파르타 내배캠 ai 3기] 파이썬 (2)]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-2</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-2</guid>
            <pubDate>Fri, 16 Sep 2022 08:37:44 GMT</pubDate>
            <description><![CDATA[<h1 id="3-파이썬-활용">3. 파이썬 활용</h1>
<h2 id="가자료형-활용하기">가.자료형 활용하기</h2>
<h3 id="1사칙연산">1)사칙연산</h3>
<ul>
<li><p>// : 나머지 없는 나누기(/는 소수점나오는데, //는 소수점 버림)</p>
</li>
<li><p>% : 나머지</p>
</li>
<li><p>변수에 값 할당하면 연산 축약문법 사용 가능
num += 1 / num -= 1 / num *= 1</p>
<h3 id="2string">2)string</h3>
<ul>
<li>문자열에서 &#39;+&#39;와 &#39;*&#39;기호 지원</li>
<li>fstring으로 문자열, 변수 함께 다루기 가능
-print(f&quot;a는 {}이다.&quot;)<h3 id="3list">3)list</h3>
</li>
</ul>
</li>
<li><p>인덱스와 슬라이싱 기능 이용하여 특정값 가져오기 가능
-인덱스: a_list[0]
-슬라이싱: a_list[start:end:간격]</p>
<pre><code>    a)[a:] : a부터
    b)[:b] : b까지
    c)[::c] : c만큼</code></pre></li>
<li><p>list 자료형에서는 값을 원하는대로 추가, 수정, 삭제 가능
*numbers={1,2,3,4,5}
-numbers.append(6)  &gt; 6이라는 것을 numbers 마지막 자리에 넣음.
-numbers.remove(1) &gt; 1이라는  것을 삭제 
-numbers.[-1]=7 &gt; 마지막 요소의 값을 7로 변경
-numbers.pop() &gt; list에서 마지막 요소 삭제 후 변수에 할당</p>
<ul>
<li>자료형의 요소는 숫자나 문자 외에도 다양하게 사용 가능</li>
<li>len()함수 사용해 list의 길이 구할 수 있음
print(len(numbers)) <h3 id="4tuple">4)tuple</h3>
</li>
</ul>
</li>
<li><p>인덱싱 기능 활용 가능</p>
</li>
<li><p>요소의 값을 수정, 삭제할 수 없고 추가만 가능
numbers += (6,7)</p>
</li>
<li><p>다양한 자료형 사용 가능</p>
</li>
<li><p>len()을 이용해 길이 구하기 가능
print(len(numbers))</p>
<h3 id="5set">5)set</h3>
</li>
<li><p>자료형 중복값 포함 안하고, 인덱싱과 슬라이싱 안됨.</p>
</li>
<li><p>len()을 이용해 길이 구하기 가능</p>
<h3 id="6dictionary">6)dictionary</h3>
</li>
<li><p>key: value로 구성, key를 이용해 value를 가져올 수 있음.
p = {&quot;a&quot; : 1, &quot;b&quot; : 2, &quot;c&quot; : 3}
print(p[&quot;a&quot;])  &gt;  1
*존재하지 않는 key로 value 호출시 에러 발생
 이경우 .get을 활용해서 key 없을 때 값을 지정 가능.
 print(p.get(&quot;d&quot;, 20)) &gt; 20으로 출력</p>
</li>
<li><p>딕셔너리에서는 자유롭게 값을 추가, 수정, 삭제 가능.
-변경 : p[&quot;a&quot;]=4
-추가 : p[&quot;e&quot;]=5
-삭제 : del(p[&quot;a&quot;])</p>
<h2 id="나자료형-변환파이썬에서-자유롭게-가능">나.자료형 변환(파이썬에서 자유롭게 가능)</h2>
<p>1)string &gt; int
 -int(&quot;10&quot;) &gt; str10에서 int 10으로 바뀜.
2)list &gt; tuple &gt; set
 -tuple(list1) &gt; list가 tuple로 바뀜. 
 -set(tuple) &gt; tuple이 set으로 바뀜.
3)any &gt; string
 -어떤 것이라도 str()해주면 다 str로 바뀜.
+)이 외에도 다양한 자료형 변환 가능</p>
<h2 id="다함수">다.함수</h2>
<p>1)def 함수명 ():
2)결과 리턴
def m(a,b):
 return a*b</p>
<p> num1 = 5
 num2 = 10</p>
<p> result = m(num1,num2)
 print(result) &gt; 50</p>
</li>
</ul>
<h2 id="라다른-파일에-있는-코드-import해서-사용하기">라.다른 파일에 있는 코드 import해서 사용하기</h2>
<h3 id="1예제에서-사용된-파일-구조">1)예제에서 사용된 파일 구조</h3>
<p>│  a.py
│  main.py
├─ folder
│  ├─ b.py
│  ├─ c.py</p>
<h3 id="2import파일명-사용">2)import&quot;파일명&quot; 사용</h3>
<p>  -서로다른 파일 a.py/main.py
  #a.py
  def a_func():
   print(&quot;excute a&quot;)
  #main.py
  import a
  a.a_func()
  <em>하면 a파일을 불러와서 print(&quot;excute a&quot;)사용.</em>
 <em>** =&gt; import &quot;파일명&quot; &gt; &quot;파일명&quot;+&quot;.&quot;+&quot;함수명&quot;**</em></p>
<h3 id="3from-사용">3)from 사용</h3>
<p>#a.py
 <em>* def a_func():
   print(&quot;excute a&quot;)**
  case 1
  #main.py 
  <strong>from a import a_func()
  a_func()</strong>_ &lt; 2)과 다르게 앞에 a.이 사라짐.
  <em><strong>=&gt;from &quot;파일명&quot; import &quot;함수명&quot; &gt; &quot;함수명&quot;</strong></em>
  case 2
 #main.py
  <strong>from a import *</strong> &lt; &#39;</em>&#39;은 모든 함수를 import
  <strong>a_func()</strong>
  _<strong>=&gt;form &quot;파일명&quot; import &quot;*&quot; &gt; &quot;함수명&quot;</strong></p>
<h3 id="4다른폴더-파일-import">4)다른폴더 파일 import</h3>
<p>  #folder / b.py
  def b_func():
     print(&quot;excute b&quot;)</p>
<p>  #folder / c.py
  def c_func1():
     print(&quot;excute c1&quot;)
  def c_func2():
     print(&quot;excute c2&quot;)</p>
<p>  #main.py
  from folder import b
  form folder.c import *</p>
<p> b.b_func()  &gt;&gt; excute b
 c_func1()   &gt;&gt; excute c1
 c_func2()   &gt;&gt; excute c2</p>
<p> <strong>=&gt; from &quot;폴더명&quot; import &quot;파일명&quot; &gt; &quot;파일명&quot;+&quot;.&quot;+&quot;함수명&quot;
 =&gt; form &quot;폴더명.파일명&quot; import &quot;함수명&quot; &gt; &quot;함수명&quot;</strong></p>
<p> ***결론: import에 함수명이 들어오면 바로 함수써주면 작동 </p>
<h3 id="5변수-import">5)변수 import</h3>
<p>#folder/b.py
PIE = 3.14
HELLO = &quot;world&quot;
#main.py / case 1
from folder.b import * &lt; 권장X / 존재하는 모든 변수 import
print(PIE) &gt; 3.14
print(HELLO) &gt; &quot;world&quot;
#main.py / case 2
from folder.b import PIE, HELLO &lt; 사용 할 변수를 각각 import
print(PIE) &gt; 3.14
print(HELLO) &gt; &quot;world&quot;
#main.py / case 3
from folder import b &lt; 권장O / b 파일 import
print(b.PIE) &gt; 3.14
print(b.HELLO) &gt; &quot;world&quot;</p>
<h2 id="마값-비교하기">마.값 비교하기</h2>
<ul>
<li>비교연산자 사용해 값비교하고, True, False 판단. 비교 결과는 조건문에서 사용됨
1)일치 : == / &quot;a&quot;==&quot;b&quot; &lt; false
2)불일치 : !=
3)대,소 비교 : &gt;,&lt;
4)대,소 비교(같은 것 포함) : &gt;=,&lt;=
5)특정 값 포함 여부 : in / 4 in [1,2,3] &lt; false</li>
<li>)모든 비교연산자의 결과는 print()로 확인 가능</li>
</ul>
<h2 id="바조건문">바.조건문</h2>
<p>  1)특정 비교결과 혹은 값이 True or False일 경우 실행될 로직 정의
  2)and, or사용하여 2개이상 조건을 복합적으로 사용
  3)비어있는 string, list등은 분기문에서 False로 판단
  empty_string = &quot;&quot;
  empty_list = []
  if not empty_string:
     print(&quot;string is empty!!&quot;) &gt; 출력(비어 있으니까)
  if not empty_list:
     print(&quot;list is empty!!&quot;) &gt; 출력(비어 있으니까)
 if empty_string:
     print(&quot;string is empty!!&quot;) &gt; 출력안함 (false)
 if empty_string:
     print(&quot;string is empty!!&quot;) &gt; 출력안함 (false)</p>
<p>  4)특정 값이 True or False인지는 bool()함수 사용해 확인
print(bool(&quot;&quot;)) &gt;&gt;False : 빈 str
print(bool(0))  &gt;&gt;False : 숫자 o
print(bool([])) &gt;&gt;False : 빈 list</p>
<p>print(bool(&quot;sample&quot;)) &gt;&gt;True
print(bool([1, 2])) &gt;&gt;True
print(bool(1)) &gt;&gt;True
print(bool(-1)) &gt;&gt;True : 0이 아닌 숫자는 True로 판단</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[스파르타 내배캠 ai 3기] 파이썬 (1)]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80-%EB%82%B4%EB%B0%B0%EC%BA%A0-ai-3%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-1</guid>
            <pubDate>Fri, 16 Sep 2022 05:56:06 GMT</pubDate>
            <description><![CDATA[<h1 id="1-파이썬-언어의-이해">1. 파이썬 언어의 이해</h1>
<h2 id="가-파이썬-언어의-특징">가. 파이썬 언어의 특징</h2>
<h3 id="1컴파일-언어인-cjava와-다르게-인터프리터-언어그렇지만-컴파일러의-특성도-있음">1)컴파일 언어인 C,Java와 다르게 인터프리터 언어(그렇지만 컴파일러의 특성도 있음)</h3>
<h3 id="2동적-타입-언어변수할당시-자료형-지정-불필요">2)동적 타입 언어(변수할당시 자료형 지정 불필요)</h3>
<h3 id="3문법-쉽고-간결-가독성-좋음">3)문법 쉽고 간결, 가독성 좋음.</h3>
<h2 id="나-코드-컨벤션">나. 코드 컨벤션</h2>
<h3 id="1일종의-규칙을-약속-한-것">1)일종의 규칙을 약속 한 것</h3>
<h3 id="2네이밍-컨벤션변수-함수--snake--class--pascal">2)네이밍 컨벤션(변수, 함수 &gt; snake / Class &gt; pascal)</h3>
<p> -Pascal : PythonIsVeryGood(첫문자 대문자)
 -Camel : pythonIsVeryGood(첫문자 소문자)
 -Snake : python_is_very_good</p>
<h3 id="3클래스-함수-변수-네이밍은-이름으로-코드-추측가능해야함">3)클래스, 함수, 변수 네이밍은 이름으로 코드 추측가능해야함.</h3>
<h3 id="상수pie314는-모두-대문자">+)상수(PIE=3.14)는 모두 대문자</h3>
<h1 id="2파이썬-기초">2.파이썬 기초</h1>
<h2 id="가변수-선언하기">가.변수 선언하기</h2>
<h3 id="1선언할-변수-명--변수에-넣고-싶은-값decriptiona">1)선언할 변수 명 = 변수에 넣고 싶은 값(decription=&quot;a&quot;)</h3>
<h3 id="2두-개-이상도-한번에-가능abc--123">2)두 개 이상도 한번에 가능(a,b,c = 1,2,3)</h3>
<h3 id="3변수의-첫번째에는-문자-사용-불가">3)변수의 첫번째에는 문자 사용 불가</h3>
<h3 id="4llo등은-변수에-사용하지-않는-것-권장구분-잘안됨">4)l,l,o등은 변수에 사용하지 않는 것 권장(구분 잘안됨.)</h3>
<h3 id="5listtypeclass같이-파이썬에-이미-선언되어있는-단어를-변수-명으로-선언하고-싶을때는-중복을-피하기-위해-변수명-뒤에-_를-추가-선언">5)list,type,class같이 파이썬에 이미 선언되어있는 단어를 변수 명으로 선언하고 싶을때는 중복을 피하기 위해 변수명 뒤에 &#39;_&#39;를 추가 선언</h3>
<h2 id="나자료형의-종류와-특징">나.자료형의 종류와 특징</h2>
<h3 id="1integer--정수---num10">1)integer : 정수  / num=10</h3>
<h3 id="2float--실수--num103">2)float : 실수 / num=10.3</h3>
<h3 id="3string--문자열--hello">3)string : 문자열 / hello</h3>
<h3 id="4list--리스트--numbers1234">4)list : 리스트 / numbers=[1,2,3,4]</h3>
<h3 id="5tuple--튜플--numbers1234--선언-후-요소-변경-및-삭제-불가">5)tuple : 튜플 / numbers=(1,2,3,4) / 선언 후 요소 변경 및 삭제 불가</h3>
<h3 id="6set--셋--numbers--1234--중복된-데이터-담을-수-없음">6)set : 셋 / numbers = {1,2,3,4} / 중복된 데이터 담을 수 없음</h3>
<h3 id="7dict--딕셔너리--memberskey1value2key2value2">7)dict : 딕셔너리 / members={&quot;key1&quot;:&quot;value2&quot;,&quot;key2&quot;,&quot;value2&quot;}</h3>
<h3 id="key--intfloatstr--valueintfloatstrdictlist">key &gt; int,float,str / value&gt;int,float,str,dict,list</h3>
<h3 id="8boolean--불린--flagtrue--true-또는-flase-주로-if문-이나-합-불합-같은상태-명시">8)boolean : 불린 / flag=True / True 또는 Flase /주로 if문 이나 합, 불합 같은상태 명시</h3>
<h2 id="다변수의-유효-범위에-대한-이해">다.변수의 유효 범위에 대한 이해</h2>
<h3 id="1변수-유효-범위지역전역-지역에-global붙이면-전역으로-바뀜">1)변수 유효 범위(지역/전역, 지역에 global붙이면 전역으로 바뀜)</h3>
<h3 id="2지역변수">2)지역변수</h3>
<h3 id="3전역변수">3)전역변수</h3>
<h3 id="4전역변수-사용시-주의할-점">4)전역변수 사용시 주의할 점</h3>
<p>-함수내에서 지역변수 입력해주면 지역변수로 선언됨
-전역변수 사용과 지역변수 할당 같이하면 에러 발생</p>
<pre><code>
number = 10
def func():
print(number)
number=5

func()</code></pre><p>-함수내에서 전역변수 값을 바꾸려면 global 사용</p>
<pre><code>number = 10
def func():
 global number
  number = 5 

  func()

  print(number)</code></pre><h3 id="5전역변수-권장하지-않는-이유오류-찾기-힘듬">5)전역변수 권장하지 않는 이유(오류 찾기 힘듬.)</h3>
]]></description>
        </item>
        <item>
            <title><![CDATA[스파르타_내일배움단AI트랙_3기]미니프로젝트(A-6) <팀소개웹페이지 제작하기(1)>
]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-%ED%8C%80%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B01</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-%ED%8C%80%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B01</guid>
            <pubDate>Tue, 30 Aug 2022 15:59:42 GMT</pubDate>
            <description><![CDATA[<p>팀소개 페이지 만들기
-필요한 것 공부 (부트스트랩, 자바스크립트 이용 버튼 만들기, 동작형 버튼 동작시키기, api 받아서 출력하기 등)</p>
<pre><code class="language-&lt;!DOCTYPE">&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;utf-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;&gt;

    &lt;link href=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css&quot; rel=&quot;stylesheet&quot;
          integrity=&quot;sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC&quot; crossorigin=&quot;anonymous&quot;&gt;
    &lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js&quot;
            integrity=&quot;sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM&quot;
            crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;
    &lt;title&gt;아우디팀_팀소개_정진엽&lt;/title&gt;
    &lt;link href=&quot;https://fonts.googleapis.com/css2?family=Jua&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;
    &lt;style&gt;
        * {
            font-family: &#39;Jua&#39;, sans-serif;
        }

        .item1 {
            #background-color: #73F1E8;
            border-radius: 20px;

            flex-grow: 2;

            letter-spacing: 1px;
            line-height: 40px;

            font-style: normal;
            font-weight: bold;

            box-shadow: 10px 10px 10px 1px #d8d8d8;
            margin-right: 50px;

            padding-left: 30px;

            width: 600px;


        }

        .item2 {

            text-align: center;

            background-image: url(&quot;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSBJTJ57QsNc7E-7XK9eoQYPDb0DATZD_3KRw&amp;usqp=CAU&quot;);
            background-size: cover;
            background-position: center;
            border-radius: 20px;

            flex-grow: 1;

            width: 260px;

            box-shadow: 10px 10px 10px 1px #d8d8d8;

        }

        .container1 {
            display: flex;
            flex-flow: row wrap;


            #border: 1px solid black;

            height: 500px;

        }

        .container2 {
            display: flex;
            flex-flow: row wrap;

            #border: 1px solid black;

            height: 400px;
            #justify-content: space-around;

        }

        .footer {
            grid-area: footer;
            font-size: small;
            font-weight: 100;
            text-align: center;
            margin-top: 15px;
            color: #c6c6c6;
        }

        .card-img-top {

            height: 350px;

        }

        .btn-outline-dark {
            margin-left: 260px;
        }

        .btn-outline-secondary {
            margin-left: 1600px
        }
    &lt;/style&gt;
    &lt;script&gt;
        function plus() {
            let temp_html = ` &lt;div class=&quot;col&quot;&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;img src=&quot;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRFVM0f5Lnx8tlxe9HuRR0N70QxGHjMcgOg6A&amp;usqp=CAU&quot;
                 class=&quot;card-img-top&quot; alt=&quot;...&quot;&gt;
            &lt;div class=&quot;card-body&quot;&gt;
                &lt;h5 class=&quot;card-title&quot;&gt;이름&lt;/h5&gt;
                &lt;p class=&quot;card-text&quot;&gt;내용블라블라&lt;/p&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-outline-dark&quot;&gt;수정&lt;/button&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-dark&quot;&gt;삭제&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt; `
            $(&#39;#cards-box&#39;).append(temp_html)
        }

        function del() {
            $(&#39;#co1&#39;).empty()
        }

    &lt;/script&gt;

&lt;body link=&quot;#ff0000&quot; alink=&quot;#00ff00&quot; vlink=&quot;#0000ff&quot;&gt;

&lt;div class=&quot;container1&quot;&gt;
    &lt;div class=&quot;item1&quot;&gt;
        &lt;h1&gt;팀 소개 페이지&lt;/h1&gt;
        팀 소개 블라블라&lt;br&gt;
        1.우리팀만의 특징과 추구하는 궁극적인 목표&lt;br&gt;
        2.우리팀의 약속&lt;br&gt;
        3.연비가 좋다&lt;br&gt;&lt;br&gt;&lt;br&gt;

        팀장 : 이태은&lt;br&gt;
        팀원 : 이현재, 조지현, 정진엽
    &lt;/div&gt;
    &lt;div class=&quot;item2&quot;&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div id=&quot;cards-box&quot; class=&quot;row row-cols-1 row-cols-md-4 g-4&quot;&gt;
    &lt;div class=&quot;col&quot; id=&quot;co1&quot;&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;img src=&quot;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRFVM0f5Lnx8tlxe9HuRR0N70QxGHjMcgOg6A&amp;usqp=CAU&quot;
                 class=&quot;card-img-top&quot; alt=&quot;...&quot;&gt;
            &lt;div class=&quot;card-body&quot;&gt;
                &lt;h5 class=&quot;card-title&quot;&gt;이름1&lt;/h5&gt;
                &lt;p class=&quot;card-text&quot;&gt;내용블라블라&lt;/p&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-outline-dark&quot;&gt;수정&lt;/button&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-dark&quot; onclick=&quot;del()&quot;&gt;삭제&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;col&quot;&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;img src=&quot;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRFVM0f5Lnx8tlxe9HuRR0N70QxGHjMcgOg6A&amp;usqp=CAU&quot;
                 class=&quot;card-img-top&quot; alt=&quot;...&quot;&gt;
            &lt;div class=&quot;card-body&quot;&gt;
                &lt;h5 class=&quot;card-title&quot;&gt;이름2&lt;/h5&gt;
                &lt;p class=&quot;card-text&quot;&gt;내용블라블라&lt;/p&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-outline-dark&quot;&gt;수정&lt;/button&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-dark&quot; onclick=&quot;delete()&quot;&gt;삭제&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;col&quot;&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;img src=&quot;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRFVM0f5Lnx8tlxe9HuRR0N70QxGHjMcgOg6A&amp;usqp=CAU&quot;
                 class=&quot;card-img-top&quot; alt=&quot;...&quot;&gt;
            &lt;div class=&quot;card-body&quot;&gt;
                &lt;h5 class=&quot;card-title&quot;&gt;이름3&lt;/h5&gt;
                &lt;p class=&quot;card-text&quot;&gt;내용블라블라&lt;/p&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-outline-dark&quot;&gt;수정&lt;/button&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-dark&quot; onclick=&quot;del()&quot;&gt;삭제&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;col&quot;&gt;
        &lt;div class=&quot;card&quot;&gt;
            &lt;img src=&quot;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRFVM0f5Lnx8tlxe9HuRR0N70QxGHjMcgOg6A&amp;usqp=CAU&quot;
                 class=&quot;card-img-top&quot; alt=&quot;...&quot;&gt;
            &lt;div class=&quot;card-body&quot;&gt;
                &lt;h5 class=&quot;card-title&quot;&gt;이름4&lt;/h5&gt;
                &lt;p class=&quot;card-text&quot;&gt;내용블라블라&lt;/p&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-outline-dark&quot;&gt;수정&lt;/button&gt;
                &lt;button type=&quot;button&quot; class=&quot;btn btn-dark&quot; onclick=&quot;del()&quot;&gt;삭제&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;&lt;br&gt;
&lt;button type=&quot;button&quot; class=&quot;btn btn-outline-secondary&quot; onclick=&quot;plus()&quot;&gt;팀원 추가하기&lt;/button&gt;
&lt;br&gt;&lt;br&gt;

&lt;div class=&quot;footer&quot;&gt;copyright 2022. team_auid All rights Reserved.&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[스파르타_내일배움단AI트랙_3기]미니프로젝트(A-6) <자기소개웹페이지 제작하기(3)>]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-%EC%9E%90%EA%B8%B0%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B03</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-%EC%9E%90%EA%B8%B0%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B03</guid>
            <pubDate>Mon, 29 Aug 2022 15:46:15 GMT</pubDate>
            <description><![CDATA[<p>자기소개 페이지 만들기(3)
-필요한 것 공부(이미지에 그림자 넣기, 글꼴 변경 등)</p>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;title&gt;아우디팀_자기소개_정진엽&lt;/title&gt;
    &lt;link href=&quot;https://fonts.googleapis.com/css2?family=Jua&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;
    &lt;style&gt;
        *{
           font-family: &#39;Jua&#39;, sans-serif;
        }
        .item1{
            background-color: #73F1E8;
            border-radius: 20px;

            flex-grow:2;

            letter-spacing: 1px;
            line-height: 40px;

            font-style: normal;
            font-weight : bold;

            box-shadow: 10px 10px 10px 1px #d8d8d8;
            margin-right: 50px;

            padding-left : 30px;

            width : 600px;


        }

        .item2{

            text-align: center;

            background-image :url(&quot;https://postfiles.pstatic.net/MjAyMjA4MjdfMjQ3/MDAxNjYxNTY3MjY2Mzkw.5K6mObyWzUGc2-9arMdmUUxuia-lRp63GGjDcpvlLjIg.KNESPUj1XRPpsCWF0q0X5z1PWk6L8NMmHNyclm2iXm0g.JPEG.yeobdol/IMG_3566.JPG?type=w580&quot;);
            background-size : cover;
            background-position: center;
            border-radius: 20px;

            flex-grow:1;

            width: 260px;

            box-shadow: 10px 10px 10px 1px #d8d8d8;

        }
        .item3{
            #background-color: aqua;
            background-size : cover;
            background-position: center;
            border-radius: 20px;

            flex : 1 1 0;

            text-align :center;

            font-weight : bold;

            #box-shadow: 0px 0px 10px 0px #d8d8d8;

        }
        .item4{
            #background-color: aqua;
            background-size : cover;
            background-position: center;
            border-radius: 20px;

            flex : 1 1 0;

            text-align :center;

             font-weight : bold;

            #box-shadow: 0px 0px 10px 0px #d8d8d8;
        }
        .item5{
           #background-color: aqua;
            background-size : cover;
            background-position: center;
            border-radius: 20px;

            flex : 1 1 0;

            text-align :center;

             font-weight : bold;

            #box-shadow: 0px 0px 10px 0px #d8d8d8;
        }
        .item6{
            #background-color: aqua;
            background-size : cover;
            background-position: center;
            border-radius: 20px;

            flex : 1 1 0;

            text-align :center;

             font-weight : bold;

            #box-shadow: 0px 0px 10px 0px #d8d8d8;
        }


        .container1{
            display:flex;
            flex-flow: row wrap;


            #border: 1px solid black;

            height: 500px;

        }
        .container2{
            display:flex;
            flex-flow: row wrap;

            #border: 1px solid black;

            height: 300px;
            #justify-content: space-around;

        }
        .add{
            padding-left:6.1em
        }

        .main{
            #border: 2px solid black;
            background-color: grey;
            border-radius:20px;

            width: 1350px;
            font-size : 25px;
            font-weight: bold;

            box-shadow: 10px 10px 10px 10px #d8d8d8;
        }
        .footer {
            grid-area: footer;
            font-size: small;
            font-weight: 100;
            text-align: center;
            margin-top: 15px;
            color: #c6c6c6;
        }
        .img{
            filter:drop-shadow(10px 6px 6px #c3c3c3);

            width:200px;
            height:250px;
            border-radius : 20px;
        }
        .st{
            text-align: center;
        }

    &lt;/style&gt;
&lt;/head&gt;
&lt;body link=&quot;#ff0000&quot; alink=&quot;#00ff00&quot; vlink=&quot;#0000ff&quot;&gt;
    &lt;h5&gt;자기소개_정진엽&lt;/h5&gt;
    &lt;div class=&quot;container1&quot;&gt;
        &lt;div class=&quot;item1&quot;&gt;
        &lt;h1 class=&quot;st&quot;&gt;&amp;#128680;T.M.I ZONE&amp;#128680;&lt;/h1&gt;
        &amp;#128512;MBTI : ENTJ-T&lt;br&gt;
        &amp;#128513;장점 : 포기를 잘 안한다. 상황판단이 빠르다. 처세에 능하다.&lt;br&gt;
        &amp;#129309;협업 스타일 : 상황에 맞게 내가 이끌어야 한다면 이끌고, 그렇지 않다면 따른다.&lt;br&gt;
        &amp;#127984;궁극적 목표 : 건강하게 개발을 오래할 수 있는 개발자가 되는 것.&lt;br&gt;
            &amp;#128421;블로그 주소 : &lt;A href=&quot;https://pocachips.tistory.com/&quot; target=&quot;_blank&quot;&gt;티스토리 - https://pocachips.tistory.com/&lt;/A&gt;&lt;br&gt;
                &lt;div class=&quot;add&quot;&gt; &amp;emsp; &lt;A href=&quot;https://velog.io/@_pocachip&quot; target=&quot;_blank&quot;&gt;VELOG - https://velog.io/@_pocachip&lt;/A&gt;&lt;br&gt;
                 &amp;emsp;&lt;A href=&quot;https://blog.naver.com/yeobdol&quot; target=&quot;_blank&quot;&gt;네이버 블로그 - https://blog.naver.com/yeobdol&lt;/A&gt;&lt;br&gt;&lt;/div&gt;
        &amp;#129335;취미 : 여행, 축구, 웨이트, 전시감상, 커피, 글쓰기, 보드(스노우, 웨이크, 크루즈),&lt;br&gt;
            &amp;emsp;&amp;emsp; &amp;emsp;&amp;emsp;등산, 달리기, 주짓수, 복싱, 태권도, 피아노, 트럼펫, 사진, 음악 감상, 음주(위스키),&lt;br&gt;
            &amp;emsp;&amp;emsp; &amp;emsp;&amp;emsp;싸이클, 수영, 수집(신발, 축구유니폼, 옷), 공연관람
            &lt;/div&gt;
         &lt;div class=&quot;item2&quot;&gt;
        &lt;/div&gt;
        &lt;/div&gt;
    &lt;br&gt;
    &lt;div class=&quot;container2&quot;&gt;
        &lt;div class=&quot;item3&quot;&gt;
            &lt;img class=&quot;img&quot; src=&quot;https://postfiles.pstatic.net/MjAyMjA4MjhfMjk2/MDAxNjYxNjQ2MjY0NDg3.ubPr51kLcI0hbUsW5Jne-TZYKDMm-UJ8GUub2N_B26gg.JgXiVFnGeg5c9se2qHsp11pUZH9xDpi0Cp8GbA7ebhEg.JPEG.yeobdol/IMG_0175.jpg?type=w580&quot;&gt;&lt;br&gt;
                &amp;#9992;여행을 좋아하구요
        &lt;/div&gt;
        &lt;div class=&quot;item4&quot;&gt;
            &lt;img class=&quot;img&quot; src=&quot;https://postfiles.pstatic.net/MjAyMjA4MjhfNzIg/MDAxNjYxNjQ2MjY0Njkx.Lw4eS8osES_e4OOvorOhftcNabAB-28h1TEjIH-bijQg.Gs1f9xxFpep9Yj4abiJ1fLwNPcyGAJF2EAnetl1GFxsg.PNG.yeobdol/IMG_5192.png?type=w580&quot;&gt;&lt;br&gt;
            &amp;#128187;&lt;A href=&quot;https://www.instagram.com/_pocachip/&quot; target=&quot;_blank&quot;&gt;SNS&lt;/A&gt;도 열심히 합니다!
        &lt;/div&gt;
        &lt;div class=&quot;item5&quot;&gt;
            &lt;img class=&quot;img&quot; src=&quot;https://postfiles.pstatic.net/MjAyMjA4MjhfNjQg/MDAxNjYxNjQ2MjY0NjI2.OSIA4jkjweGFPkml1gRIjk4rUsNo6xT78TF5jmmqK7gg.k0081GZealC93LAmE9hG2hwNzuAJOhmE58Z1Nw25Dh8g.JPEG.yeobdol/IMG_5191.jpg?type=w580&quot;&gt;&lt;br&gt;
            &amp;#128095;수집하는 것을 즐기구요
        &lt;/div&gt;
        &lt;div class=&quot;item6&quot;&gt;
            &lt;img class=&quot;img&quot; src=&quot;https://postfiles.pstatic.net/MjAyMjA4MjhfMTc4/MDAxNjYxNjQ2MjY0NTA0.gNvnPXU_gcVrZNcvoF3tAYhNx0TfenAihkYRyL6OPr0g.6NIAt8TzGfncpJmUJQBFsy8JVkIsZZKu-BTV3mwwqrcg.JPEG.yeobdol/IMG_1229.jpg?type=w580&quot;&gt;&lt;br&gt;
            &amp;#9968;최근에는 등산에 빠졌어요!
        &lt;/div&gt;
            &lt;/div&gt;

    &lt;p&gt;
    &lt;div class=&quot;main&quot;&gt;
        &amp;#128266;저를 한마디로 소개하자면 딱히 잘하는 것은 없지만 못하는 것도 없는 사람입니다.&lt;br&gt;
        &amp;#128266;한 분야에 깊게 빠지기 보다는 여러가지 다 해보고 죽자는 마인드로 열심히 사는 사람입니다.&lt;br&gt;
        &amp;#128266;개발공부를 이제 막 시작했는데 늦었다고 생각 안합니다.&lt;br&gt;
        &amp;#128266;정신과 육체가 건강하고 발전을 멈추지 않는 개발자가 되는 것이 저의 꿈입니다!
    &lt;/div&gt;
    &lt;div class=&quot;footer&quot;&gt;copyright 2022. JEONG JINYEOB All rights Reserved. &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[스파르타_내일배움단AI트랙_3기]미니프로젝트(A-6) <자기소개웹페이지 제작하기(2)>]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-%EC%9E%90%EA%B8%B0%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B02</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-%EC%9E%90%EA%B8%B0%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B02</guid>
            <pubDate>Sun, 28 Aug 2022 15:26:00 GMT</pubDate>
            <description><![CDATA[<p>자기소개 페이지 만들기(2)
-필요한 것 공부(css와 그리드, 폰트 관련, 이미지 다듬기, 이모티콘 등)</p>
<p>```<!DOCTYPE html></p>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>아우디팀_자기소개_정진엽</title>
    <style>
        .item1{
            background-color: #73F1E8;
            border-radius: 20px;

<pre><code>        flex-grow:2;

        letter-spacing: 1px;
        line-height: 40px;

        font-style: normal;
        font-weight : bold;

        box-shadow: 0px 0px 20px 0px #d8d8d8;

    }

    .item2{

        text-align: center;

        background-image :url(&quot;https://postfiles.pstatic.net/MjAyMjA4MjdfMjQ3/MDAxNjYxNTY3MjY2Mzkw.5K6mObyWzUGc2-9arMdmUUxuia-lRp63GGjDcpvlLjIg.KNESPUj1XRPpsCWF0q0X5z1PWk6L8NMmHNyclm2iXm0g.JPEG.yeobdol/IMG_3566.JPG?type=w580&quot;);
        background-size : cover;
        background-position: center;
        border-radius: 20px;

        flex-grow:1;

        width: 260px

    }
    .item3{
        #background-color: aqua;
        background-size : cover;
        background-position: center;
        border-radius: 20px;

        flex : 1 1 0;

        text-align :center;

        font-weight : bold;

        box-shadow: 0px 0px 10px 0px #d8d8d8;

    }
    .item4{
        #background-color: aqua;
        background-size : cover;
        background-position: center;
        border-radius: 20px;

        flex : 1 1 0;

        text-align :center;

         font-weight : bold;

        box-shadow: 0px 0px 10px 0px #d8d8d8;
    }
    .item5{
       #background-color: aqua;
        background-size : cover;
        background-position: center;
        border-radius: 20px;

        flex : 1 1 0;

        text-align :center;

         font-weight : bold;

        box-shadow: 0px 0px 10px 0px #d8d8d8;
    }
    .item6{
        #background-color: aqua;
        background-size : cover;
        background-position: center;
        border-radius: 20px;

        flex : 1 1 0;

        text-align :center;

         font-weight : bold;

        box-shadow: 0px 0px 10px 0px #d8d8d8;
    }


    .container1{
        display:flex;
        flex-flow: row wrap;


        #border: 1px solid black;

        height: 500px;

    }
    .container2{
        display:flex;
        flex-flow: row wrap;

        #border: 1px solid black;

        height: 300px;
        #justify-content: space-around;

    }
    .add{
        padding-left:6.1em
    }

    .main{
        border: 2px solid black;
        background-color: grey;
        border-radius:20px;

        width: 1500px;
        font-size : 25px;
        font-weight: bold;
    }
    .footer {
        grid-area: footer;
        font-size: small;
        font-weight: 100;
        text-align: center;
        margin-top: 15px;
        color: #c6c6c6;
    }
&lt;/style&gt;</code></pre></head>
<body link="#ff0000" alink="#00ff00" vlink="#0000ff">
    <h5>자기소개_정진엽</h5>
    <div class="container1">
        <div class="item1">
        <h1>&#128680;T.M.I ZONE&#128680;</h1>
        &#128512;MBTI : ENTJ-T<br>
        &#128513;장점 : 포기를 잘 안한다. 상황판단이 빠르다. 처세에 능하다.<br>
        &#129309;협업 스타일 : 상황에 맞게 내가 이끌어야 한다면 이끌고, 그렇지 않다면 따른다.<br>
        &#127984;궁극적 목표 : 건강하게 개발을 오래할 수 있는 개발자가 되는 것.<br>
            &#128421;블로그 주소 : <A href="https://pocachips.tistory.com/" target="_blank">티스토리 - https://pocachips.tistory.com/</A><br>
                <div class="add"> &emsp; <A href="https://velog.io/@_pocachip" target="_blank">VELOG - https://velog.io/@_pocachip</A><br>
                 &emsp;<A href="https://blog.naver.com/yeobdol" target="_blank">네이버 블로그 - https://blog.naver.com/yeobdol</A><br></div>
        &#129335;취미 : 여행, 축구, 웨이트, 전시감상, 커피, 글쓰기, 보드(스노우, 웨이크, 크루즈),<br>
            &emsp;&emsp; &emsp;&emsp;등산, 달리기, 주짓수, 복싱, 태권도, 피아노, 트럼펫, 사진, 음악 감상, 음주(위스키),<br>
            &emsp;&emsp; &emsp;&emsp;싸이클, 수영, 수집(신발, 축구유니폼, 옷), 공연관람
            </div>
         <div class="item2">
        </div>
        </div>
    <br>
    <div class="container2">
        <div class="item3">
            <img src="https://postfiles.pstatic.net/MjAyMjA4MjhfMjk2/MDAxNjYxNjQ2MjY0NDg3.ubPr51kLcI0hbUsW5Jne-TZYKDMm-UJ8GUub2N_B26gg.JgXiVFnGeg5c9se2qHsp11pUZH9xDpi0Cp8GbA7ebhEg.JPEG.yeobdol/IMG_0175.jpg?type=w580" width="200px" height="250px" style="border-radius: 20px"><br>
                &#9992;여행을 좋아하구요
        </div>
        <div class="item4">
            <img src="https://postfiles.pstatic.net/MjAyMjA4MjhfNzIg/MDAxNjYxNjQ2MjY0Njkx.Lw4eS8osES_e4OOvorOhftcNabAB-28h1TEjIH-bijQg.Gs1f9xxFpep9Yj4abiJ1fLwNPcyGAJF2EAnetl1GFxsg.PNG.yeobdol/IMG_5192.png?type=w580" width="200px" height="250px" style="border-radius: 20px"><br>
            &#128187;<A href="https://www.instagram.com/_pocachip/" target="_blank">SNS</A>도 열심히 합니다!
        </div>
        <div class="item5">
            <img src="https://postfiles.pstatic.net/MjAyMjA4MjhfNjQg/MDAxNjYxNjQ2MjY0NjI2.OSIA4jkjweGFPkml1gRIjk4rUsNo6xT78TF5jmmqK7gg.k0081GZealC93LAmE9hG2hwNzuAJOhmE58Z1Nw25Dh8g.JPEG.yeobdol/IMG_5191.jpg?type=w580" width="200px" height="250px" style="border-radius: 20px"><br>
            &#128095;수집하는 것을 즐기구요
        </div>
        <div class="item6">
            <img src="https://postfiles.pstatic.net/MjAyMjA4MjhfMTc4/MDAxNjYxNjQ2MjY0NTA0.gNvnPXU_gcVrZNcvoF3tAYhNx0TfenAihkYRyL6OPr0g.6NIAt8TzGfncpJmUJQBFsy8JVkIsZZKu-BTV3mwwqrcg.JPEG.yeobdol/IMG_1229.jpg?type=w580" width="200px" height="250px" style="border-radius: 20px"><br>
            &#9968;최근에는 등산에 빠졌어요!
        </div>
            </div>

<pre><code>&lt;p&gt;
&lt;div class=&quot;main&quot;&gt;
    &amp;#128266;저를 한마디로 소개하자면 딱히 잘하는 것은 없지만 못하는 것도 없는 사람입니다.&lt;br&gt;
    &amp;#128266;한 분야에 깊게 빠지기 보다는 여러가지 다 해보고 죽자는 마인드로 열심히 사는 사람입니다.&lt;br&gt;
    &amp;#128266;개발공부를 이제 막 시작했는데 늦었다고 생각 안합니다.&lt;br&gt;
    &amp;#128266;정신과 육체가 건강하고 발전을 멈추지 않는 개발자가 되는 것이 저의 꿈입니다!
&lt;/div&gt;
&lt;div class=&quot;footer&quot;&gt;copyright 2022. JEONG JINYEOB All rights Reserved. &lt;/div&gt;</code></pre></body>
</html>]]></description>
        </item>
        <item>
            <title><![CDATA[스파르타_내일배움단AI트랙_3기]미니프로젝트(A-6) <자기소개웹페이지 제작하기(1)>]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-%EC%9E%90%EA%B8%B0%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B01</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-%EC%9E%90%EA%B8%B0%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%A0%9C%EC%9E%91%ED%95%98%EA%B8%B01</guid>
            <pubDate>Sat, 27 Aug 2022 12:07:03 GMT</pubDate>
            <description><![CDATA[<p>자기소개 페이지 만들기 (1)
-프레임 만들기
-필요한 것 공부(flex 구글링, 스파르타웹개발 종합반 강의)</p>
<p>*code</p>
<p>``` <!DOCTYPE html></p>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>아우디팀_자기소개_정진엽</title>
    <style>
        .item1{
            background-color: mediumaquamarine;

<pre><code>        flex-grow:2;

    }

    .item2{

        text-align: center;

        background-image :url(&quot;https://postfiles.pstatic.net/MjAyMjA4MjdfMjQ3/MDAxNjYxNTY3MjY2Mzkw.5K6mObyWzUGc2-9arMdmUUxuia-lRp63GGjDcpvlLjIg.KNESPUj1XRPpsCWF0q0X5z1PWk6L8NMmHNyclm2iXm0g.JPEG.yeobdol/IMG_3566.JPG?type=w580&quot;);
        background-size : cover;
        background-position: center;
        border-radius: 20px;

        flex-grow:1;

    }
    .item3{
        background-color: aqua;
        background-size : cover;
        background-position: center;
        border-radius: 20px;

    }
    .item4{
        background-color: aqua;
        background-size : cover;
        background-position: center;
        border-radius: 20px;

    }
    .item5{
        background-color: aqua;
        background-size : cover;
        background-position: center;
        border-radius: 20px;

    }
    .item6{
        background-color: aqua;
        background-size : cover;
        background-position: center;
        border-radius: 20px;

        image
    }


    .container1{
        display:flex;
        flex-flow: row wrap;


        border: 1px solid black;

        height: 500px;

    }
    .container2{
        display:flex;
        flex-flow: row wrap;

        border: 1px solid black;

        height: 300px;
        justify-content: space-around;

    }
    .add{
        padding-left:6.1em
    }

    .main{
        border: 2px solid black
    }
&lt;/style&gt;</code></pre></head>
<body>
    <h1>자기소개_정진엽</h1>
    <div class="container1">
        <div class="item1">
        <h1>T.M.I zone</h1>
        MBTI : ENTJ-T<br>
        장점 : 포기를 잘 안한다. 상황판단이 빠르다. 처세에 능하다.<br>
        협업스타일 : 상황에 맞게 내가 이끌어야 한다면 이끌고, 그렇지 않다면 따른다.<br>
        궁극적목표 : 건강하게 개발을 오래할 수 있는 개발자가 되는 것.<br>
        블로그주소 : 티스토리 - https://pocachips.tistory.com/<br>
                <div class="add">VELOG - https://velog.io/@_pocachip<br>
                네이버 블로그 - https://blog.naver.com/yeobdol<br></div>
        취미 : 여행, 축구, 웨이트, 전시감상, 커피, 글쓰기, 보드(스노우, 웨이크, 크루즈),<br>
             &emsp;&emsp;&emsp;등산, 달리기, 주짓수, 복싱, 태권도, 피아노, 트럼펫, 사진, 음악 감상, 음주(위스키),<br>
             &emsp;&emsp;&emsp;싸이클, 수영, 수집(신발, 축구유니폼, 옷), 춤(?)
            </div>
         <div class="item2">
            <h1>사진 들어갈 곳</h1>
        </div>
        </div>
    <br>
    <div class="container2">
        <div class="item3">
            <img src="https://postfiles.pstatic.net/MjAyMjA4MjdfMjQ3/MDAxNjYxNTY3MjY2Mzkw.5K6mObyWzUGc2-9arMdmUUxuia-lRp63GGjDcpvlLjIg.KNESPUj1XRPpsCWF0q0X5z1PWk6L8NMmHNyclm2iXm0g.JPEG.yeobdol/IMG_3566.JPG?type=w580" width="50px" height="50px"><br>
            여행을 좋아하구요
        </div>
        <div class="item4">
            <img src="https://postfiles.pstatic.net/MjAyMjA4MjdfMjQ3/MDAxNjYxNTY3MjY2Mzkw.5K6mObyWzUGc2-9arMdmUUxuia-lRp63GGjDcpvlLjIg.KNESPUj1XRPpsCWF0q0X5z1PWk6L8NMmHNyclm2iXm0g.JPEG.yeobdol/IMG_3566.JPG?type=w580" width="50px" height="50px"><br>
            SNS도 열심히 합니다!
        </div>
        <div class="item5">
            <img src="https://postfiles.pstatic.net/MjAyMjA4MjdfMjQ3/MDAxNjYxNTY3MjY2Mzkw.5K6mObyWzUGc2-9arMdmUUxuia-lRp63GGjDcpvlLjIg.KNESPUj1XRPpsCWF0q0X5z1PWk6L8NMmHNyclm2iXm0g.JPEG.yeobdol/IMG_3566.JPG?type=w580" width="50px" height="50px"><br>
            수집하는 것을 즐기구요
        </div>
        <div class="item6">
            <img src="https://postfiles.pstatic.net/MjAyMjA4MjdfMjQ3/MDAxNjYxNTY3MjY2Mzkw.5K6mObyWzUGc2-9arMdmUUxuia-lRp63GGjDcpvlLjIg.KNESPUj1XRPpsCWF0q0X5z1PWk6L8NMmHNyclm2iXm0g.JPEG.yeobdol/IMG_3566.JPG?type=w580" width="50px" height="50px"><br>
            최근에는 등산에.....
        </div>
            </div>

<pre><code>&lt;p&gt;
&lt;div class=&quot;main&quot;&gt;
    저를 한마디로 소개하자면 딱히 잘하는 것은 없지만 못하는 것도 없는 사람입니다! 한 분야에 깊게 빠지기 보다는 여러가지&lt;br&gt;
    다 해보고 죽자는 마인드로 열심히 사는 사람입니다. 개발공부를 이제 막 시작했는데 늦었다고 생각 안합니다! 정신과 육체가 &lt;br&gt;
    건강한 개발자가 되는 것이 저의 꿈입니다!
&lt;/div&gt;</code></pre></body>
</html>]]></description>
        </item>
        <item>
            <title><![CDATA[스파르타_내일배움단AI트랙_3기]미니프로젝트(A-6) S.A]]></title>
            <link>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-S.A</link>
            <guid>https://velog.io/@_pocachip/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EB%8B%A8AI%ED%8A%B8%EB%9E%993%EA%B8%B0%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8A-6-S.A</guid>
            <pubDate>Sat, 27 Aug 2022 01:42:06 GMT</pubDate>
            <description><![CDATA[<p>팀장님 SA VELOG 
<a href="https://velog.io/@taeeuno_o/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EC%BA%A0%ED%94%84%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%ED%8C%80%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80A-6S.A">https://velog.io/@taeeuno_o/%EC%8A%A4%ED%8C%8C%EB%A5%B4%ED%83%80%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EC%BA%A0%ED%94%84%EB%AF%B8%EB%8B%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%ED%8C%80%EC%86%8C%EA%B0%9C%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80A-6S.A</a></p>
]]></description>
        </item>
    </channel>
</rss>