<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>탁 블로그 (이전)</title>
    <link>https://soranta.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 5 Aug 2026 00:50:52 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>soranta</managingEditor>
    <item>
      <title>Matplot 라이브러리로 간단한 그래프 그리기</title>
      <link>https://soranta.tistory.com/52</link>
      <description>&lt;p&gt;동생이 과제로 파이썬을 한다고 하길래 뭔가 하고 봤더니 그래프를 그리는 과제였다.&lt;/p&gt;
&lt;p&gt;파이썬으로 그래프 그리는 건 개발 맨~~ 처음에 배울 때 잠깐 발에 물 닿을 정도로만 해 본 적이 있어서 내가 도움을 줄 수 있을 것 같았다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Matplot&lt;/span&gt;은 txt 파일의 데이터를 간단하게 그래프로 나타낼 수 있다.&lt;/p&gt;
&lt;p&gt;엄청 짧게 코드를 짤 것 같아서 colab을 사용했다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1617204018893&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from google.colab import drive
drive.mount('/content/drive')&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;txt 파일을 굳이 로컬에 저장 안해도 구글드라이브에 마운트 하면 다 갖다 쓸 수 있음 ㅋ&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1617204209408&quot; class=&quot;python&quot; style=&quot;display: block; overflow: auto; padding: 15px; color: #383a42; background: #f6f7f8; font-size: 14px; border-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import matplotlib.pyplot as plt
import numpy as np

ecg = np.loadtxt(&quot;/content/drive/MyDrive/ecg.txt&quot;,delimiter=&quot; &quot;,unpack = False)
print(ecg.shape)

# x축
time = ecg[:, 0]
# y축
amplitude = ecg[:, 1]

# plot 세팅
plt.figure(num=1, dpi=100, facecolor='white')
plt.plot(time, amplitude, color=&quot;blue&quot;, linewidth=0.5)

plt.title('ecg')
plt.xlabel('time(sec)')
plt.ylabel('amplitude')
plt.xlim( 0, 3)
plt.ylim(-1, 1)

