<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>엘키의 주절 주절</title>
    <link>https://elky.tistory.com/</link>
    <description>Software Engineer</description>
    <language>ko</language>
    <pubDate>Wed, 1 Jul 2026 09:31:27 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>엘키</managingEditor>
    <image>
      <title>엘키의 주절 주절</title>
      <url>https://t1.daumcdn.net/cfile/tistory/214C6E38564979EF32</url>
      <link>https://elky.tistory.com</link>
    </image>
    <item>
      <title>블로그 이전</title>
      <link>https://elky.tistory.com/657</link>
      <description>&lt;p&gt;Tistory에서 github pages로 블로그 이전 했습니다.&amp;nbsp;티스토리 백업 중지는 폐쇄 전 움직임 같아 보여 안심할 수가 없네요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이전한 블로그 주소는 다음과 같습니다!&lt;/p&gt;&lt;p&gt;RSS Feed 주소 - &lt;a class=&quot;tx-link&quot; href=&quot;https://elky84.github.io/&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0066cc&quot;&gt;https://elky84.github.io/&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;앞으로는 이쪽에서 블로깅을 하게 됐으니~~ 새로 RSS 구독 신청 부탁드립니다!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;RSS Feed 주소 - &lt;a class=&quot;tx-link&quot; href=&quot;https://elky84.github.io/feed.xml&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0066cc&quot;&gt;https://elky84.github.io/feed.xml&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Github 주소 - &lt;a class=&quot;tx-link&quot; href=&quot;http://github.com/elky84&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0066cc&quot;&gt;http://github.com/elky84&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>BlahBlah</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/657</guid>
      <comments>https://elky.tistory.com/657#entry657comment</comments>
      <pubDate>Fri, 27 Jan 2017 14:29:01 +0900</pubDate>
    </item>
    <item>
      <title>python 입문기</title>
      <link>https://elky.tistory.com/656</link>
      <description>&lt;p&gt;여러 글에서 밝혀왔듯 나는 rubyist다. ruby를 사랑하는 이유는 내가 접했던 언어 중 가장 즐겁게 코딩이 가능했기 때문이다. rails는... 음 이제와 밝히자면, 사실 좀 어려웠다.&lt;/p&gt;
&lt;p&gt;ruby가 어려웠다기보다는, 웹에 대한 이해도가 전무한 개발자가 쉽게 기능 개발을 해볼 순 있지만, production 과정까지 가는게 쉽지만은 않았다랄까?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;ruby는 해외와는 달리 국내에서는 비주류라는 점이 고민의 포인트가 되긴했지만, 해외에서의 높은 인지도로 인한 풍부한 자료는 그 거부감을 상쇄 시켜줬다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;성능상의 이슈가 있다지만 어지간한 규모의 트래픽으론 성능 이슈를 제기할 정도로 열악한 것도 아니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;오히려 가장 아쉬웠던 점은 rails가 갖는 장점인 학습 속도에 비해, 단점인 프로덕션 과정에서의 학습 비용이 큰 편이었던 점이라고 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;특히 DB관련한 연동은 추상화 레이어로 인한 개발 과정 이득은 있지만, 인덱스 개념이나 데이터 모델링 개념이 부족한 경우에 프로덕션 트러블의 요인이 되기 쉽상이다. 물론 이는 다른 언어들의 프레임워크들도 가진 문제지만, ruby on rails는 쉬운 학습 비용이 장점인 프레임워크이기 때문에, 이 부분이 조금 더 감점 요인이라고 생각한다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;물론 나는 위 모든 점을 감안해도 rails가 좋다. 여전히.&lt;/p&gt;
&lt;p&gt;ruby도 물론이고.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;몇번이나 이런 질문을 받은 적이 있다. 왜 rails를 썼냐고.&lt;/p&gt;
&lt;p&gt;국내 기준으로 C++이 여전히 주류이고, 웹 기반 서버로 많이 넘어가던 시기에도 php, asp.net, node.js, jsp 등이 주류이던 시기에, 심지어 python도 아닌 ruby였냐고.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;그 질문에 나는 항상 같은 대답을 했다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&quot;내가 그 당시 학습하려 시도한 모든 언어들 중에 ruby가 가장 즐거웠노라고.&quot;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;업무는 내 삶에서 큰 부분을 차지한다.&lt;/p&gt;
&lt;p&gt;그 과정이 즐겁지 않다면, 내 삶이 즐겁지 않을 수 도 있다.&lt;/p&gt;
&lt;p&gt;그래서 나는 내가 업무를 즐겁게 하기 위한 선택을, 가능하다면 많이 하려고 하는데, 그 과정에서 ruby는 꽤나 높은 점수를 줄 수 있었다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;그렇다면 python도 즐거워서 골랐나?&lt;/p&gt;
&lt;p&gt;그렇진 않았다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;내가 느낀 국내 인지도는&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Java &amp;gt; C++ &amp;gt; C# &amp;gt; Python &amp;gt; Ruby &amp;gt; Golang = scala 였다.&lt;/p&gt;
&lt;p&gt;사실 나는 ruby 다음 언어로 Golang이나 scala를 해보고 싶었음을 지난 글에서 밝힌 바 있다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;하지만 현재 시점에서 “웹 서버”를 구현해야 할 언어를 골라야 한다는 관점에서, Golang은 시기상조인 면이 많고, 특히 웹서버로 구동하기엔 여타 프레임워크보다 아쉬움을 갖고 있다.&lt;/p&gt;
&lt;p&gt;scala로 Play! 프레임워크를 사용해보려 고민도 했으나, 그러기에는 내가 너무 java에 대한 이해도가 부족했다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;게다가 나는 C++ &amp;gt; C# &amp;gt; Java의 선호도를 갖고 있고.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;그리하여, ruby와 비슷한 급(?)의 언어이면서, 국내에서의 인지도가 ruby보다 높은 python을 해보기로 했다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;rails를 다시 선택하는 방법도 있었지만, 웹 프레임워크로써 프로덕션 레벨에 올려본 것이 rails 하나이기 때문에 다른 웹 프레임워크의 장단점과 다른 언어 학습의 기회를 같이 맛보기 위한 선택을 하게 됐다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;그렇게 python을 입문하고 나니, 몇 가지 감상이 들어 3달여간 사용해본 경험을 정리해보고자 한다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;indent 강제.&lt;/p&gt;
&lt;p&gt;사실상 내가 python보다 ruby를 애호하게 된 이유다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;indent 에도 취향이 있는 것이고, 나는 프로그래밍이 재밌어야, 일이 재밌어야 한다고 주장하는 입장에서 자유도를 억제하는 느낌드는 파이썬의 indent강제는 거부감이 들었다랄까?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;막상 사용해보니 코드 읽기에 큰 강점이 있더라.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;실제 동작을 유추하기 쉽다보니, 여러모로 메리트가 있었다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;다만 다른 언어들과 조금 다른 것들이 많은데, 예를들어&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;조건문이나 함수 정의에 :이 마지막에 붙는 점이다.&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;

&lt;pre class=&quot;brush:ruby&quot;&gt;# ruby
def test()
	statement
&lt;/pre&gt;

