<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>워너비스페셜</title>
    <link>https://takeuu.tistory.com/</link>
    <description>29</description>
    <language>ko</language>
    <pubDate>Mon, 6 Jul 2026 21:39:58 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>takeUU</managingEditor>
    <image>
      <title>워너비스페셜</title>
      <url>https://t1.daumcdn.net/cfile/tistory/2771163658D37B352B</url>
      <link>https://takeuu.tistory.com</link>
    </image>
    <item>
      <title>웹 표준 및 HTML 마크업 시 유의사항</title>
      <link>https://takeuu.tistory.com/149</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://takeu.tistory.com/361&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://takeu.tistory.com/361&lt;/a&gt;&lt;/p&gt;</description>
      <category>개발/HTML</category>
      <category>159</category>
      <category>Front-end</category>
      <category>HTML</category>
      <category>웹개발</category>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/149</guid>
      <comments>https://takeuu.tistory.com/149#entry149comment</comments>
      <pubDate>Thu, 22 Dec 2022 16:20:34 +0900</pubDate>
    </item>
    <item>
      <title>[공지] 블로그 이전합니다</title>
      <link>https://takeuu.tistory.com/277</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://takeu.tistory.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://takeu.tistory.com&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1625141218829&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;takeU&quot; data-og-description=&quot; &quot; data-og-host=&quot;takeu.tistory.com&quot; data-og-source-url=&quot;http://takeu.tistory.com&quot; data-og-url=&quot;https://takeu.tistory.com&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mAba1/hyKLwZbG7l/dOfuZ5bVe48kF9xE1yAN10/img.jpg?width=428&amp;amp;height=428&amp;amp;face=0_0_428_428,https://scrap.kakaocdn.net/dn/rWUBB/hyKLzVUz7h/gPeUkbBymNSkt12dQkIkE1/img.jpg?width=428&amp;amp;height=428&amp;amp;face=0_0_428_428,https://scrap.kakaocdn.net/dn/bTlZe5/hyKKGI7bPC/HKvVQF7Q6grhRA7pnMkzJk/img.jpg?width=428&amp;amp;height=428&amp;amp;face=0_0_428_428&quot;&gt;&lt;a href=&quot;http://takeu.tistory.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;http://takeu.tistory.com&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mAba1/hyKLwZbG7l/dOfuZ5bVe48kF9xE1yAN10/img.jpg?width=428&amp;amp;height=428&amp;amp;face=0_0_428_428,https://scrap.kakaocdn.net/dn/rWUBB/hyKLzVUz7h/gPeUkbBymNSkt12dQkIkE1/img.jpg?width=428&amp;amp;height=428&amp;amp;face=0_0_428_428,https://scrap.kakaocdn.net/dn/bTlZe5/hyKKGI7bPC/HKvVQF7Q6grhRA7pnMkzJk/img.jpg?width=428&amp;amp;height=428&amp;amp;face=0_0_428_428');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;takeU&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;takeu.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블로그&amp;nbsp;시작할&amp;nbsp;때&amp;nbsp;takeu를&amp;nbsp;쓰고있는&amp;nbsp;분이&amp;nbsp;있어서&amp;nbsp;uu로&amp;nbsp;했는데,&amp;nbsp;우연히&amp;nbsp;다시&amp;nbsp;찍어보니&amp;nbsp;블로그가&amp;nbsp;사라져서&amp;nbsp;이사합니다!&lt;br /&gt;&lt;br /&gt;지금까지&amp;nbsp;썼던글들&amp;nbsp;내용보충하면서&amp;nbsp;차차&amp;nbsp;옮길&amp;nbsp;예정이니&amp;nbsp;많이&amp;nbsp;놀러와주세용&lt;/p&gt;</description>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/277</guid>
      <comments>https://takeuu.tistory.com/277#entry277comment</comments>
      <pubDate>Thu, 1 Jul 2021 21:07:10 +0900</pubDate>
    </item>
    <item>
      <title>[공지] 블로그 이전합니다!</title>
      <link>https://takeuu.tistory.com/notice/276</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;http://takeu.tistory.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;http://takeu.tistory.com&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블로그&amp;nbsp;시작할&amp;nbsp;때&amp;nbsp;takeu를&amp;nbsp;쓰고있는&amp;nbsp;분이&amp;nbsp;있어서&amp;nbsp;uu로&amp;nbsp;했는데,&amp;nbsp;우연히&amp;nbsp;다시&amp;nbsp;찍어보니&amp;nbsp;블로그가&amp;nbsp;사라져서&amp;nbsp;이사합니다!&lt;br /&gt;&lt;br /&gt;지금까지&amp;nbsp;썼던글들&amp;nbsp;내용보충하면서&amp;nbsp;차차&amp;nbsp;옮길&amp;nbsp;예정이니&amp;nbsp;많이&amp;nbsp;놀러와주세용&lt;/p&gt;</description>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/notice/276</guid>
      <pubDate>Thu, 1 Jul 2021 21:06:12 +0900</pubDate>
    </item>
    <item>
      <title>소프트웨어 마에스트로 12기 준비 후기</title>
      <link>https://takeuu.tistory.com/272</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://takeu.tistory.com/42&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://takeu.tistory.com/42&lt;/a&gt;&lt;/p&gt;</description>
      <category>개발/기타</category>
      <category>소마 12기</category>
      <category>소마광탈</category>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/272</guid>
      <comments>https://takeuu.tistory.com/272#entry272comment</comments>
      <pubDate>Wed, 12 May 2021 21:50:52 +0900</pubDate>
    </item>
    <item>
      <title>[JS] 자바스크립트 문자열 메소드</title>
      <link>https://takeuu.tistory.com/263</link>
      <description>&lt;h1&gt;JavaScript 문자열 메소드 ( String method )&lt;/h1&gt;