plt.show()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;numpy로 txt파일을 가져오고, 구분자는 띄어쓰기로 해서 데이터를 구분했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-filename=&quot;스크린샷 2021-04-01 오전 12.24.13.png&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;630&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sWcz6/btq1uuHp4Hy/R0OdwH16kLNd97bWurszCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sWcz6/btq1uuHp4Hy/R0OdwH16kLNd97bWurszCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sWcz6/btq1uuHp4Hy/R0OdwH16kLNd97bWurszCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsWcz6%2Fbtq1uuHp4Hy%2FR0OdwH16kLNd97bWurszCK%2Fimg.png&quot; data-filename=&quot;스크린샷 2021-04-01 오전 12.24.13.png&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;630&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;데이터들이 이런 식으로 정렬이 되어 있었기 때무네 ㅋ&lt;/p&gt;
&lt;p&gt;첫째 행이 x축(time)에 와야 할 값, 둘째 행이 y축(amplitude)에 와야 할 값이므로 0부터 시작해서 끊어주었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그 다음 나타낼 그래프를 &lt;span style=&quot;color: #333333;&quot;&gt;Matplot&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;으로 세팅하는데 사실 대충 구글링 해서 색 같은거 붙여 넣음.&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;x축, y축 최소값, 최대값 정도만 설정해 주었고&lt;/p&gt;
&lt;p&gt;코드를 실행하면 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GnARx/btq1vifBh7j/hQNgfTKcPFkVLRXwVtDPl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GnARx/btq1vifBh7j/hQNgfTKcPFkVLRXwVtDPl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GnARx/btq1vifBh7j/hQNgfTKcPFkVLRXwVtDPl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGnARx%2Fbtq1vifBh7j%2FhQNgfTKcPFkVLRXwVtDPl1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이게 바로 심전도 그래프라고 한다 ㅋ&lt;/p&gt;
&lt;p&gt;아주아주 간단하게 그래프가 만들어졌다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://wikidocs.net/92071&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;wikidocs.net/92071&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1617204593809&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;wikidocs&quot; data-og-title=&quot;위키독스&quot; data-og-description=&quot;온라인 책을 제작 공유하는 플랫폼 서비스&quot; data-og-host=&quot;wikidocs.net&quot; data-og-source-url=&quot;https://wikidocs.net/92071&quot; data-og-url=&quot;https://wikidocs.net&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bs9Zkb/hyJJIAnB2h/nNPARFmqFuCUdgz3QMWzn1/img.png?width=99&amp;amp;height=129&amp;amp;face=0_0_99_129&quot;&gt;&lt;a href=&quot;https://wikidocs.net/92071&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://wikidocs.net/92071&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bs9Zkb/hyJJIAnB2h/nNPARFmqFuCUdgz3QMWzn1/img.png?width=99&amp;amp;height=129&amp;amp;face=0_0_99_129');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;위키독스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;온라인 책을 제작 공유하는 플랫폼 서비스&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;wikidocs.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;위 링크를 참조하면 Matplot에 대한 자세한 설명을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;과제 끝.&lt;/p&gt;</description>
      <category>Python</category>
      <category>COLAB</category>
      <category>matplot</category>
      <category>numpy</category>
      <category>pyplot</category>
      <category>Python</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/52</guid>
      <comments>https://soranta.tistory.com/52#entry52comment</comments>
      <pubDate>Thu, 1 Apr 2021 00:31:57 +0900</pubDate>
    </item>
    <item>
      <title>Django에서 custom management commands 만들기</title>
      <link>https://soranta.tistory.com/51</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/&quot;&gt;https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1604936578297&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Writing custom django-admin commands | Django documentation | Django&quot; data-og-description=&quot;Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About &amp;hearts; Donate&quot; data-og-host=&quot;docs.djangoproject.com&quot; data-og-source-url=&quot;https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/&quot; data-og-url=&quot;https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Writing custom django-admin commands | Django documentation | Django&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About &amp;hearts; Donate&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;docs.djangoproject.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;span&gt;python&lt;/span&gt;&lt;span&gt;에서&lt;/span&gt;&lt;span&gt; manage.py &lt;/span&gt;&lt;span&gt;뒤에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;입력할&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;명령어를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;직접&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만들&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;수&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;cumstom command&lt;/span&gt;&lt;span&gt;를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만들면&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;python manage.py &lt;/span&gt;&lt;span&gt;명령어&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;터미널에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;입력하면&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;촤촤촤&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;동작하는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;거임&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZBifN/btqM0s4dAtV/h6Sp6myR9iVQLOi05x1DNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZBifN/btqM0s4dAtV/h6Sp6myR9iVQLOi05x1DNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZBifN/btqM0s4dAtV/h6Sp6myR9iVQLOi05x1DNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZBifN%2FbtqM0s4dAtV%2Fh6Sp6myR9iVQLOi05x1DNK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;문서에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나와&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있듯이&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;명령어를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만들고자&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;경로의&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;순서와&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이름을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;위와&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;같이&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;해야&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;한다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;문서에서는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;장고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;내의&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;앱&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;경로에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만들라고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;했는데&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;나는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;특정&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;앱&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;내에서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만들려고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;했던&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;아니라서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;공통&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;파일들을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;담고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있는&lt;/span&gt;&lt;span&gt; common&lt;/span&gt;&lt;span&gt;에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;생성하였다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;__init__.py &lt;/span&gt;&lt;span&gt;파일은&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;그냥&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;최하단에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하나&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;만들어&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;줬더니&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;상위&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;경로에도&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;갑자기&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;생겼다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;ㅎ&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ㅎㅎ&lt;/span&gt;&lt;span&gt;... &lt;/span&gt;&lt;span&gt;모듈화&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;뭐&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;그런건가&lt;/span&gt;&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;명령어의&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;네이밍은&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;문서에서도&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;딱히&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;어떤&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;명명규칙을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;따른&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;것&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;같지&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;않아서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나도&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;그냥&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;여튼&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이렇게만&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하면&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;작동을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하지&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;않아서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이&lt;/span&gt;&lt;span&gt; common&lt;/span&gt;&lt;span&gt;을&lt;/span&gt;&lt;span&gt; settings.py &lt;/span&gt;&lt;span&gt;내의&lt;/span&gt;&lt;span&gt; INSTALLED_APPS&lt;/span&gt;&lt;span&gt;에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;추가해&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;주었다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1604936650536&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    ...
    'common'
]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;이제&lt;/span&gt;&lt;span&gt;&amp;nbsp;renewdata.py&lt;/span&gt;&lt;span&gt;에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;다음과&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;같이&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;작성한다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1604936687617&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from django.core.management.base import BaseCommand, CommandError
from studydata.models import Flower, FlowerGarden, Leaf
from user.models import User