&lt;pre class=&quot;brush:python&quot;&gt;# python
def test(abc):
	statement
&lt;/pre&gt;


&lt;div&gt;다음과 같아 진다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;조건문의 경우에도 마찬가지로,&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;

&lt;pre class=&quot;brush:ruby&quot;&gt;# ruby
if aaa
	statement
end
&lt;/pre&gt;

&lt;pre class=&quot;brush:python&quot;&gt;# python
if aaa:
	statement
&lt;/pre&gt;

&lt;div&gt;같은 형태가 된다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;다들 아시다시피, 들여쓰기가 depth에 따라 코드가 어떤 단락에 포함되는지를 결정짓는다.&lt;/div&gt;

&lt;pre class=&quot;brush:ruby&quot;&gt;# ruby
# 들여쓰기 1
if aaa
	statement
	statement2
end

# 들여쓰기 2
if aaa
	statement
statement2
end
&lt;/pre&gt;


&lt;pre class=&quot;brush:python&quot;&gt;# python
# 들여쓰기 1
if aaa:
	statement
	statement2

# 들여쓰기 2
if aaa:
	statement
statement2&lt;/pre&gt;

&lt;div&gt;루비는 두 결과가 같다.&lt;/div&gt;&lt;div&gt;하지만, 파이썬은 다르다. 들여쓰기 2에서, aaa 조건이 성립하지 않아도 statement2는 실행된다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이런 제약이 거추장 스럽게 느껴진게 사실이다.&lt;/div&gt;&lt;div&gt;C++에 비해 상대적 자유도가 낮은 java를 선호하지 않았던 이유도 같은 이유였기 때문인데, 굳이 스크립트 언어에 제약이 있는 언어를 고르지 않겠단 생각이었다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;헌데 막상 파이썬을 사용해보니, 협업에 큰 장점이 있었다.&lt;/div&gt;&lt;div&gt;RSA 알고리즘을 한 줄에 짤 수 있네 마네 말도 많은 perl을 겪은 나로썬, 또 지나친 자유도로 소통 비용을 크게 요구하는 C++을 오래 사용해온 입장에서 크게 와닿으며, 인정하게 된 것은, indent강제가 코드 읽기 비용을 크게 낮춰준다는 것을 확실히 느낄 수 있었다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이는 디버깅이나 오류 비용이 크게 낮아진다는 얘기기도 하다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;내가 크게 걱정했던 표현력이 막상 크게 제한되지도 않았다.&lt;/div&gt;&lt;div&gt;팀작업에서 큰 이득이 있었고, 오픈소스 코드 분석에서도 큰 장점이 됐다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;아니, 다른 언어들도 이래야 하는거 아닌가 싶을 정도로 마음에 들었다는게 맞겠다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;대다수의 팀에서 일하는 프로그래머들은 팀 코드만 보지 않는다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;오픈소스 진영에서의 개발은 특히나, 다른 사람의 코드를 봐야 할 일이 아주 많다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그런 측면에서 아주 큰 강점이 있다는 생각이 들었다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;거기에 부가적으로, python도 말하면서 코딩하는 기분이 들었다.&lt;/div&gt;
&lt;pre class=&quot;brush:python&quot;&gt;if user is None:
	blah blah&lt;/pre&gt;&lt;p&gt;이 얼마나 직관적인가?&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;django로 개발하면서 머릿속의 내용을 코드로 옮기는데에 멈칫하는 과정없이 술술 진행될 수 있었던 것은, python의 문법이 유연하진 못하지만, 대화하는 느낌이 드는 언어였기 때문이다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;이 점이 나에게 python에 대한 인상을 좋게 만들어주는 요인이 되었다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;나에게있어 python은 어려운 언어는 아니었다.&lt;/p&gt;