&lt;p&gt;자바스크립트에서 자주 쓰이는 문자열 메소드를 정리&lt;br&gt;자바스크립트는 문자열을 배열과 같이 사용할 수 있기 때문에&lt;br&gt;배열과 중복되는 메소드는 제외하고 나머지만 정리&lt;/p&gt;
&lt;h2&gt;charCodeAt()&lt;/h2&gt;
&lt;p&gt;주어진 인덱스에 대한 &lt;strong&gt;UTF-16&lt;/strong&gt; 코드를 나타내는 0부터 65535 사이의 정수를 반환&lt;br&gt;인자 - index ( 0 ~ str.length-1 )&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;const str = &amp;#39;abcd&amp;#39;;
str.charCodeAt(0); // 97
str.charCodeAt(1); // 98&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;repeat()&lt;/h2&gt;
&lt;p&gt;주어진 문자열을 반복하는 메소드&lt;br&gt;인자 - count&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;const str = &amp;#39;abc&amp;#39;;
str.repeat(2); // &amp;#39;abcabc&amp;#39;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;replace()&lt;/h2&gt;
&lt;p&gt;패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환&lt;br&gt;정규식 또는 문자열로 패턴을 설정할 수 있다.&lt;br&gt;인자 - pattern, replacement or function&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;const str = &amp;#39;abcdabcd&amp;#39;;
str.replace(&amp;#39;ab&amp;#39;, &amp;#39;kkk&amp;#39;); // &amp;#39;kkkcdabcd&amp;#39;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;pattern에 문자열을 넣는다면 가장먼저 탐색되는 한개만 변경&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;const str = &amp;#39;abcdabcd&amp;#39;;
str.replace(/ab/gi, &amp;#39;kkk&amp;#39;); // &amp;#39;kkkcdkkkcd&amp;#39;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;정규식을 활용해 전체검색을 하면 해당 문자열 전체에서 탐색 후 변경&lt;/p&gt;
&lt;h2&gt;split();&lt;/h2&gt;
&lt;p&gt;문자열을 배열로 변환할 때 사용&lt;br&gt;seperator를 기준으로 나눔&lt;br&gt;인자 - seperator, limit ( optional )&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;const str = &amp;#39;abcde&amp;#39;;
str.split(); // [&amp;#39;abcde&amp;#39;]
str.split(&amp;#39;&amp;#39;); // [&amp;#39;a&amp;#39;,&amp;#39;b&amp;#39;,&amp;#39;c&amp;#39;,&amp;#39;d&amp;#39;,&amp;#39;e&amp;#39;]
str.split(&amp;#39;c&amp;#39;); // [&amp;#39;ab&amp;#39;,&amp;#39;d&amp;#39;]
str.split(&amp;#39;&amp;#39;, 3); // [&amp;#39;a&amp;#39;,&amp;#39;b&amp;#39;,&amp;#39;c&amp;#39;]&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;toUpperCase(), toLowerCase()&lt;/h2&gt;
&lt;p&gt;대문자, 소문자로 변형시 사용&lt;br&gt;인자 - X&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;let str = &amp;#39;abcd&amp;#39;;
str = str.toUpperCase();
console.log(str) // &amp;#39;ABCD&amp;#39;
str = str.toLowerCase();
console.log(str) // &amp;#39;abcd&amp;#39;&lt;/code&gt;&lt;/pre&gt;</description>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/263</guid>
      <comments>https://takeuu.tistory.com/263#entry263comment</comments>
      <pubDate>Wed, 13 Nov 2019 15:38:12 +0900</pubDate>
    </item>
    <item>
      <title>[JS] 자바스크립트 배열 메소드</title>
      <link>https://takeuu.tistory.com/102</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://takeu.tistory.com/25&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://takeu.tistory.com/25&lt;/a&gt;&lt;/p&gt;</description>
      <category>개발/JavaScript</category>
      <category>Front-end</category>
      <category>JavaScript</category>
      <category>웹개발</category>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/102</guid>
      <comments>https://takeuu.tistory.com/102#entry102comment</comments>
      <pubDate>Wed, 13 Nov 2019 15:37:15 +0900</pubDate>
    </item>
    <item>
      <title>JS알고리즘 문제 풀이시 자주 사용되는 테크닉</title>
      <link>https://takeuu.tistory.com/217</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://takeu.tistory.com/31&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://takeu.tistory.com/31&lt;/a&gt;&lt;/p&gt;</description>
      <category>개발/JavaScript</category>
      <category>159</category>
      <category>JavaScript</category>
      <category>알고리즘</category>
      <category>웹개발</category>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/217</guid>
      <comments>https://takeuu.tistory.com/217#entry217comment</comments>
      <pubDate>Wed, 13 Nov 2019 15:34:02 +0900</pubDate>
    </item>
    <item>
      <title>CSS 중앙정렬 가이드</title>
      <link>https://takeuu.tistory.com/57</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://takeu.tistory.com/18&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://takeu.tistory.com/18&lt;/a&gt;&lt;/p&gt;</description>
      <category>개발/CSS</category>
      <category>CSS</category>
      <category>Front-end</category>
      <category>HTML</category>
      <category>웹개발</category>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/57</guid>
      <comments>https://takeuu.tistory.com/57#entry57comment</comments>
      <pubDate>Thu, 31 Oct 2019 16:27:15 +0900</pubDate>
    </item>
    <item>
      <title>4. Redux-saga의 흐름</title>
      <link>https://takeuu.tistory.com/259</link>
      <description>&lt;div style=&quot;font-family: 'Lucida Grande', 'Segoe UI', 'Apple SD Gothic Neo', 'Malgun Gothic', 'Lucida Sans Unicode', Helvetica, Arial, sans-serif; font-size: 0.9em; overflow-x: hidden; overflow-y: auto; margin: 0px !important; padding: 5px 20px 26px !important; background-color: rgb(255, 255, 255);font-family: 'Hiragino Sans GB', 'Microsoft YaHei', STHeiti, SimSun, 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', 'Segoe UI', AppleSDGothicNeo-Medium, 'Malgun Gothic', Verdana, Tahoma, sans-serif; padding: 20px;padding: 20px; color: rgb(34, 34, 34); font-size: 15px; font-family: 'Roboto Condensed', Tauri, 'Hiragino Sans GB', 'Microsoft YaHei', STHeiti, SimSun, 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', 'Segoe UI', AppleSDGothicNeo-Medium, 'Malgun Gothic', Verdana, Tahoma, sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; background: rgb(255, 255, 255);&quot;&gt;&lt;h2 id=&quot;redux-saga란?&quot; style=&quot;clear: both;font-size: 1.8em; font-weight: bold; margin: 1.275em 0px 0.85em;margin-top: 0px;border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(230, 230, 230);font-family: Lato; font-weight: normal;&quot;&gt;&lt;a name=&quot;redux-saga란?&quot; href=&quot;#redux-saga란?&quot; style=&quot;text-decoration: none; vertical-align: baseline;color: rgb(50, 105, 160);font-family: Lato; font-weight: normal;&quot;&gt;&lt;/a&gt;redux-saga란?&lt;/h2&gt;&lt;p style=&quot;margin-top: 0px;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;우선 redux-saga에 대한 설명은 과감히 생략..ㅋㅎㅋ&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;사가를 써보기로 한 사람중 대부분은 공식 문서를 읽고 왔을 것이라 생각하고&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;어느정도 돌아가는 흐름은 알 것이라 생각해 따로 적지 않음.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;흐름은 어느정도 알겠지만 코드에 적용하기 힘들어서 구글링 하다가 이 블로그까지 오게 되셨을거라고도 생각하니&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;리덕스 사가를 왜 어떻게 사용하는지 아주 짧은 경험을 바탕으로 적을 예정.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;당연히 틀린 부분이 있을 수 있으니 항상 의심하면서 읽으시고&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;내 생각과 다른 부분이 있다면과감하게 지적 부탁드립니다.,ㅎㅎ&lt;/p&gt;&lt;h2 id=&quot;redux-saga를-사용하기로-한-이유&quot; style=&quot;clear: both;font-size: 1.8em; font-weight: bold; margin: 1.275em 0px 0.85em;border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(230, 230, 230);font-family: Lato; font-weight: normal;&quot;&gt;&lt;a name=&quot;redux-saga를-사용하기로-한-이유&quot; href=&quot;#redux-saga를-사용하기로-한-이유&quot; style=&quot;text-decoration: none; vertical-align: baseline;color: rgb(50, 105, 160);font-family: Lato; font-weight: normal;&quot;&gt;&lt;/a&gt;redux-saga를 사용하기로 한 이유&lt;/h2&gt;&lt;p style=&quot;margin-top: 0px;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;이전엔 리덕스  redux-thunk를 쓰면서 액션쪽에 비동기통신 코드가 번잡하게 들어감에 따라 파악하기 힘들다.&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;물론 모듈화를 제대로 안한 문제도 있긴 하지만..&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;사실 다른 프로젝트를 개발할 때 충분히 thunk를 사용할 수 있기야 하겠지만,&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;만들면서 맘에 들지 않았던 부분은 action이 dispatch만 하는것이 아니라 로직을 담고 작업을 수행한다는 점이였다.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;결국 위아래 두가지 이유가 같은 맥락이긴 한데&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;정리하면  &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;action&lt;/code&gt;이  본인의 역할 이외에 다른 영역까지 넘어간 부분이 뭔가 찝찝하고도 구린듯한 느낌&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;thunk의 다른 단점도 있겠지만 종합하면 redux의 철학을 보존하면서 사용하지 못한 것 같다.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;그 다음부턴 뻔한 스토리, 이를 해결해주는  &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;saga&lt;/code&gt;를 알게됐고 사용해보려 했다&lt;/p&gt;&lt;h2 id=&quot;redux-saga의-흐름&quot; style=&quot;clear: both;font-size: 1.8em; font-weight: bold; margin: 1.275em 0px 0.85em;border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(230, 230, 230);font-family: Lato; font-weight: normal;&quot;&gt;&lt;a name=&quot;redux-saga의-흐름&quot; href=&quot;#redux-saga의-흐름&quot; style=&quot;text-decoration: none; vertical-align: baseline;color: rgb(50, 105, 160);font-family: Lato; font-weight: normal;&quot;&gt;&lt;/a&gt;redux-saga의 흐름&lt;/h2&gt;&lt;p style=&quot;margin-top: 0px;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;예를통해 설명해보면,&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;버튼을 클릭하면 1초뒤에 카운터가 1만큼 늘어나는 로직을 짜고싶을 때&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;redux-thunk와 redux-saga의 흐름을 비교해보자.&lt;/p&gt;&lt;blockquote style=&quot;margin: 1em 20px;border-left-width: 4px; border-left-style: solid; border-left-color: rgb(230, 230, 230); padding: 0px 15px; color: rgb(119, 119, 119);font-family: Lato; font-weight: normal;&quot;&gt;
&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;margin-top: 0px;margin-bottom: 0px;font-family: Lato; font-weight: normal;&quot;&gt;구성&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;버튼을 클릭하면  숫자가 1이 늘어나는 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;AddToCounter&lt;/code&gt;액션이 있고,&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;여기서 액션은  &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;request&lt;/code&gt;, &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;success&lt;/code&gt;, &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;failure&lt;/code&gt;로 구분지어 있다. (효율적인 디버깅을 위해 구분지음 )&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;추가로 위에 설명한 프로세스를 진행하는 액션을 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;AsyncAddToCounter&lt;/code&gt;라 하자.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;추가적으로 미들웨어 없이는 비동기 처리가 안되는걸로 알고있는데 확실하지 않은 정보임.&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;&lt;strong style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;정확하게 아시는 분이 있으시다면 댓글 부탁드립니다..&lt;/strong&gt;&lt;/p&gt;&lt;h3 id=&quot;redux-thunk&quot; style=&quot;clear: both;font-size: 1.6em; font-weight: bold; margin: 1.125em 0px 0.75em;font-family: Lato; font-weight: normal;&quot;&gt;&lt;a name=&quot;redux-thunk&quot; href=&quot;#redux-thunk&quot; style=&quot;text-decoration: none; vertical-align: baseline;color: rgb(50, 105, 160);font-family: Lato; font-weight: normal;&quot;&gt;&lt;/a&gt;redux-thunk&lt;/h3&gt;&lt;ul style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;
&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;뷰에서 버튼을 클릭&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;&lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;AsyncAddToCounter&lt;/code&gt; 액션을 props로 내린 이벤트를 실행&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;&lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;AsyncAddToCounter&lt;/code&gt; 액션의 프로세스를 실행&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;&lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;requestAddToCounter&lt;/code&gt;을 리듀서로 디스패치&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;&lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;setTimeOut&lt;/code&gt;으로 1초뒤에 현재 count state에 1을 더한 값을 담아 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;successAddToCounter&lt;/code&gt;을 리듀서로 디스패치&lt;ul style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;
&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;“액션”에서 비동기 처리를 실행, setTimeOut의 경우 failure가 안나오기 때문에 현재 설명에선 패스&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;일반적으로 Promise의 then, catch로 success와 failure을 나눈다.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;리듀서에서 증가한 count state 값을 스토어에 업데이트&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;업데이트 된 스토어의 count state 값으로 뷰 업데이트&lt;/li&gt;&lt;/ul&gt;&lt;h3 id=&quot;redux-saga&quot; style=&quot;clear: both;font-size: 1.6em; font-weight: bold; margin: 1.125em 0px 0.75em;font-family: Lato; font-weight: normal;&quot;&gt;&lt;a name=&quot;redux-saga&quot; href=&quot;#redux-saga&quot; style=&quot;text-decoration: none; vertical-align: baseline;color: rgb(50, 105, 160);font-family: Lato; font-weight: normal;&quot;&gt;&lt;/a&gt;redux-saga&lt;/h3&gt;&lt;p style=&quot;margin-top: 0px;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;redux-saga에서는 위에서와 같이 프로세스를 담은 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;AsyncAddToCounter&lt;/code&gt;를 따로 만들지 않고,&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;바로 request를 디스패치하는 방식으로 진행.&lt;/p&gt;&lt;ul style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;
&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;뷰에서 버튼을 클릭&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;`requestAddToCounter’ 액션을 props로 내린 이벤트를 실행&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;이벤트가 실행됨과 동시에 사가의 watcher가 디스패치된 액션을 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;take&lt;/code&gt;로 인지함.&lt;ul style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;
&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;이 때 파라미터를 액션과 동시에 같이 넘겨줄 수 있으며, 이를 흔히 “payload”라 부른다.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;사가에서 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;delay&lt;/code&gt;를 통해 1초 지연&lt;ul style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;
&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;액션은 타입과 payload만 넘겨주는 용도로만 사용되고, 실질적인 비동기 로직은 “사가”를 통해 실행 된다.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;count state를 1 증가시킴&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;1초 뒤 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;put&lt;/code&gt;을 통해  업데이트된 count state를 담은  &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;successAddToCounter&lt;/code&gt; 액션을 디스패치&lt;ul style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;
&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;일반적으로 try, catch문으로 success와 failure을 나눈다.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;리듀서에서 증가한 count state 값을 스토어에 업데이트&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;업데이트 된 스토어의 count state 값으로 뷰 업데이트&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;둘을 비교했을 때 시작과 끝은 같지만, 실질적으로 로직을 수행하는 부분은 액션과 사가로 명확하게 구분되어 있다.&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;리덕스 사가를 사용함으로써 리덕스를 구성하는 각자의 롤이 명확하게 구분되어 깔끔하게 코드가 정리됨.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;나름대로 이해한 내용을 코드 없이 말로 쓰려니 더 어려웠는데,&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;틀린부분이 있을 수 있으니 피드백 부탁드립니다. 제발!&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;언젠가 코드를 추가할 예정..&lt;/p&gt;&lt;/div&gt;</description>
      <category>개발/React</category>
      <category>react</category>
      <category>Redux</category>
      <category>redux-saga</category>
      <category>redux-thunk</category>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/259</guid>
      <comments>https://takeuu.tistory.com/259#entry259comment</comments>
      <pubDate>Wed, 14 Nov 2018 21:34:24 +0900</pubDate>
    </item>
    <item>
      <title>3. React 폴더구조 ( redux, redux-saga )</title>
      <link>https://takeuu.tistory.com/258</link>
      <description>&lt;div style=&quot;font-family: 'Lucida Grande', 'Segoe UI', 'Apple SD Gothic Neo', 'Malgun Gothic', 'Lucida Sans Unicode', Helvetica, Arial, sans-serif; font-size: 0.9em; overflow-x: hidden; overflow-y: auto; margin: 0px !important; padding: 5px 20px 26px !important; background-color: rgb(255, 255, 255);font-family: 'Hiragino Sans GB', 'Microsoft YaHei', STHeiti, SimSun, 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', 'Segoe UI', AppleSDGothicNeo-Medium, 'Malgun Gothic', Verdana, Tahoma, sans-serif; padding: 20px;padding: 20px; color: rgb(34, 34, 34); font-size: 15px; font-family: 'Roboto Condensed', Tauri, 'Hiragino Sans GB', 'Microsoft YaHei', STHeiti, SimSun, 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', 'Segoe UI', AppleSDGothicNeo-Medium, 'Malgun Gothic', Verdana, Tahoma, sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; background: rgb(255, 255, 255);&quot;&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;&lt;strong style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;redux-saga folder structure&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; overflow-wrap: break-word; font-family: Lato; font-weight: normal;&quot;&gt;프로젝트를 구성할 때 가장 고민되는 폴더구조&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;특히 리덕스 사가는  명확한 &lt;strong style=&quot;font-family: Lato; font-weight: normal;&quot;&gt;Best Practice&lt;/strong&gt;가 없어 더욱 결정하기가 힘들었다.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;가장 일반적으로 redux를 사용할 때 잡는 폴더 구조는 다음과 같다&lt;/p&gt;&lt;blockquote style=&quot;margin: 1em 20px;border-left-width: 4px; border-left-style: solid; border-left-color: rgb(230, 230, 230); padding: 0px 15px; color: rgb(119, 119, 119);font-family: Lato; font-weight: normal;&quot;&gt;
&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;margin-top: 0px;font-family: Lato; font-weight: normal;&quot;&gt;src&lt;/p&gt;
&lt;ul style=&quot;margin-bottom: 0px;font-family: Lato; font-weight: normal;&quot;&gt;
&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;actions&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;components&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;containers&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;reducers&lt;/li&gt;&lt;li style=&quot;display: list-item; line-height: 1.4em;font-family: Lato; font-weight: normal;&quot;&gt;store&lt;/li&gt;&lt;/ul&gt;
&lt;/blockquote&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;여기서 store 폴더를 없애고 상단의 엔트리인 index.js에 집어넣을 수 도 있다.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;redux-saga를 사용하기 위해 사가들이 들어갈  &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;sagas&lt;/code&gt;&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;Sass가 들어갈 폴더 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;styles&lt;/code&gt;&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;이미지, 폰트가 들어가는 폴더 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;assets&lt;/code&gt;&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;서버와의 통신을 위한 api가 들어가는 폴더 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;api&lt;/code&gt;&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;constant와 lib가 들어가는 폴더 &lt;code style=&quot;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 85%; padding: 0.2em 0.5em; border: 1px solid rgb(239, 239, 239); background-color: rgba(0, 0, 0, 0.0196078);font-family: Lato; font-weight: normal;&quot;&gt;utils&lt;/code&gt;를 추가해 아래 이미지와 같이 세팅했다.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 277px; text-align: center; color: rgb(119, 119, 119);; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9954D2455BEA924910&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9954D2455BEA924910&quot; width=&quot;277&quot; height=&quot;553&quot; filename=&quot;스크린샷 2018-11-13 오후 5.58.17.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center; color: rgb(119, 119, 119);&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;이 구조가 베스트는 아니겠지만, 현재의 정보에서는 최선이라 생각했고,&lt;br style=&quot;clear: both;font-family: Lato; font-weight: normal;&quot;&gt;그대로 프로젝트를 진행하려 한다.&lt;/p&gt;&lt;p style=&quot;margin: 1em 0px; word-wrap: break-word;font-family: Lato; font-weight: normal;&quot;&gt;추가로 더 나은 방법이나 구조가 있으면, 댓글 부탁드립니다.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>개발/React</category>
      <author>takeUU</author>
      <guid isPermaLink="true">https://takeuu.tistory.com/258</guid>
      <comments>https://takeuu.tistory.com/258#entry258comment</comments>
      <pubDate>Tue, 13 Nov 2018 17:59:57 +0900</pubDate>
    </item>
  </channel>
</rss>