import datetime

class Command(BaseCommand):
    help = 'Renew data at midnight everyday'

    def handle(self, *args, **options):
        # User 조희
        users = User.objects.filter(nickname='박범희')

        for user in users:
            # 해당 user에 대한 Flower 조회
            flowers = Flower.objects.filter(st_id=user.st_id)
            # user의 flower가 없는 경우 에러 메시지
            if flowers.count() == 0:
                self.stdout.write(self.style.ERROR('No flower of the user: ' + user.st_id))
            else:
                # 정상
                for flower in flowers:
                    self.stdout.write(self.style.SUCCESS(flower.st_id))&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;문서를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;잘&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;읽어보고&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;따라해야&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;클래스&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;이름은&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;꼭&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;대문자&lt;/span&gt;&lt;span&gt; C&lt;/span&gt;&lt;span&gt;로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;시작하는&lt;/span&gt;&lt;span&gt; Command&lt;/span&gt;&lt;span&gt;여야&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하고&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;django의 BaseCommand를 &lt;/span&gt;&lt;span&gt;상속해야&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;한다&lt;/span&gt;&lt;span&gt;. &lt;/span&gt;&lt;span&gt;handle &lt;/span&gt;&lt;span&gt;함수도&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;꼭&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;작성해야&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;한다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;다른&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;사람은&lt;/span&gt;&lt;span&gt; input&lt;/span&gt;&lt;span&gt;에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;대한&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함수도&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;작성했는데&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;나는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;딱히&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;필요&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;없었음&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;간단하게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;출력&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;메시지를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;확인하기&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;위해서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;대충&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;저렇게&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;데이터&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;조회를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;했다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/03GT0/btqMVClYmnG/FBBXKXkIk3901RpBO8UfLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/03GT0/btqMVClYmnG/FBBXKXkIk3901RpBO8UfLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/03GT0/btqMVClYmnG/FBBXKXkIk3901RpBO8UfLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F03GT0%2FbtqMVClYmnG%2FFBBXKXkIk3901RpBO8UfLk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;잘됨&lt;/span&gt;&lt;span&gt;!!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;별로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;중요하진&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;않은데&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;출력&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;메시지에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;관한&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;내용은&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;다음에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있음&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/3.1/ref/django-admin/#syntax-coloring&quot;&gt;https://docs.djangoproject.com/en/3.1/ref/django-admin/#syntax-coloring&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1604936727780&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;django-admin and manage.py | Django documentation | Django&quot; data-og-description=&quot;Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About &amp;hearts; Donate&quot; data-og-host=&quot;docs.djangoproject.com&quot; data-og-source-url=&quot;https://docs.djangoproject.com/en/3.1/ref/django-admin/#syntax-coloring&quot; data-og-url=&quot;https://docs.djangoproject.com/en/3.1/ref/django-admin/#syntax-coloring&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/3.1/ref/django-admin/#syntax-coloring&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.djangoproject.com/en/3.1/ref/django-admin/#syntax-coloring&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;django-admin and manage.py | Django documentation | Django&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About &amp;hearts; Donate&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;docs.djangoproject.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Django</category>
      <category>customcommands</category>
      <category>Django</category>
      <category>Python</category>
      <category>명령어</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/51</guid>
      <comments>https://soranta.tistory.com/51#entry51comment</comments>
      <pubDate>Tue, 10 Nov 2020 00:46:22 +0900</pubDate>
    </item>
    <item>
      <title>생성자를 이용한 인스턴스 복사</title>
      <link>https://soranta.tistory.com/50</link>
      <description>&lt;pre id=&quot;code_1604644082517&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;
	