&lt;p&gt;사실 쉽게 익숙해진 언어라 볼 수 있다고 본다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;ruby를 먼저 접했어서 인지, 아니면 python 자체가 쉬워서인지는 잘 모르겠지만, 여러모로 ruby와는 또 다른 즐거움을 가져다준 언어였다고 생각한다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;이어지는 django 사용기에 조금 더 디테일한 python 사용기를 담아볼 예정이다.&lt;/p&gt;</description>
      <category>Scripts/Python</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/656</guid>
      <comments>https://elky.tistory.com/656#entry656comment</comments>
      <pubDate>Tue, 22 Nov 2016 21:00:01 +0900</pubDate>
    </item>
    <item>
      <title>Django Celery 사용법</title>
      <link>https://elky.tistory.com/655</link>
      <description>&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;설치&lt;/span&gt;&lt;/h1&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip install -U Celery&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip install django-celery&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;데이터베이스 migration 필요. [djcelery를 위해]&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Django 설정&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;settings.py에 아래 내용을 추가한다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; djcelery&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;djcelery&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;setup_loader&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;()&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;BROKER_URL &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#008800;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&quot;amqp://guest:guest@localhost:5672//&quot;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;settings.py 파일에 추가&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;INSTALLED_APPS &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;( &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#008800;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;'djcelery',&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#008800;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;'myapp',&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 72pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;두 가지를 추가해야 한다. myapp은 개발하고 있는 app의 이름이 되겠다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Task 생성&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; djcelery &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; celery&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;@celery&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;task&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#008800;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;'tasks.add')&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; add&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;):&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; y&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot; id=&quot;docs-internal-guid-8460efdb-6b99-1ebf-30cb-0336645aa9b3&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;@celery&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;task&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#008800;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;'tasks.sleeptask')&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; sleeptask&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;):&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; time &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; sleep&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;sleep&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;i)&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; i&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;테스트 목적으로 두 개의 task를 만들었다. 하나는 즉시 값을 리턴하는 add함수와 10초 뒤에 task를 반환하는 sleeptask 함수이다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;View 만들기&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;django app의 views.py에 아래의 내용을 추가&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; django&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;HttpResponse&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; myapp &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; tasks&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; test_celery&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;request&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;):&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;result &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; tasks&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;sleeptask&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;delay&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;2)&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;result2 &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; tasks&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;delay&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;5)&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;HttpResponse&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#008800;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&quot;this is task test (id : %s)&quot;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;id)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이렇게&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; view&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;만들어놓고&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; url&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;에&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; view&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;호출할&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;수&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;있도록&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;해야한다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;urlpattern&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;에&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;아래&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;내용을&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;추가해준다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; views &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; taskview&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;urlpatterns &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; patterns(&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;...&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#008800;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;'^test$'&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;taskview&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;test_celery&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;),&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#ff0000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;가동&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;python manage.py celeryd -l info&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#ff0000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;직렬화&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/16040039/understanding-celery-task-prefetching&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/16040039/understanding-celery-task-prefetching&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:13.333333333333332px;font-family:Consolas;color:#242729;background-color:#eff0f1;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;가동&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;python manage.py celeryd --concurrency=1 -Ofair&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;settings.py에 추가.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;CELERYD_PREFETCH_MULTIPLIER = 1&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Consumer&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#ff0000;background-color:#ffffff;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;주의 사항&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;15672는 웹 포트다. 5672 포트로 연결해야 한다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;연결이 RabbitMQ에서 끊어질 시에는 RabbitMQ 관리 웹 페이지에서 &lt;/span&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Can access virtual hosts&lt;/span&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;가 설정되어있는 계정인지 확인해볼 것.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;tasks로 만들어 던지는 함수에 req를 바로 던질 수 없다. pickle 가능한 object만 던져야 한다. 즉 파라미터들을 꺼내서 던져야 한다는 의미.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;text-indent: 36pt;&quot;&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;user_no &lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; color: rgb(102, 102, 0); vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; color: rgb(0, 0, 136); vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; color: rgb(102, 102, 0); vertical-align: baseline; white-space: pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;req&lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; color: rgb(102, 102, 0); vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;session&lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; color: rgb(102, 102, 0); vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; color: rgb(0, 136, 0); vertical-align: baseline; white-space: pre-wrap;&quot;&gt;'user_no'&lt;/span&gt;&lt;span style=&quot;text-indent: 36pt; background-color: transparent; font-size: 12px; font-family: Consolas; color: rgb(102, 102, 0); vertical-align: baseline; white-space: pre-wrap;&quot;&gt;])&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; tasks&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;celery.delay&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;user_no&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;참고&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://ngee.tistory.com/548&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://ngee.tistory.com/548&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://ngee.tistory.com/580&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#1155cc;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://ngee.tistory.com/580&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://celery.readthedocs.io/en/latest/getting-started/first-steps-with-celery.html&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#1155cc;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://celery.readthedocs.io/en/latest/getting-started/first-steps-with-celery.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://ahnseungkyu.com/110&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#1155cc;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://ahnseungkyu.com/110&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14px;font-family:Arial;color:#333333;background-color:#ffffff;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://abipictures.tistory.com/895&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://abipictures.tistory.com/895&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://febdy.tistory.com/9&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://febdy.tistory.com/9&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Web/Django</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/655</guid>
      <comments>https://elky.tistory.com/655#entry655comment</comments>
      <pubDate>Tue, 27 Sep 2016 21:24:11 +0900</pubDate>
    </item>
    <item>
      <title>Django 사용법 정리</title>
      <link>https://elky.tistory.com/654</link>
      <description>&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;font-size:26.666666666666664px;font-family:Arial;color:#4a86e8;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Django&lt;/span&gt;&lt;/h1&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Django 웹 서버 환경 설정.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://tutorial.djangogirls.org/ko/django_start_project/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://tutorial.djangogirls.org/ko/django_start_project/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;django-excel 설치 오류&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://django-excel.readthedocs.io/en/latest/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://django-excel.readthedocs.io/en/latest/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip install --upgrade setuptools&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip 설치 방법&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://pip.pypa.io/en/stable/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://pip.pypa.io/en/stable/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;rails와 대응되는 기능&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;config.rb + database.yml [settings.py]&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;urls.py [routes.rb]&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip [gemfile]&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://pip.pypa.io/en/stable/user_guide/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://pip.pypa.io/en/stable/user_guide/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;requirements.txt&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/19280249/python-equivalent-of-a-ruby-gem-file&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/19280249/python-equivalent-of-a-ruby-gem-file&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip manage [gem update]&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;실행&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip install -r requirements.txt&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;버전 고정&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip freeze &amp;gt; requirements.txt&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;admin 기능 활성화&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://django-doc-pootle-test.readthedocs.io/en/latest/intro/tutorial02.html&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://django-doc-pootle-test.readthedocs.io/en/latest/intro/tutorial02.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;admin 계정 생성&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;python manage.py createsuperuser&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;model 생성 기능&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://tutorial.djangogirls.org/ko/django_models/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://tutorial.djangogirls.org/ko/django_models/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; python manage.py startapp [앱이름]&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://pythonstudy.xyz/python/article/308-Django-%EB%AA%A8%EB%8D%B8-Model&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://pythonstudy.xyz/python/article/308-Django-%EB%AA%A8%EB%8D%B8-Model&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;model reload&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/4377861/reload-django-object-from-database&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/4377861/reload-django-object-from-database&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;model api&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://pythonstudy.xyz/python/article/310-Django-%EB%AA%A8%EB%8D%B8-API&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://pythonstudy.xyz/python/article/310-Django-%EB%AA%A8%EB%8D%B8-API&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;model migrate 과정&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;migrate 파일 생성&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;python manage.py makemigrations&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;실행&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;python manage.py migrate&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;migrate 실패시&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;오류 확인 후, 오류가 나지 않도록 migrate 파일을 수동 수정하거나 삭제 해주면 된다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;주로 default값 오류임.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;default 값 넣는 법&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/12649659/how-to-set-a-django-model-fields-default-value-to-a-function-call-callable-e&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/12649659/how-to-set-a-django-model-fields-default-value-to-a-function-call-callable-e&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;models.field types&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/1.9/ref/models/fields/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://docs.djangoproject.com/en/1.9/ref/models/fields/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;redis&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://niwinz.github.io/django-redis/latest/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://niwinz.github.io/django-redis/latest/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;request&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://nemesisdesign.net/blog/coding/django-how-retrieve-query-string-parameters/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://nemesisdesign.net/blog/coding/django-how-retrieve-query-string-parameters/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;cookie 유지&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://blog.readiz.com/4&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://blog.readiz.com/4&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;datetime&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;compare&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/16016002/django-how-to-get-a-time-difference-from-the-time-post&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/16016002/django-how-to-get-a-time-difference-from-the-time-post&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;background run&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;설치&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;yum install nohup&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;권한 부여&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;chmod 755 shell.sh&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;가동&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;nohup sh -- ./shell.sh &amp;amp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;중지&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;killall&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://www.linuxadmin.lt/centos-7-killall-command-not-found/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://www.linuxadmin.lt/centos-7-killall-command-not-found/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;File upload&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://docs.djangoproject.com/ja/1.9/topics/http/file-uploads/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://docs.djangoproject.com/ja/1.9/topics/http/file-uploads/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;multifile upload&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://gorakgarak.tistory.com/621&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://gorakgarak.tistory.com/621&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://docs.djangoproject.com/ja/1.9/topics/http/file-uploads/#uploading-multiple-files&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://docs.djangoproject.com/ja/1.9/topics/http/file-uploads/#uploading-multiple-files&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;inspect&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;함수와 앱 이름 알아내기&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://www.isotoma.com/blog/2009/12/09/getting-the-name-of-the-current-view-in-a-django-template/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://www.isotoma.com/blog/2009/12/09/getting-the-name-of-the-current-view-in-a-django-template/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;font-size:26.666666666666664px;font-family:Arial;color:#4a86e8;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Django package&lt;/span&gt;&lt;/h1&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;django&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/24057015/manage-py-importerror-no-module-named-django&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/24057015/manage-py-importerror-no-module-named-django&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;pip install &lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;django&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;redis 계열&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;redis&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://github.com/MSOpenTech/redis/releases&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://github.com/MSOpenTech/redis/releases&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;django-redis-sessions&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://pypi.python.org/pypi/django-redis-sessions/0.5.6&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://pypi.python.org/pypi/django-redis-sessions/0.5.6&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;django-redis&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://niwinz.github.io/django-redis/latest/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://niwinz.github.io/django-redis/latest/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;django-jsonfield&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://pypi.python.org/pypi/django-jsonfield&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://pypi.python.org/pypi/django-jsonfield&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;django-excel&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://django-excel.readthedocs.io/en/latest/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://django-excel.readthedocs.io/en/latest/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;font-size:26.666666666666664px;font-family:Arial;color:#4a86e8;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;python&lt;/span&gt;&lt;/h1&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;dictionary &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;사용법&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://wikidocs.net/16&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://wikidocs.net/16&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;merge&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/11011756/is-there-any-pythonic-way-to-combine-two-dicts-adding-values-for-keys-that-appe&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/11011756/is-there-any-pythonic-way-to-combine-two-dicts-adding-values-for-keys-that-appe&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;list&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;원소 포함 여부&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/12934190/is-there-a-short-contains-function-for-lists-in-python&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/12934190/is-there-a-short-contains-function-for-lists-in-python&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;loop&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://www.tutorialspoint.com/python/python_for_loop.htm&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://www.tutorialspoint.com/python/python_for_loop.htm&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;연산자 정리&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;연산자, 식, 그리고 프로그램 흐름&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://jythonbook-ko.readthedocs.io/en/latest/OpsExpressPF.html&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://jythonbook-ko.readthedocs.io/en/latest/OpsExpressPF.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;3항 연산자&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://infitude.tistory.com/3&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://infitude.tistory.com/3&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;null 검사&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/3289601/null-object-in-python&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/3289601/null-object-in-python&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;to_i&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;json&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;dictionary &amp;lt;-&amp;gt; json and django&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://godjango.com/blog/working-with-json-and-django/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://godjango.com/blog/working-with-json-and-django/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;dictionary &amp;lt;-&amp;gt; json&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://bluese05.tistory.com/37&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://bluese05.tistory.com/37&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;람다&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://wikidocs.net/64&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://wikidocs.net/64&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;클로저&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://jonnung.blogspot.kr/2014/09/python-easy-closure.html&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://jonnung.blogspot.kr/2014/09/python-easy-closure.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;모듈&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://wikidocs.net/29&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://wikidocs.net/29&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;command line argument&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://devluna.blogspot.kr/2015/10/python-command-line-argument-calling.html&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://devluna.blogspot.kr/2015/10/python-command-line-argument-calling.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;file io&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://wikidocs.net/26&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://wikidocs.net/26&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;tuple&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://wikidocs.net/71&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://wikidocs.net/71&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;convert&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://www.dotnetperls.com/convert-python&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://www.dotnetperls.com/convert-python&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;static method, class method&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://blog.naver.com/PostView.nhn?blogId=dudwo567890&amp;amp;logNo=130164152571&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://blog.naver.com/PostView.nhn?blogId=dudwo567890&amp;amp;logNo=130164152571&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;font-size:26.666666666666664px;font-family:Arial;color:#4a86e8;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;python package&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span id=&quot;docs-internal-guid-e6be5423-6b94-14d8-8783-224d9071feda&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;excel&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;설치&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://github.com/pyexcel/pyexcel&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://github.com/pyexcel/pyexcel&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;사용법&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://pythonhosted.org/pyexcel/tutorial.html&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://pythonhosted.org/pyexcel/tutorial.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://github.com/pyexcel/pyexcel-xls&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://github.com/pyexcel/pyexcel-xls&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;console color&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://pypi.python.org/pypi/colorama&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://pypi.python.org/pypi/colorama&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Web/Django</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/654</guid>
      <comments>https://elky.tistory.com/654#entry654comment</comments>
      <pubDate>Tue, 27 Sep 2016 21:17:39 +0900</pubDate>
    </item>
    <item>
      <title>실시간 대전 게임에서 TCP 서버 대신 웹 서버를 선택한 이유</title>
      <link>https://elky.tistory.com/653</link>
      <description>&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;TCP 서버&lt;/span&gt;&lt;/h1&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;성능이 좋다. (=빠르다)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;커넥션 기반&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;stateful 기반&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;가용성을 확보하기 어려움.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;코딩은 용이함.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;notify가 가능. (클라이언트의 요청없이 서버가 패킷 전달)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;커넥션 기반이라, 커넥션 유실/복구 이슈&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;로직간 결합도가 높아지는 경우가 자주 발생한다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;서버 크래시에 대한 높은 리스크.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;웹 서버&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span id=&quot;docs-internal-guid-3f6d3839-6b93-7544-ac5a-3717fdac5db2&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;stateless 기반&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;가용성 확보가 쉬움.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;state는 모두 db에 존재.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;오픈소스 프레임워크가 많고, 검증되어있음.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;프레임워크 내에서도, 다양한 기능들이 오픈소스로 배포되고 쉽게 사용 가능.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;로직간 결합도가 낮다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;state가 없음으로&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;서버 크래시에도 큰 장애는 없다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:square;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;어지간해서는 서버 크래시도 없다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;부하로 인한 timeout이나, 스크립트 오류가 발생할 뿐.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;모든 데이터는 요청마다 db를 조회해야해서 성능이 떨어진다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;notify가 어려움. (1-request, 1-response 구조)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;다른 피어와 통신용으로 사용하기 위해선 polling이 필요하다. [like ajax]&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Web/General</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/653</guid>
      <comments>https://elky.tistory.com/653#entry653comment</comments>
      <pubDate>Tue, 27 Sep 2016 21:17:12 +0900</pubDate>
    </item>
    <item>
      <title>웹서버 중에서 Django를 선택한 이유</title>
      <link>https://elky.tistory.com/652</link>
      <description>&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;&quot;&gt;Django&lt;/span&gt;&lt;/h1&gt;&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;font-weight:normal;&quot; id=&quot;docs-internal-guid-bdf66c85-6b93-2e18-e11a-756878057487&quot;&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;굉장히 쉽게 배울 수 있는 프로그램 언어인 Python을 기반으로 한다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;인증, 관리와 같이 거의 대부분의 사이트에서 사용하는 기능들이 기본 모듈로 제공된다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;성공적인 도입 사례가 있습니다.(Instagram 등)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;높은 코드 완성도를 유지할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;python의 강제된 indent가 코드 완성도에는 일조함.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;IDE 지원이 훌륭한 편이다.(Pycharm, Visual Studio 등)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;AWS, Google Cloud, Azure등에서 전폭적으로 초기 단계부터 지원한 프레임워크다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;deploy 및 운용에 대한 개발 비용을 크게 아낄 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;한글 문서가 아주 풍부한 편은 아니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;typeless 언어의 약점은 그대로 보유하고 있다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;python에 대한 높은 이해도가 필요하다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Django는 문제를 python으로 해결하는 편이다. (프레임워크 특화 기능보다)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;성능 문제에서 자유롭지 못하다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;python은 ruby보다 빠를 뿐이다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Django도 rails보다 빠를 뿐이다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;node.js&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;V8 엔진을 기반으로 한 성능이 뛰어납니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;오픈소스 문화권하에 있어서만은 아닌, 풍부한 모듈 지원. (유독 많다. 그것도 짧은 기간내에 급속히 증가)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;C++로 필요한 모듈 작성 가능.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;싱글스레드, 비동기 IO 처리에 기반한 빠른 속도&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;파일 I/O나 네트워크 처리를 이벤트 드리븐 방식으로 처리하기 때문에 빠른 처리가 가능함&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPU의 대기시간을 최소화 할 수 있음.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;CPU 부하가 적고, 많은 커넥션을 동시에 처리해야 하는 구조에 적합.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;자바스크립트를 이용해서 개발할 수 있기 때문에 프론트엔드 개발자의 진입장벽이 낮음.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;기존 Java 서버에 비해 생산성이 높음&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;싱글스레드 모델이기 때문에 하나의 작업에 시간이 오래걸리면 시스템 전체의 성능이 급격하게 떨어짐&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;에러가 발생할 경우 프로세스 자체가 죽어버리므로 주의해야 함(watch dog 등으로 처리 가능)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;멀티코어 활용을 위해서 cluster 모듈을 이용해야 하고, 세션을 공유할 경우 부가적인 작업이 필요함&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;불편한 비동기 프로그래밍 모델&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;다음 할 일을 계속 콜백(callback) 함수로 넘기는 스타일로 코딩을 하다 보니 Pyramid of Doom이라 불리는 중첩 코드가 나오기 쉽상.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;이 문제를 해결하기 위해 비동기 제어 흐름을 좀 더 쉽게 표현하기 위한 async 모듈, underscore 등도 사용했지만, 이러한 프로그래밍 스타일은 Django나 Ruby on Rails에 비교해서 코드의 가독성을 현저히 떨어진다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;초급 프로그래머라도 쉽게 할 수 있다 얘기는 거짓말.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;학습 난이도가 높은 편이다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;시스템 관리자에게 쉽지 않은 아키텍쳐.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;자바스크립트로 로직을 구현하는 것은 어울리지 않다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;typeless 언어가 가져야하는 코드 가독성이 javascript는 부족하기 때문.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;rails&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;ruby언어의 장점을 근간으로한 뛰어난 가독성, 그리고 표현력.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;twitter, github, redmine 이라는 성공적인 도입 사례.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;검증된 빠른 개발 속도.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;rails로 서비스를 개발한 후, 서비스 트래픽이 높아지는 단계에서 다른 플랫폼으로 갈아타는 사례가 많다는 것이 이를 입증함.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;MVC 모델을 온전히 구현하고 있다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;github로 공개된 기능 패키지 수 3위 권을 다 년간 유지하고 있다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;가져다 쓸 수 있는 기능이 아주 많다는 의미.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;비동기 API가 너무나 부족함.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GIL과 부족한 비동기 API로 인한 성능 이슈가 크게 대두 됨.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;python 보다도 느림&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;성능 문제로 인한 최적화 한계를, 다른 플랫폼으로 풀었다는 것은, rails의 미래에 대한 큰 숙제다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;이로 인해, 고도화 과정이 반드시 필요하며, 고도화 과정은 rails 이외의 영역에 대한 높은 이해도가 필요한 경우가 많다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;과도한 수준의 추상화로, 원리를 이해하는 데에는 여타 플랫폼보다 더 큰 시간이 든다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;asp.net&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;C# 사용 가능&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Visual Studio 위에서 개발 가능&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;MVC 패턴을 제대로 지원함.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Model, View, Controller로 프로그램이 분할되어 복잡성을 다루기 쉬워집니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;ViewState, 서버 기반 폼(server-based form)을 사용하지 않아서, Web 응용 프로그램에 대한 완전한 제어를 원하는 개발자들에게 이상적인 환경입니다. (WebForm에 비해서 MVC는 추상화의 수준이 낮습니다. WebForm의 경우, WebForm만 알아도 어떻게든 돌아가는 Website를 만들 수 있지만, MVC는 그게 안 됩니다. 그러다 보니 1강에서처럼 그렇게 많은 선수 과목이 필요하게 되었습니다. )&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Website의 흐름을 마음대로 제어할 수 있습니다. 과거 WebForm에서는 blog.net/posts/23 같은 주소로 글을 접근할 수 있게 하려면, IIS를 건드려야 했지만, MVC에서는 매우 쉽게 이 문제를 해결할 수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;테스트 주도 개발(Test-Driven Development, TDD)을 하기에 좋습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: square; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;큰 팀에서 많은 개발자와 디자이너들이 Web 응용 프로그램에 높은 수준의 제어를 원한다면 추천할만합니다. &amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;윈도우 서버 위에서만 온전히 동작.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;개발자 풀이 좁음.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;오픈소스권 문화가 아니라서 MS가 제공하지 않는 기능은 .NET 플랫폼 지원언어로 개발해야함.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;spring [java]&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;크기와 부하의 측면에서 경량.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;제어 역행(IoC)이라는 기술을 통해 애플리케이션의 느슨한 결합을 도모.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;관점지향(AOP) 프로그래밍을 위한 풍부한 지원을 함.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;애플리케이션 객체의 생명 주기와 설정을 포함하고 관리한다는 점에서 일종의 컨테이너(Container)라고 할 수 있음.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;간단한 컴포넌트로 복잡한 애플리케이션을 구성하고 설정할 수 있음.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;대한민국 전자정부 표준 프레임워크의 기반 기술&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;설정이 복잡한 편이다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;컴포넌트가 다양한 건 사실이나, 컴포넌트로 존재하지 않는 기능을 사용할 경우에 개발 공수가 크다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;play [play]&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;국내의 많은 교육기관에서 가르치고 있는 Java 기반 프레임워크인 만큼 누구나 쉽게 접근할 수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;웹 서버를 내장하고 있어 별도로 서버를 세팅할 필요가 없다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;일반적인 Java 어플리케이션은 빌드하는데 굉장히 오랜 시간이 소모되지만, Play의 경우 변경된 내역에 대해 자동으로 빠르게 빌드하기 때문에 개발 및 테스트 시간을 크게 줄일 수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;가장 훌륭한 IDE인 Eclipse와 Intellij에서 Play!를 완벽하게 지원합니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;한글로 된 문서가 거의 없습니다. 진행중이던 문서화 작업이 중단되었으며, 관련 서적과 블로그를 통해 제공되는 강좌들은 오래되어 Play! 최신 버전과 맞지 않습니다. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;번들이라고 하는 서드파티 모듈들이 많지 않고 그나마 있는 것들도 프레임워크 버전에 맞춰서 버전업이 되지 않아 활용 가치가 매우 낮습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Twitter의 Rails나 Instagram의 Django와 같은 성공적인 도입 사례가 아직까지 없습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Java와 Scala를 골라서 개발할 수 있다고 이야기하지만 실제로 Scala를 공부하지 않으면 개발을 진행하기 어려울 정도로 Scala의 비중이 높습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;code igniter [php]&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;장점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;PHP 기반 full stack framework 중에서 성능이 매우 뛰어납니다.(Phalcon과 Slim은 경량 프레임워크)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;서비스가 성장하여 개발 인력을 늘려야 할 때 비교적 쉽게 관련 기술 보유자를 구할 수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: disc; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;단점&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;RESTful 서비스에 적합한 구조가 아닙니다. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Session 처리가 안정적이지 않고, DB Session 만을 지원하기 때문에 File이나 Memory 기반의 Session을 사용하기 위해서는 별도의 개발이 필요합니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;PHP 언어 특성상 구조적으로 깔끔한 코드 작성이 어렵습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type: circle; font-size: 14.6667px; font-family: Arial; background-color: transparent; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; background-color: transparent; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;ORM 기반의 Model이 아니라 코드를 통해 스키마를 파악하기 어렵습니다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Web/Django</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/652</guid>
      <comments>https://elky.tistory.com/652#entry652comment</comments>
      <pubDate>Tue, 27 Sep 2016 21:16:40 +0900</pubDate>
    </item>
    <item>
      <title>CentOS7 MySQL 설치</title>
      <link>https://elky.tistory.com/651</link>
      <description>&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;font-size:26.666666666666664px;font-family:Arial;color:#4a86e8;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;CentOS7 MySQL 설치&lt;/span&gt;&lt;/h1&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;설치&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;yum -y install&lt;/span&gt;&lt;a href=&quot;http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;yum -y install mysql-community-server&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;systemctl start mysqld&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;systemctl enable mysqld&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;계정 생성 및 권한 부여&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span id=&quot;docs-internal-guid-81d348ce-a6a6-eace-bc09-8a12e450181b&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://zero-gravity.tistory.com/274&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://zero-gravity.tistory.com/274&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://link2me.tistory.com/431&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://link2me.tistory.com/431&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>OS/Linux</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/651</guid>
      <comments>https://elky.tistory.com/651#entry651comment</comments>
      <pubDate>Sat, 20 Aug 2016 15:33:09 +0900</pubDate>
    </item>
    <item>
      <title>CentOS7 redmine 설치</title>
      <link>https://elky.tistory.com/650</link>
      <description>&lt;h1 dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:20pt;margin-bottom:6pt;&quot;&gt;&lt;span style=&quot;font-size:26.666666666666664px;font-family:Arial;color:#4a86e8;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;CentOS7 Redmine 설치&lt;/span&gt;&lt;/h1&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;방화벽 개방&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;​firewall-cmd --permanent --zone=public --add-port=3000/tcp&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;firewall-cmd --reload&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;GCC 설치&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;yum -y install gcc cpp gcc-c++ compat-gcc-34 gcc-gfortran flex&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Ruby와 Passenger 빌드에 필요한 헤더파일&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Mysql과 헤더파일&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;yum install mysql-server mysql-devel&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Apache과 헤더파일&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;yum install httpd httpd-devel&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;ImageMagick과 헤더파일&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;yum install ImageMagick ImageMagick-devel&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot; id=&quot;docs-internal-guid-79ba908b-a6a5-e61a-d88d-5ac962dcc585&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Ruby설치&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;소스다운로드&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://www.ruby-lang.org/ko/downloads/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://www.ruby-lang.org/ko/downloads/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://cache.ruby-lang.org/pub/ruby/2.3/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://cache.ruby-lang.org/pub/ruby/2.3/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;cd /usr/local&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;wget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;tar zxvf ruby-2.3.0.tar.gz&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;cd ruby-2.3.0&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;./configure --disable-install-doc&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;make&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;make install&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;make clean&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Bundler 설치&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;gem install bundler --no-rdoc --no-ri&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;redmine 설치 3.16 안정화버젼이라서 이거 선택함&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;wget http://www.redmine.org/releases/redmine-3.1.6.tar.gz #/usr/local 에서 작업중&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;tar zxvf redmine-3.1.6.tar.gz&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;mv redmine-3.1.6 /usr/local/redmine #폴더명변경&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;설정 파일&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;cd /usr/local/redmine/config&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;cp database.yml.example database.yml&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;vi database.yml&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;production:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;adapter: mysql&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;database: redmine&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;host: localhost&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;username: redmine&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;password: redmine&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;encoding: utf8&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Gem Package 설치&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;bundle install --without development test&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;테이블 생성 및 초기 데이터 입력&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;cd /usr/local/redmine 으로 이동하&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;rake generate_secret_token&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;RAILS_ENV=production rake db:migrate&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;RAILS_ENV=production rake redmine:load_default_data&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;#한국어 ko 입력&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;구동&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;bundle exec rails server webrick -e production -d -b 0.0.0.0&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;데몬으로 실행 여기까지 끝&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;FAQ&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;설치 중에 bundle install 시 에러 내용을 자세히 보면 마지막 문구에 뭐를 설치하라고 gem 뭐뭐뭐 이렇게 명령어 나오는데 복사해서 그걸 그대로 입력해서 설치 후 bundle install 다시 실행해야 한다. bundle인스톨은 /usr/local/redmine 에서 해야 한다&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;gem 인스톨 안될시에 gem query --remote -n 이름-d -a 이 명령어로 버젼 높은걸로 찾아서 인스톨&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;redmine 테마&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;/usr/local/redmine/public/theme 이쪽폴더에 넣고 재시작&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;redmine 플러그인&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;/usr/local/redmine/plugins 폴더에 넣고 /usr/local/redmine 에서 하단을 실행하여 플러그인을 추가해야한다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;bundle install --without development test&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;rake redmine:plugins:migrate RAILS_ENV=production&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;redmine 구글이용하여 메일보내기&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;cd /usr/local/redmine/config #에서 configuration.yml.example 을 configuration.yml로 만든후&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;vi configuration.yml #들어가서&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;production:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;email_delivery:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;delivery_method: :smtp&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;smtp_settings:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;enable_starttls_auto: true&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;address: &quot;smtp.gmail.com&quot;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;port: 587&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;domain: &quot;smtp.gmail.com&quot; # 'your.domain.com' for GoogleApps&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;authentication: :plain&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;user_name: &quot;계정명@gmail.com&quot;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;margin-left: 36pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;password: &quot;비밀번호”&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;rmagick_font_path: /usr/share/fonts/nanumfont/NanumGothic.ttf&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이렇게 해도 메일이 안 보내지는 이유는 구글 계정에 대한 보안 설정 오류 일 가능성이 높음.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://www.google.com/settings/security/lesssecureapps&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://www.google.com/settings/security/lesssecureapps&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;기서 보안 수준 낮은거 설정하고 2차 인증 설정하지 안 해야지 메일 보내집니다&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Redmine 관리&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;http://www.whatwant.com/367&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;http://www.whatwant.com/367&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>OS/Linux</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/650</guid>
      <comments>https://elky.tistory.com/650#entry650comment</comments>
      <pubDate>Sat, 20 Aug 2016 15:32:29 +0900</pubDate>
    </item>
    <item>
      <title>FlatBuffers Guide</title>
      <link>https://elky.tistory.com/648</link>
      <description>&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://google.github.io/flatbuffers/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://google.github.io/flatbuffers/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot; id=&quot;docs-internal-guid-78d67695-105c-3104-e4b5-ffc190a24c87&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:3pt;&quot;&gt;&lt;span style=&quot;font-size:34.666666666666664px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;FlatBuffers Documentation&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;flatbuffers는 효율적인 크로스 플랫폼 직렬화 라이브러리이다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;C++, C#, C, Go, Java, JavaScript, PHP, Python을 지원한다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이건 원래 구글이 게임 개발과 또다른 성능이 치명적인 프로그램을 위해 만들어졌다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이것은 아파치 라이센스 v2 기반의 github 오픈소스로써 사용 가능하다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;왜 Flatbuffers를 쓰는가?&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;parsing이나, unpacking 전에도, 직렬화 데이터에 접근 가능하다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:circle;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;메모리가 효율이 좋고, 빠르다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;유연하다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;경량 코드&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;강한 타입 처리&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;편리한 사용&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;종속성 없는 크로스 플랫폼 코드&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:3pt;&quot;&gt;&lt;span style=&quot;font-size:34.666666666666664px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;writing a schema&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;C계열 언어 사용자들과 또 다른 언어 사용자들에게 또한 친숙한 스키마 언어 문법으로 작성된다. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.503409090909091;margin-top:3pt;margin-bottom:3pt;margin-left: 2pt;margin-right: 6pt;&quot;&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#880000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;// example IDL file&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;namespace&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;MyGame&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;attribute &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#008800;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&quot;priority&quot;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Color&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Red&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Green&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Blue&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;union&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Any&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Monster&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Weapon&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Pickup&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Vec3&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;x&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;y&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;z&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;table &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Monster&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;pos&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Vec3&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;mana&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;short&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;150&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;hp&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;short&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;name&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;friendly&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000088;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;deprecated&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; priority&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#006666;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;inventory&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:[&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;ubyte&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;];&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;color&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Color&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Blue&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; &amp;nbsp;test&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Any&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#666600;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#000000;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;root_type &lt;/span&gt;&lt;span style=&quot;font-size:12px;font-family:Consolas;color:#660066;background-color:#fbfcfd;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Monster;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;(Weapon &amp;amp; Pickup not defined as part of this example)&lt;/span&gt;&lt;/p&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height:1.92;margin-top:24pt;margin-bottom:12pt;&quot;&gt;&lt;span style=&quot;font-size:20px;font-family:Arial;color:#212121;background-color:#ffffff;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Tables&lt;/span&gt;&lt;/h3&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;테이블은 flatbuffers의 오브젝트를 정의하는 주된 방법이고, 이름과 필드 목록을 가지고 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;각 필드는 이름, 타입, 선택 사항으로 기본 값을 가진다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;각 필드의 선택 사항 : 이건 반드시 표현 할 필요는 없다, 그리고 당신은 개별 필드 누락을 선택 할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;결과 같이, 당신은 유연하게 데이터의 팽창을 두려워하지 않고, 필드를 추가해도 된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이 디자인은 flatbuffers의 메커니즘의 전방위적, 배경적 호환성을 위함 이기도 하다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Note that:&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;새 필드는 스키마의 테이블 정의 끝에&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;만&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; 추가할 수 있다. 오래된 데이터는 아직 정확히 읽을 수 있고, 그리고 당신은 읽을 때의 기본 값을 줄 수 있다.&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;오래된 코드는 단순하게 새 필드를 무시 할 수 있다.&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br class=&quot;kix-line-break&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;만일 당신이 유연성을 원한다면, 특정 순서 보장을 원한다면, 수동으로 대입 (protbuf와 매우 유사), id 속성 아래를 봐라.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;당신은 최신 스키마로부터 필드를 삭제를 할 수 없다, 그러나 단순하게 당신의 그 곳에 데이터를 기록하는 걸 멈추는 것과 거의 비슷한 효과를 낼 수 있다. 위의 예제를 보면 부가적으로 당신은 그 곳에 deprecated &amp;nbsp;마크를 할 수 있고, &amp;nbsp;C++로 생성 되어 있던 접근자들로부터 &amp;nbsp;보호 될 거고, 필드가 더 이상 사용되지 않는 것으로 시행하는 방법이다. (조심해 : 이건 깨질 수 있는 코드야!)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이름이 변경 된 것들과 원래와 같은 때 까지 코드가 깨지는지 확인한다면, 필드 이름과 테이블 이름을 바꿀 수 있어.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;밑에 스키마 진화 예제를 확인하자~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height:1.92;margin-top:24pt;margin-bottom:12pt;&quot;&gt;&lt;span style=&quot;font-size:20px;font-family:Arial;color:#212121;background-color:#ffffff;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Structs&lt;/span&gt;&lt;/h3&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;테이블과 유사하고, 오직 현재 비어있는 필드는 선택적이고 (그래서 디폴트 없음 쪽이나), 그리고 필드는 추가하지 못하거나, deprecated일 것이다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Structs는 오직 수치형 자료나 또 다른 Structs만을 포함 할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;단순한 자료형이나, 매우 확정 적으로 영원히 안 바뀔 것들을 만들 때 써라. ( 꽤 분명한 예는 Vec3)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Structs는 table보다 적은 메모리를 사용하고, 빠른 접근도 가능하다. (그것은 항상 그들의 부모 오브젝트에서 in-line되고, 가상 테이블을 사용하지 않는다)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height:1.92;margin-top:24pt;margin-bottom:12pt;&quot;&gt;&lt;span style=&quot;font-size:20px;font-family:Arial;color:#212121;background-color:#ffffff;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;Types&lt;/span&gt;&lt;/h3&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;내장 수치 타입&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;8bit : byte, ubyte, bool&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;16bit : short, ushort&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;32bit : int, uint, float&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;64bit : long, ulong, double&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;내장 비-수치 타입&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;다른 타입의 Vector, 계층화 된 벡터는 지원하지 않고, 대신 당신은 테이블안에 내부 벡터로 감쌀 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;string, UTF-8이나 7-bit ASCII로 고정되어 있다. 다른 텍스트 인코딩 또는 일반 바이너리 데이터는 벡터([byte] or [ubyte])로 대체 할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;list-style-type:disc;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;또다른 tables나 structs, enums, unions 참고해라. (밑을 보시오)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;필드 타입은 한번 사용되고 나면 바꿀 수 없다, 예외적으로 같은 사이즈 데이터에 reinterpret_cast를 사용하면 원하는 결과를 얻을 수 있다, 예를 들어 현재 사용되고 있던 최상위 비트 값이 없는 경우 uint를 int로 바꿀 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;a href=&quot;https://google.github.io/flatbuffers/md__cpp_usage.html&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#1155cc;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;https://google.github.io/flatbuffers/md__cpp_usage.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Network</category>
      <category>flatbuffers</category>
      <category>IDL</category>
      <category>network serialize</category>
      <category>serialize</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/648</guid>
      <comments>https://elky.tistory.com/648#entry648comment</comments>
      <pubDate>Fri, 22 Jul 2016 11:10:40 +0900</pubDate>
    </item>
    <item>
      <title>서버 개발 및 운영에 필요한 작업</title>
      <link>https://elky.tistory.com/647</link>
      <description>&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;오늘은 많은 서버 개발자 분들이 (그리고 더 많은 다른 파트 개발자 분들이) 알고 계신데 막상 개발 플랜에 누락되는 일이 비일비재한 것들에 대해 이야기 해보고자 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;많은 팀이 겪게되는 가상 시나리오를 그려보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot; id=&quot;docs-internal-guid-8c33a4b8-df93-9f3d-bbe8-fd9fe8c816ed&quot;&gt;&lt;br /&gt;--------------------------------------------------------------------------------------------&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;프로토타이핑이 성공적이었습니다!&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;개발팀이 세팅 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;개발 언어, 플랫폼, 엔진 (or 프레임워크)등을 정하게 되죠.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;베이스 작업 기간으로 한달 정도 잡습니다. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;컨텐츠별로 1주~2주 사이를 잡습니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;그리고 각 컨텐츠가 다 완성되고 폴리싱 작업으로 한달 잡네요.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;네. 좋습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;대략 컨텐츠가 8개 정도 되네요.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;평이한 컨텐츠가 다수라 8주라 예상해봅시다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;베이스 작업+컨텐츠해서 3달 나왔네요.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;폴리싱까지 4달이었죠?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;여유 기간 포함해서 5달 질러봅니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;오오!! 승인됐네요.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;자~ 작업에 들어갑니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;베이스 작업은 예상대로 잘 됩니다. 오히려 시간이 조금 남았네요?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;작은 오차들과 예상외 변수가 있었지만 그럭저럭 개발 기간을 맞췄군요!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;기능도 오류가 좀 있지만, 폴리싱 기간에 집중하면 될거 같은 양입니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;출시 문제 없겠네요. 하하하~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;… 헌데… 예상치 못한 일들이 끼어들어오기 시작합니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(255, 0, 0); font-weight: 700; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;GM툴&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;과 사용법을 달라고 하시는군요.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;… 헐...꼭 해줘야할까…? 고민도 되고 반려도 하고 싶지만, 서비스를 위해 꼭 필요한 기능이죠. &lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;갑자기 머리가 아파집니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;우선 GM툴이 만들어질때까지, DB쿼리를 만들어 테스트를 지원합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;자...다른 일정을 몇개 양보받고, 시간을 쪼개고 쪼개서 GM툴을 만들어 제공합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이전보다 원활한 테스트가 진행되는군요.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;자 이제 출시 준비를 하려는데… &lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(255, 0, 0); font-weight: 700; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;통계툴&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;을 요청받습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;….-_- 더 시간을 확보할 방법도 없는데…&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;최소한의 기능만 볼 수 있게 끼워 넣습니다…&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;남기고 있는 로그가 추출하기 적절한 로그가 아니라, &lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(255, 0, 0); font-weight: 700; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;로그 기록 작업&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;을 하느라 더 시간 소모가 컸군요.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;어라? 당연히 필요한 &lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(255, 0, 0); font-weight: 700; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;결제 기능&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이 없었군요?&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;지원 해야 될 스토어가 세종류네요…&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;스토어별로 처리 방식이 달라, 세번 다 따로 구현해야 되겠군요...&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;자 어떻게든 선택과 집중을 통해 몇몇 기능과 퀄리티를 양보하며, 필요한 백엔드 작업을 &amp;nbsp;그럭저럭 마친 것 같습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;게임을 출시합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;가아아아암동~ 몇달간의 노력이 드디어 빛을 발할 때 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;유저가 몰립니다. 우오오오오~~&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;서버를 증설합니다!&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이제 서버가 50대로 구성됐습니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이제 점검을 할 때마다 50대에 &lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;배포&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt; 해야 되네요…&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;한대당 2분 잡아도 패치만 100분이군요.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;다행히 우린 서버 프로그래머가 2명이니 50분 정도면 될까요?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;부족한 운영툴의 기능으로, 서버 데이터 패치로 &lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(255, 0, 0); font-weight: 700; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;이벤트&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;를 진행합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;밤이 되었습니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;유저는 여전히 많네요. 불안불안합니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;새벽 3시가 됐음에도 유저는 별로 줄어들지 않네요. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;혹시 몰라 서버 50대를 순회하며, 오류 로그를 &lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(255, 0, 0); font-weight: 700; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;모니터링&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;헐…! 사고가 났네요. 복구 및 보상을 해줘야겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;… 점검시점에서 모든 유저에게 보상을 주자니 너무 많네요.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;로그인시 아이템을 지급하는 &lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(255, 0, 0); font-weight: 700; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;보상 시스템&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;을 구현합니다…&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;…하… 복구를 하려했더니 백업된 데이터가 부족하네요. &lt;/span&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; color: rgb(255, 0, 0); font-weight: 700; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;백업/복구 시스템&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;을 못갖춰놨었습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;이대로 롤백해야 되는걸까요…?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;--------------------------------------------------------------------------------------------&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;자… 이쯤 되면 감이 오시나요?&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;서버라는 포지션 자체는 당연하게도 서비스를 위해 존재합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;비지니스 로직이 아닌 작업이 이렇게나 많이 필요하고, 당연히 많은 시간이 필요합니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;물론 제가 나열한 작업 중에 여러 작업이 지원 부서가 있는 회사. 혹은 퍼블리셔에서 제공되는 기능들도 많습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;하지만 의외로 원하는 기능들 중 빠졌거나, 기능은 제공되지만 세부적인 기능이 달라 사용할 수 없는 일도 비일 비재합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;혹은 원하는 기능이 모두 있는 서비스는 비용이 비싸서 사용하기 부담스러운 경우도 생기지요.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;가장 큰 문제는 &lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;이런 백엔드 작업들이 개발 초기 단계부터 일정 산정에 고려 대상이 아닐 때가 많다는&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;점&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;입니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;개발 담당자가 직접 어필하지 않으면, 백엔드 작업은 프로젝트 전체 일정 산정에 고려되지 않을 공산이 큽니다. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-weight:normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;개발 초기 서비스 일정을 산정하셔야 되는 분들이라면, 이 글을 읽으시고 하나라도 더 떠올리시어 백엔드 작업 일정과 작업 계획도 수립하시길 바라며 마치겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height:1.38;margin-top:0pt;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;&quot;&gt;-----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;컨텐츠 제외 필요 작업 요약&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt; line-height: 1.38;&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; font-family: Arial; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;&quot;&gt;-----------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: Arial; font-size: 14.6667px; font-weight: bold; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;GM툴&lt;/span&gt;&lt;font face=&quot;Arial&quot;&gt;&lt;span style=&quot;font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: Arial; font-size: 14.6667px; font-weight: bold; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;통계툴&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: Arial; font-size: 14.6667px; font-weight: bold; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;로그 기록 작업&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: Arial; font-size: 14.6667px; font-weight: bold; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;결제 기능&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;b style=&quot;font-family: Arial; font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;배포&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;b style=&quot;font-family: Arial; font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;이벤트&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;b style=&quot;font-family: Arial; font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;모니터링&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;b style=&quot;font-family: Arial; font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;보상 시스템&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;&lt;b style=&quot;font-family: Arial; font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;백업/복구 시스템&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description>
      <category>BlahBlah</category>
      <category>백엔드</category>
      <category>서버 개발</category>
      <category>일정 산정</category>
      <author>엘키</author>
      <guid isPermaLink="true">https://elky.tistory.com/647</guid>
      <comments>https://elky.tistory.com/647#entry647comment</comments>
      <pubDate>Tue, 12 Jul 2016 23:50:54 +0900</pubDate>
    </item>
  </channel>
</rss>