public class Car {
	String color;
	String gearType;
	int door;

	Car() {this(&quot;black&quot;,&quot;dd&quot;,1);}
    
    Car(String color, String gearType, int door) {
    	this.color = color;
		this.gearType = gearType;
		this.door = door;
	}
	        
	Car(Car c) {
		color = c.color;
		gearType = c.gearType;
		door = c.door;
	}
	        
	public static void main(String[] args) {
	// TODO Auto-generated method stub
		Car car1 = new Car();
	                
		Car car2 = new Car(&quot;red&quot;,&quot;dd&quot;,1);
	                
		Car car3 = new Car(car1);
	}
	
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Car() &lt;/span&gt;&lt;span&gt;생성자는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;밑에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있는&lt;/span&gt;&lt;span&gt; Car(String color, String gearType, int door) &lt;/span&gt;&lt;span&gt;생성자를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;참조한다&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/O0ncA/btqMHUUeU36/ztfyWikUljQKVhj0OFhqok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/O0ncA/btqMHUUeU36/ztfyWikUljQKVhj0OFhqok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/O0ncA/btqMHUUeU36/ztfyWikUljQKVhj0OFhqok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FO0ncA%2FbtqMHUUeU36%2FztfyWikUljQKVhj0OFhqok%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;생성자는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;메소드가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;아니기&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;때문에&lt;/span&gt;&lt;span&gt; Heap &lt;/span&gt;&lt;span&gt;영역에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;인스턴스가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;생성되고&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;딱히&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;코드가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;쓰인&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;순서에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;영향을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;받지는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;않음&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;아.. 어차피&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;스택은&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;호출하는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;순서의&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;문제긴&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;하니까&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;순서가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;상관&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;없구나&lt;/span&gt;&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/50</guid>
      <comments>https://soranta.tistory.com/50#entry50comment</comments>
      <pubDate>Fri, 6 Nov 2020 15:31:09 +0900</pubDate>
    </item>
    <item>
      <title>OOP (1)</title>
      <link>https://soranta.tistory.com/49</link>
      <description>&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;IT 관점의 Communication과 Layer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;- 협업하는 객체 간의 커뮤니케이션&lt;/p&gt;
&lt;p&gt;- protocol은 규약&lt;/p&gt;
&lt;p&gt;- layer를 통해 객체 간 독립성 &lt;span&gt;高&lt;/span&gt;&lt;span&gt;/ &lt;/span&gt;&lt;span&gt;결합성&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;복잡성&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;低&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OOP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;- OOP란 programming의 패러다임&lt;/p&gt;
&lt;p&gt;OOP는 이전 시대(시대라고 해봤자 몇 십년 단위)를 아우르던 프로그래밍 경향에서 불편함을 보완하기 위해 등장&lt;/p&gt;
&lt;p&gt;OOP 이전에는 &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;procedural programming, &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;structured programming 등이 있음&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- concept가 선행되어 feature이 나옴&lt;/p&gt;
&lt;p&gt;으레 OOP의 특징은 상속, 다형성, 캡슐화, 추상화라고 하지만, 이것들에 대한 요구(의도)가 있었기 때문에 그 특징이 나온 것임&lt;/p&gt;
&lt;p&gt;그래서 OOP의 특징이 아닌 컨셉이라고 보아야 함&lt;/p&gt;
&lt;p&gt;(위 얘기의 출처는 랩장님인데 이게 100퍼센트 맞다 아니다라고 보기 보다는, OOP의 등장배경과 보다 본질적으로 접근하자면 이러하다 라고 이해하면 될듯)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;- Inheritance:&lt;/p&gt;
&lt;p&gt;상속(extend의 개념)&lt;/p&gt;
&lt;p&gt;수직적/ 수평적 확장&lt;/p&gt;
&lt;p&gt;재사용&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- Polymorphism:&lt;/p&gt;
&lt;p&gt;동형이상, 환경에 의해 영향을 받음&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;- Encapsulation:&lt;/p&gt;
&lt;p&gt;내부의 변화가 외부에 영향을 끼치지 않음(흔히 말하는 정보 은닉)&lt;/p&gt;
&lt;p&gt;접근제어자로 정보 은닉의 권한을 조절&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;- Abstraction:&lt;/p&gt;
&lt;p&gt;현실의 객체를 소프트웨어적 관점으로 재구성(object-class-instance)&lt;/p&gt;
&lt;p&gt;설계 시 가장 중시됨&lt;/p&gt;
&lt;p&gt;분해-재조립&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;접근제어자 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;- public(+), package(~), protected(#), private(-) &lt;br /&gt;- 앞의 두 개는 공통결합이 생길 가능성이 높아 지양 &lt;/p&gt;</description>
      <category>OOP</category>
      <category>OOP</category>
      <category>객체지향프로그래밍</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/49</guid>
      <comments>https://soranta.tistory.com/49#entry49comment</comments>
      <pubDate>Thu, 5 Nov 2020 17:45:53 +0900</pubDate>
    </item>
    <item>
      <title>JavaScript의 prototype 이해하기</title>
      <link>https://soranta.tistory.com/48</link>
      <description>&lt;p&gt;&lt;span&gt;프로토타입&lt;/span&gt;&lt;span&gt;(prototype)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;javascript&lt;/span&gt;&lt;span&gt;는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;프로토타입&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;기반&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;언어&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;어떠한&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함수&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;내에&lt;/span&gt;&lt;span&gt; prototype&lt;/span&gt;&lt;span&gt;을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;사용하면&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;빈&lt;/span&gt;&lt;span&gt; Object&lt;/span&gt;&lt;span&gt;가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;어딘가에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;존재하고&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;그&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함수를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;사용하는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;객체는&lt;/span&gt;&lt;span&gt; 별도로 명시하지 않아도 &lt;/span&gt;&lt;span&gt;이&lt;/span&gt;&lt;span&gt; prototype&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;생성된&lt;/span&gt;&lt;span&gt; Object&lt;/span&gt;&lt;span&gt;에&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;들어&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;값을&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;갖다&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;쓸&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;수&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;있는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;것&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;기본적으로&lt;/span&gt;&lt;span&gt; Object&lt;/span&gt;&lt;span&gt;는&lt;/span&gt;&lt;span&gt; javascript&lt;/span&gt;&lt;span&gt;에서&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;기본적으로&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;제공하는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;함수이기 &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;때문에&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;이&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; Object &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;안에는&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; constructor&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;와&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; __proto__&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;가&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;존재&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;__proto__&lt;/span&gt;&lt;span&gt;는&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;객체가&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;생성될&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;때&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;조상인&lt;/span&gt;&lt;span&gt; Object &lt;/span&gt;&lt;span&gt;함수를&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;가리킴&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1603436706009&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Javascript ] 프로토타입 이해하기&quot; data-og-description=&quot;자바스크립트는 프로토타입 기반 언어라고 불립니다. 자바스크립트 개발을 하면 빠질 수 없는 것이 프로토타입인데요. 프로토타입이 거의 자바스크립트 그 자체이기때문에 이해하는 것이 어렵&quot; data-og-host=&quot;medium.com&quot; data-og-source-url=&quot;https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67&quot; data-og-url=&quot;https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cSlhJu/hyHXiklWBo/DkFHimK7zU798xsKxJNNtK/img.png?width=889&amp;amp;height=502&amp;amp;face=0_0_889_502,https://scrap.kakaocdn.net/dn/9Lf5x/hyHXq3Jrtd/GqZYtFiKsEKhsKCa2SFwn1/img.png?width=60&amp;amp;height=33&amp;amp;face=0_0_60_33,https://scrap.kakaocdn.net/dn/dlODOF/hyHYowsGxB/db7nNLeMACu76T04DngzwK/img.png?width=60&amp;amp;height=48&amp;amp;face=0_0_60_48&quot;&gt;&lt;a href=&quot;https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://medium.com/@bluesh55/javascript-prototype-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-f8e67c286b67&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cSlhJu/hyHXiklWBo/DkFHimK7zU798xsKxJNNtK/img.png?width=889&amp;amp;height=502&amp;amp;face=0_0_889_502,https://scrap.kakaocdn.net/dn/9Lf5x/hyHXq3Jrtd/GqZYtFiKsEKhsKCa2SFwn1/img.png?width=60&amp;amp;height=33&amp;amp;face=0_0_60_33,https://scrap.kakaocdn.net/dn/dlODOF/hyHYowsGxB/db7nNLeMACu76T04DngzwK/img.png?width=60&amp;amp;height=48&amp;amp;face=0_0_60_48');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[Javascript ] 프로토타입 이해하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;자바스크립트는 프로토타입 기반 언어라고 불립니다. 자바스크립트 개발을 하면 빠질 수 없는 것이 프로토타입인데요. 프로토타입이 거의 자바스크립트 그 자체이기때문에 이해하는 것이 어렵&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;medium.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;도식화가 아주 잘 되어 있어서 참조하기 좋음&lt;/p&gt;</description>
      <category>JavaScript</category>
      <category>JavaScript</category>
      <category>Prototype</category>
      <category>자스의길</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/48</guid>
      <comments>https://soranta.tistory.com/48#entry48comment</comments>
      <pubDate>Fri, 23 Oct 2020 16:05:34 +0900</pubDate>
    </item>
    <item>
      <title>내부 클릭 이벤트 설정</title>
      <link>https://soranta.tistory.com/47</link>
      <description>&lt;p&gt;메인 페이지에서 특정 배너를 클릭 시의 로그를 추출하기 위해서 사용한다.&lt;/p&gt;
&lt;p&gt;모바일의 경우에는&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;onMouseDown를 ontouchstart로 변경해서 사용&lt;/p&gt;
&lt;p&gt;ex) &amp;lt;A onMouseDown=&quot;eval('try{ _trk_clickTrace( \'EVT\', \'나의이벤트\' )&lt;/p&gt;
&lt;p&gt;&amp;rarr; &amp;lt;A ontouchstart=&quot;eval('try{ _trk_clickTrace( \'EVT\', \'나의이벤트\' )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://logger.co.kr/manual_FR/help.tsp?node=229&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;logger.co.kr/manual_FR/help.tsp?node=229&lt;/a&gt;&lt;/p&gt;</description>
      <category>JavaScript</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/47</guid>
      <comments>https://soranta.tistory.com/47#entry47comment</comments>
      <pubDate>Mon, 19 Oct 2020 14:04:36 +0900</pubDate>
    </item>
    <item>
      <title>백준 2439번 별 찍기2</title>
      <link>https://soranta.tistory.com/45</link>
      <description>&lt;h2&gt;문제&lt;/h2&gt;
&lt;p&gt;첫째 줄에는 별 1개, 둘째&amp;nbsp;줄에는 별 2개, N번째&amp;nbsp;줄에는 별 N개를 찍는 문제&lt;/p&gt;
&lt;p&gt;하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.&lt;/p&gt;
&lt;h2&gt;입력&lt;/h2&gt;
&lt;p&gt;첫째 줄에 N(1 &amp;le; N &amp;le; 100)이 주어진다.&lt;/p&gt;
&lt;h2&gt;출력&lt;/h2&gt;
&lt;p&gt;첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/sorantak/337ed80959d09a1c769f131ed949a5cf.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;2중 for문이 필요함.&amp;nbsp;&lt;/p&gt;</description>
      <category>자료구조와 알고리즘</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/45</guid>
      <comments>https://soranta.tistory.com/45#entry45comment</comments>
      <pubDate>Fri, 15 May 2020 16:49:39 +0900</pubDate>
    </item>
    <item>
      <title>자바 선택정렬(Selection Sort)</title>
      <link>https://soranta.tistory.com/44</link>
      <description>&lt;p&gt;기준이 되는 수를 정하고 그 수와 나머지를 비교하여 가장 낮은 수를 제일 앞으로 보내는 정렬입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/sorantak/5216f5c221384921f3df41f2e96c817a.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;코드프레소 DevOps Roasting Course 2기 진행중입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자료구조와 알고리즘</category>
      <category>Codepresso</category>
      <category>DevOps</category>
      <category>선택정렬</category>
      <category>자료구조와 알고리즘</category>
      <category>자바</category>
      <category>코드프레소</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/44</guid>
      <comments>https://soranta.tistory.com/44#entry44comment</comments>
      <pubDate>Sat, 9 May 2020 15:06:36 +0900</pubDate>
    </item>
    <item>
      <title>백준 2438번 별 찍기</title>
      <link>https://soranta.tistory.com/42</link>
      <description>&lt;h2&gt;문제&lt;/h2&gt;
&lt;p&gt;첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제&lt;/p&gt;
&lt;h2&gt;입력&lt;/h2&gt;
&lt;p&gt;첫째 줄에 N(1 &amp;le; N &amp;le; 100)이 주어진다.&lt;/p&gt;
&lt;h2&gt;출력&lt;/h2&gt;
&lt;p&gt;첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1588756441233&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class al2438 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int t = Integer.parseInt(br.readLine());

		for (int i = 1; i &amp;lt; t + 1; i++) {
			for (int j = 0; j &amp;lt; i; j++) {
				bw.write(&quot;*&quot;);
			}
			bw.write(&quot;\n&quot;);
		}
		bw.flush();
		bw.close();
	}

}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;첫 번째 for문이 도는 내부에서&amp;nbsp;i=1일 때 두 번째 for문이 돈다.&lt;/p&gt;
&lt;p&gt;i=2일 때 두 번째 for문이 j=0, j=1 두 번 돈다.&lt;/p&gt;
&lt;p&gt;이렇게 i=t일 때 까지 반복한다.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ffffff;&quot;&gt;ㅅㅂ이걸 내 머리로 어케 짜노&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자료구조와 알고리즘</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/42</guid>
      <comments>https://soranta.tistory.com/42#entry42comment</comments>
      <pubDate>Wed, 6 May 2020 18:16:05 +0900</pubDate>
    </item>
    <item>
      <title>백준 11021번 A+B</title>
      <link>https://soranta.tistory.com/41</link>
      <description>&lt;p&gt;시간 제한메모리 제한제출정답맞은 사람정답 비율&lt;/p&gt;
&lt;table id=&quot;problem-info&quot; style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 초&lt;/td&gt;
&lt;td&gt;256 MB&lt;/td&gt;
&lt;td&gt;42360&lt;/td&gt;
&lt;td&gt;23042&lt;/td&gt;
&lt;td&gt;21265&lt;/td&gt;
&lt;td&gt;55.619%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;문제&lt;/h2&gt;
&lt;p&gt;두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;h2&gt;입력&lt;/h2&gt;
&lt;p&gt;첫째 줄에 테스트 케이스의 개수 T가 주어진다.&lt;/p&gt;
&lt;p&gt;각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 &amp;lt; A, B &amp;lt; 10)&lt;/p&gt;
&lt;h2&gt;출력&lt;/h2&gt;
&lt;p&gt;각 테스트 케이스마다 &quot;Case #x: &quot;를 출력한 다음,&amp;nbsp;A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.&lt;/p&gt;
&lt;pre id=&quot;code_1588210221856&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class al11021 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int t = Integer.parseInt(br.readLine());

		for (int i = 1; i &amp;lt; t + 1; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			int a = Integer.parseInt(st.nextToken());
			int b = Integer.parseInt(st.nextToken());
			int sum = a + b;
			bw.write(&quot;Case #&quot; + i + &quot;: &quot; + sum + &quot;\n&quot;);
		}
		bw.flush();
		bw.close();
	}

}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>자료구조와 알고리즘</category>
      <author>soranta</author>
      <guid isPermaLink="true">https://soranta.tistory.com/41</guid>
      <comments>https://soranta.tistory.com/41#entry41comment</comments>
      <pubDate>Thu, 30 Apr 2020 10:30:30 +0900</pubDate>
    </item>
  </channel>
</rss>