<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>agnesshin.log</title>
        <link>https://velog.io/</link>
        <description>30기 신윤숙 / FE</description>
        <lastBuildDate>Thu, 02 Jun 2022 15:28:17 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. agnesshin.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/i_the_agnes" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Retrospective Log- Cakoo ]]></title>
            <link>https://velog.io/@i_the_agnes/Retrospective-Log-Cakoo-7g8xikyw</link>
            <guid>https://velog.io/@i_the_agnes/Retrospective-Log-Cakoo-7g8xikyw</guid>
            <pubDate>Thu, 02 Jun 2022 15:28:17 GMT</pubDate>
            <description><![CDATA[<h1 id="cakoo-회고">Cakoo 회고</h1>
<p>팀원들 잘 만나서,</p>
<p>세선에서 기술 면, 프로젝트에서 적용할 수 있어서</p>
<p>아쉬운 부분, 기능 구현 &gt; 백앤드랑 같이 해야되서</p>
<p>소감 : 회식 좋아요</p>
<p>===========</p>
<p>좋았던 점 &gt;&gt; 배려 해주고 &gt;&gt; 때러전 지식을 알아가게 되서 &gt;&gt; 적립하게되서 너무 좋고</p>
<blockquote>
<blockquote>
<p>백쪽 분업하고 &gt;&gt; API 구현 지식 쪽으로 해서, 골골을 하고 싶은 것 하면 좋고</p>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<p>너무 좋았어</p>
</blockquote>
</blockquote>
<p>=======</p>
<p>기술, 몰랐던 기술, 협업이 뭔지 알아가고</p>
<blockquote>
<blockquote>
<blockquote>
<p>급하게 많아져서, 알아가고</p>
</blockquote>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<blockquote>
<p>아쉽웠던 부분 &gt;&gt; blocker &gt;&gt; 대화 들어 보고 &gt;&gt; </p>
</blockquote>
</blockquote>
</blockquote>
<p>소감 &gt;&gt;&gt; 2차 프로젝트 &gt; 팀에 이상으로 노력할 것이고</p>
<p>====</p>
<p>힘이되고 ⇒ 모라가는 좋았고. 듣깊음 </p>
<p>아쉽운점 &gt;&gt; 프론트와 소통</p>
<p>=====</p>
<p>슬기 &gt;&gt;&gt; 같이 일하고 싶은 &gt;&gt;&gt; 인간관계 &gt;&gt; 실수 많고 &gt;&gt;  토 탓 &gt;&gt;&gt; 배려 느껴서 너무 좋았고</p>
<p>백앤드 흐름 &gt;&gt; 페이지 적용하는 것 &gt;&gt;&gt;  잘 알아가되고 </p>
<p>목표치 &gt;&gt;&gt; 필수 구현 &gt;&gt; 추가 기능 &gt;&gt;&gt; 막암이 조급하고 &gt;&gt;&gt; 성공</p>
<p>====</p>
<hr>
<p>더 분석하며, 사이트 </p>
<p>회고 미팅</p>
<ul>
<li>좋았던 거</li>
<li>[준영] 팀원 잘 만났다. 그동안 세션 들으면서 기술적인 거 많이 배웠는데 실제로는 프로젝트를 통해 처음 적용해볼 수 있었다. 그래서 재밌었다. 백이랑 같이 맞춰보면서 페이스를 잘 맞춘 것 같다.</li>
<li>[건규] 너무 다들 잘해주고 성격도 좋고 이해 배려해주는게 서로 보여서 좋았다. 또 떨어져있던 지식을 붙여볼 수 있었던 기회. 새로운 걸 알기도 했고, 알던 걸 다시 정립할 수 있었다. 개발자가 되기 위해 가는 길을 확실히 다지고 가는 것 같다.</li>
<li>[기현] 새로운 기술, 몰랐던 기술을 적용해봐서 좋았다. 협업을 할 수 있다는 게 좋았음! 말의 온도에 대해서도 생각해봤고, 마음이 급해지다보니 놓치는 점이 많았는데 되짚어볼 수 있었다.</li>
<li>[지원] 팀원 모두 힘이 되어서 좋았다. 많은 걸 담당하진 못했지만, 모르는 걸 배워가는 것. 몰랐던 걸 어떻게 해야 구현되는지 알아가서 뜻깊음.</li>
<li>[슬기]</li>
<li>[윤숙] 상처 안 받게 커뮤니케이션 잘한 것. 부담없이 했던 것. 그리고 만족도에 못 미쳤지만 그걸 이해해준 과정이 많이 공부가 되었음. 그리고 이 팀이랑 다시 만나 일하고 싶다ㅎㅎ 답을 모를 때 찾아가는 길을 서로 알려주고, 기둥이 되어줬다. 문제 생기면 하나 하나 같이 해결하고 다음 단계로 넘어가고, 그런 프로세스가 잘 진행됐다.</li>
<li>아쉬운 거</li>
<li>[준영] 스타일링 집중하다가 기능 구현에서 시간 많이 드는 데 놓침. 그리고 백엔드랑 맞춰져야 기능구현도 되더라. 다음엔 우선순위를 잘 잡을 수 있을 듯.</li>
<li>[건규] 백 쪽에서 분담, 모델링할 때 통일성 있게 가질 못함. api 대로 구현하자 했어야 하는데 뷰적으로 가자, 앱적으로 가자 이렇게 논의해서. 기현님이 유독 과중한 업무를 맡게 되지 않았나… 다음에는 api 대로, 하고 싶었던 거 의견들어가면서 나눠서 하면 좋겠다.</li>
<li>[기현] 아직 시작 단계라 시야가 좁아서… 어제의 블로커도 그런 문제일 듯. 대화를 많이 해보고, 들으려고 귀를 열었어야 하지 않나 싶다.</li>
<li>[지원] 프론트랑 붙여보는 걸 잘 못해봄. 진도가 느리기도 했고. 다음에는 2차 때 이런 것도 더 잘 해보면서 재밌어지지 않으려나!</li>
<li>[슬기]</li>
<li>[윤숙] 기술적으로 부족했던 점… 그리고 고민을 많이 안해봤다. 성격이 급해서 바로 멘토님한테 답 받는 것.</li>
<li>소감</li>
<li>너무 좋았다!!!</li>
<li>[기현] 다음 프로젝트도 지금 팀에서 한 것 이상으로 따뜻하게 노력해야 할 것 같다. 그리고 저 자신이 마음이 급한데 좀 차분해졌음 좋겠다.</li>
<li>[지원] 감사하고 백분들 가르쳐주셔서 감사감사!! 많이 배웠습니다!</li>
<li>[슬기]</li>
<li>[윤숙] 이 과정이 행복했다.</li>
</ul>
<p>3/11 Retrospective meeting</p>
<ul>
<li>준영님팀원들을 잘 만나서 최대 장점... 세션 많이 들으면서 배운 스킬들을 실제로 적용해보았기에 재밌었다. 하지만 스타일링에 너무 집중하다보니, 기술구현에 들어가니 생각보다 시간이 타이트함을 알았고, 백엔드랑 협업이 중요함을 깨달음.2차 프로젝트때는 우선순위를 잘 잡아야 함을 느낌</li>
<li>건규님성격, 이해, 배려해주려는게 보여서 좋았고, 떨어져있던 지식을 이을 수 있어서 좋았다. 새로운 기술, 알던 기술을 적용할 수 있어서 좋았고, 개발자로 가는 길을 확신하였다.아쉬웠던 점 : 분업하고 모델링하고 처음이다보니 통일성있게 가지 못하였다.... API기준대로 가야했는데 view기준으로 본 점이 아쉬웠다....! 2차때는 API기준으로 정하고 골고루 원하는 파트로 확실한 분배를 할 수 있겠다...!</li>
<li>기현님새로운 기술, 몰랐던 기술을 적용해봐서 좋았다. 협업을 할 수 있다는 게 좋았다! 말의 온도에 대해서도 생각해봤고, 마음이 급해지다보니 놓치는 점이 많았는데 되짚어볼 수 있었다. 아직 시작 단계라 시야가 좁았다. 프론트 백엔드랑 몇시간 상의했던 블로커도 시야가 더 넓었다면 수월하게 할 수 있었지 않았을까.... 대화를 많이 해보고, 들으려고 귀를 더 여는게 목표이다. 다음 프로젝트도 지금 팀에서 한 것 이상으로 따뜻하게 노력해야 할 것 같다. 조금 더 차분하게 프로젝트에 임해야겠다.</li>
<li>지원님좋았던 점 : 팀원님들 한분한분 힘이 되어서 좋았다! 모르는거 몰랐던 부분을 어떻게 구현해야 하는지 로직 등을 이해한 뜻깊은 시간이었다!아쉬웠던 점 : 프론트부분이랑 fetch하지 못해서 아쉬웠기에, 2차때는 fetch까지 성공적으로 하는게 목표소감 : 너무 감사하구, 백엔드 그리고 프론트분들께 서로 서로 많이 배웠던 시간이었다.</li>
<li>슬기님좋았던 점 : 팀원분들이 같이 일하고 싶은 분들이랑 해서 인간관계로 스트레스 안받고 몰입할 수 있어서 좋았다. 실수하고 휴먼 에러도 많았기에 서로 탓하게 될수도 있었는데, 그런 것고 없었고, push도 없었고... 배려해주는게 좋았다.그전에는 백엔드와 fetch해보니 페이지가 구동되는데에 있어 어떻게 작동하는지 감을 잡았다. 학습하면서 놓친 부분을 많이 알았고 그렇기에 배운 점이 많았다.목표를 필수목표에 집중하는 등, 애자일하게 했다고 생각했는데, 마감이 닥치니까 되던게 안되었고 조급해지는것 때문에 흔들렸다. 하지만 처음 해본 프로젝트 치고는 결과물에 대한 아쉬움이 없을 정도로 만족스러운 프로젝트였다.</li>
<li>윤숙님테크니컬스킬이 부족해서 아쉬웠고 블로커에 고민을 많이 안했던 부분에서 아쉬웠다. 바로 멘토님께 물어봐서 그런 부분이 아쉬웠다.감사한 부분 : 서로 상처 안받고 커뮤니케이션 해서 고맙고, 부담없이 해서, 만족도에 못미쳤다고 생각이 들지만 과정에서 많이 배웠다. 이 팀하고 같이 일하고 싶다, 앞으로 팀으로 만났으면 좋겠다는 생각을 했다. 못하는 부분에서 하나의 목적으로 하나의 목표로 찾아가는 게 인상깊었다, 팀의 분위기를 위해 많이 노력했고 중요성도 깨달았다...! 기다려주고 의견내주고 하나 하고 기다려주고 맞춰보고 한 계단 같이 올라갔던 것이 너무나도 소중한 경험이었다.</li>
<li>전체한계단 한계단 같이 올라갔던것이 너무 소중한 경험이었다....!모든 페이지에 접근해서 다양하게 해본 경험들이 잘했다..!내실있게 하는게 제일 중요한 것 같다. 기본이 탄탄해야 올라갈 수 있으니까....!</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[TIL] > JavaScript > dot notation]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-JavaScript-dot-notation</link>
            <guid>https://velog.io/@i_the_agnes/TIL-JavaScript-dot-notation</guid>
            <pubDate>Mon, 09 May 2022 05:00:42 GMT</pubDate>
            <description><![CDATA[<h2 id="accessing-properties">Accessing properties</h2>
<p>JavaScript provides two notations for accessing object properties.</p>
<p>The first and most common, is known as the dot notation.</p>
<p>Under dot notation a property is accessed by giving the host object&#39;s </p>
<p>name.</p>
<p>Followed by... a period (or dot) followed by... the property name</p>
<p>==============</p>
<p>Example) </p>
<p>shows how the dot notation is used to read from and write to a </p>
<p>property.</p>
<p>if object.foo initally held the value one,
than the value will become two after executing this statement.</p>
<p>**Note that if the  object.foo did not already have a value, than it would be undefined.</p>
<p>==============</p>
<pre><code>object.foo = object.foo + 1;</code></pre><p>==============</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[TIL] vscode >> shortcuts to code faster]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-vscode-shortcuts-to-code-faster</link>
            <guid>https://velog.io/@i_the_agnes/TIL-vscode-shortcuts-to-code-faster</guid>
            <pubDate>Mon, 09 May 2022 05:00:02 GMT</pubDate>
            <description><![CDATA[<h2 id="top-7-shortcut"><strong>top 7 shortcut</strong></h2>
<ol>
<li><p><strong>option + shift + drag</strong> **    =  don&#39;t care of selection, cares about about the cursor</p>
</li>
<li><p>*<em>option +shift + i *</em>  = do a selection get a cursor for lines </p>
</li>
<li><p><strong>command + slash</strong>  = comment or uncomment</p>
</li>
<li><p>*<em>option + shift + up  or down *</em> = copy elements many times</p>
</li>
<li><p><strong>option up and down</strong> = to modify lines</p>
</li>
<li><p>*<em>option click *</em> = add a cursor edit lines faster</p>
</li>
<li><p><strong>command + D</strong>  = repeat words at more at once will select all </p>
</li>
</ol>
<h2 id="bonus"><strong>bonus</strong></h2>
<ol start="8">
<li><p><strong>command + up</strong> = import something </p>
</li>
<li><p>** command + down** = down to the page</p>
</li>
<li><p><strong>command + b</strong> = hide the side bar</p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[0328] TIL > React >> Recoil > Atoms]]></title>
            <link>https://velog.io/@i_the_agnes/0328-TIL-React-Recoil-Atoms</link>
            <guid>https://velog.io/@i_the_agnes/0328-TIL-React-Recoil-Atoms</guid>
            <pubDate>Mon, 28 Mar 2022 10:15:46 GMT</pubDate>
            <description><![CDATA[<p>Atoms &gt; make todo list in an array of objects</p>
<p>each object represents one todo list</p>
<p>example 1)</p>
<ol>
<li>We&#39;ll call our list atom :</li>
</ol>
<p><strong>todoListState **
and create it using the 
**atom() function:</strong></p>
<pre><code>const todoListState = atom({
  key: &#39;TodoList&#39;,
  default: [],
});</code></pre><p>========</p>
<ol start="2">
<li>We give our atom a unique key and set the default value to an empty array. To read the contents of this atom, we can use the useRecoilValue() hook in our TodoList component:</li>
</ol>
<pre><code>function TodoList() {
  const todoList = useRecoilValue(todoListState);

  return (
    &lt;&gt;
      {/* &lt;TodoListStats /&gt; */}
      {/* &lt;TodoListFilters /&gt; */}
      &lt;TodoItemCreator /&gt;

      {todoList.map((todoItem) =&gt; (
        &lt;TodoItem key={todoItem.id} item={todoItem} /&gt;
      ))}
    &lt;/&gt;
  );
}</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[TIL >> setup]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-setup</link>
            <guid>https://velog.io/@i_the_agnes/TIL-setup</guid>
            <pubDate>Mon, 28 Mar 2022 06:30:05 GMT</pubDate>
            <description><![CDATA[<p>back &gt;&gt; api setup
<a href="https://postgresapp.com/">https://postgresapp.com/</a></p>
<p>and </p>
<p>front &gt;&gt;&gt; git accesstoken &gt;&gt;</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Retrospective Log] > YourHomeIsMine]]></title>
            <link>https://velog.io/@i_the_agnes/Retrospective-Log-YourHomeIsMine</link>
            <guid>https://velog.io/@i_the_agnes/Retrospective-Log-YourHomeIsMine</guid>
            <pubDate>Sat, 26 Mar 2022 04:35:28 GMT</pubDate>
            <description><![CDATA[<p>Question :</p>
<ol>
<li>혼자 할 때와 팀으로 진행할 때 다른 점</li>
<li>리팩토링 하고 싶은 부분이나 기억하고 싶은 코드</li>
<li>프로젝트 마치고 느낀 점 (반성이나 다짐도 오케이)</li>
<li>어떤 개발자가 되고 싶고, 개발자에게 중요하다고 느끼는 것</li>
<li>우리가 팀으로서 뭐가 잘 되고 뭐가 잘 못 되었는지 얘기해보쟈</li>
</ol>
<p>Answer :</p>
<ol>
<li>한 번 어떤 어려움에 부딫히면 실패를 많이 하게 된다. 다시 방향을 잡는데 오래 걸렸다.</li>
<li>네브에서 체크인 체크아웃 캘린더 더 하기, 게스트 추가 기능 작동 하게끔 기능 구현 하는 것, 소셜로그인에서는 로그아웃을 구현하고 싶다. </li>
<li>제일 많이 느낀 점은 혼자보다 팀의 중요성을 느꼈다. 그리고 사람한테 조임을 주면 안 된다고 느꼈다. 스스로 해결 할 시간을 주는게 문제를 해결하는 더 좋은 방법이라는 생각. 시간관리 마지막에 힘들어서... 정리하는 부분에서 팀원에게 도움을 너무 많이 받아서 든든하고 감사했다는 생각. 여유가 없어서 팀원 케어를 못 한 부분이 죄송. 부족한 점은 기술에 대한 공부</li>
<li>안 되면 내려놓고 다른 것을 했었어야 했는데, 그걸 잡고 매달려서 시간을잡아먹어서 판단이 부족했다는 생각이 든다. 그래서 명확한 판단력이 중요하다고 생각한다. 팀원들에게 얘기를 못했던 점이 잘 못 됐다는 생각이 들어서 어떻게 설명해야할지 모르겠어서 말 하지 못 했던 점...</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL > Software Testing]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-Software-Testing</link>
            <guid>https://velog.io/@i_the_agnes/TIL-Software-Testing</guid>
            <pubDate>Thu, 17 Mar 2022 02:18:24 GMT</pubDate>
            <description><![CDATA[<p>Session Week 07
Software Testing (was Unit Test)</p>
<p>1.Manual Testing</p>
<p>2.Automation Testing</p>
<ol start="3">
<li>system test  전략 3가지 &gt;&gt; back tested in postman &gt;&gt;</li>
</ol>
<p>front &gt;&gt; reload in server
<img src="https://images.velog.io/images/i_the_agnes/post/b28e651f-50b6-474d-8cd8-29ef8515ab13/Screen%20Shot%202022-03-17%20at%2010.53.43%20AM.png" alt=""></p>
<p>build product right and build product product</p>
<p>01-2, why test?
결함 확인 &gt; 사전 방지 &gt; 시간 절약 &gt; 구조 개선 필요 &gt; 품질 개선 &gt; 확장성</p>
<p><img src="https://images.velog.io/images/i_the_agnes/post/0463974f-1a4f-4529-8b1f-dfaea317a840/Screen%20Shot%202022-03-17%20at%2010.57.38%20AM.png" alt=""></p>
<hr>
<ol start="2">
<li>Manual Testing (사람이 직접 테스드 진행) =&gt; 불안정성 (up), 일력소모 (up), 비용 (up) , testing takes longer (down) =&gt; 사람은 기복이 있다 </li>
</ol>
<p>02-1. Automation Testing &gt; 안정성 (up) , 인력소모 (down) , 비용 (down) , testing is more productive (up), 확장성 (up) 무리가 없다 </p>
<ol start="3">
<li>시스템 테스트 전략 3가지 (unit test 짜야된다) &gt; 
end to end tests &gt;&gt;&gt; 전체적인 flow (ex  브라우저상 클릭 후 생기는 변화에 대한 검증)</li>
</ol>
<p>(ex) todo list &gt;&gt; DB &gt;&gt; FE,BE server </p>
<p>intergration tests &gt;&gt;&gt; 모듈간의 호환성 검증
(ex) 웹페이지 혹은 postman 을 통한 api 호풀 시 올바르게 동자가는지 확인</p>
<p>unit test (단위 테스트) &gt;&gt; 독립적으로 진행되는 가장 작은 단위의 테스트 (ex. 하나의 기능 또는 메소드)</p>
<pre><code>queryParameter &gt;&gt; 함수로 테스트로 &gt;&gt;

validation &gt;&gt; email 검증하는 함수 &gt;&gt; string &gt;&gt; boolean으로 return (test)하는 것이다. 메일이 true/false 있는지, false email


=====

cypress end to end test &gt;&gt; dlwfur gn cnrk gkrh done check 


03-2. Integration Test

03.3 Unit Tests

03.4. 단위테스트 작성의 필요성
코드 리패토링 시 안정성 확보 &gt;&gt; input &gt;&gt; output 이 잘 나온다... 문제 없이

=====

함수 &gt;&gt; 뭘하는 지 모를 경우 , 함수 테스트 진행</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[TIL> Custom Hook]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-Custom-Hook</link>
            <guid>https://velog.io/@i_the_agnes/TIL-Custom-Hook</guid>
            <pubDate>Wed, 16 Mar 2022 02:42:32 GMT</pubDate>
            <description><![CDATA[<p>2가지 모자 쓰자!!!</p>
<ol>
<li>기능되는 모자 =&gt; 기능 구현 먼저</li>
<li>refactoring 모자 쓰자, 가독성 좋고, 효율성 고민 =&gt; custom hook</li>
</ol>
<p>======
코드 분리되고, 관심사의 분리</p>
<p>--
학습 목표</p>
<ol>
<li><p>관신사의 분리 (SoC, Separation of Concerns)</p>
</li>
<li><p>Custom Hook에 대한 개념 이해하고, 함수 컴포넌트로 부터 로직 (State, Effect등)</p>
</li>
</ol>
<p>=======</p>
<ol>
<li>What is Separation of Concerns? (관심사의 분리)</li>
</ol>
<p>1.1. What if...
확장, 변동이 많다 개발하면서...</p>
<p>1.2. agile 하게 생각하면 좋다!!
한번에 한가지만 생각하면 된다, 한번에 하나 가자만 걱저해도 괜찮다</p>
<ul>
<li>loose coupling 낮은 결합도 각각의 토드가 서로 얽혀있지 않고 독립적으로 잘 분리되어 ==&gt; 의존 성으로 낮춘다</li>
</ul>
<p>ex) mcdonald working SOP &gt;&gt; converyor belt &gt;&gt; each position is specified</p>
<ul>
<li>high cohesive 높은 응집도, 유사한 내용끼리 비슷한 위치에 잘 모여 있음 ==&gt; 특성을 발결할 수 있다.</li>
</ul>
<p>1.3. Example
관심사의 분리 장점:</p>
<ul>
<li>코드 가 더욱 명료해짐</li>
<li>코드 재사용성이 올라감</li>
<li>유지 보수가 용이함</li>
<li>테스트 코드를 작성하기 쉬워짐</li>
<li>test code &gt;&gt; TDD test driven </li>
</ul>
<p><img src="https://images.velog.io/images/i_the_agnes/post/0af7f54a-5d4b-4884-81e9-664a840c3681/Screen%20Shot%202022-03-16%20at%2011.00.26%20AM.png" alt=""><img src="https://images.velog.io/images/i_the_agnes/post/f19b861f-c4a3-444c-b8f6-6d997bcb5d4a/Screen%20Shot%202022-03-16%20at%2010.58.47%20AM.png" alt="">
}</p>
<p><img src="https://images.velog.io/images/i_the_agnes/post/01f855e2-128a-4e88-937c-f3c42600dc5a/Screen%20Shot%202022-03-16%20at%2011.01.40%20AM.png" alt=""></p>
<p>====</p>
<ol start="2">
<li><p>How to Write My Own Custom Hook</p>
</li>
<li><p>View화 logic의 분리 (Dan Abramov)</p>
</li>
</ol>
<ul>
<li><p>presentational component: how things look</p>
</li>
<li><p>containger component: logic only</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL > rebase > squash]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-rebase-squash</link>
            <guid>https://velog.io/@i_the_agnes/TIL-rebase-squash</guid>
            <pubDate>Tue, 15 Mar 2022 02:11:00 GMT</pubDate>
            <description><![CDATA[<p><strong>rebase</strong> (multiple commits and unnessary commit) is not good! &gt;&gt; option use <strong>squash</strong> (combines file from the last merge stage) </p>
<ol>
<li>create signin file feature/signup (combine commit --&gt; review applied + review applied 2)</li>
</ol>
<p><img src="https://images.velog.io/images/i_the_agnes/post/310e7801-1756-4155-96a7-369ce78aa4f0/Screen%20Shot%202022-03-15%20at%2010.54.11%20AM.png" alt=""></p>
<ol start="2">
<li><p>main branch &gt; remote main &gt; pull &gt;&gt;&gt;&gt; push &gt; feature branch &gt;&gt;&gt; <strong><code>git rebase -i main</code></strong></p>
<p> a. how to use rebase &gt;&gt;&gt; move to main &gt;&gt; current git pull origin main &gt;&gt; git rebase -i main &gt;&gt; editor is visible &gt;&gt; insert mode click i to change mode &gt;&gt; p, pick <commit> = use commit!! + s pick  others below will be squashed...&gt;&gt; commit </p>
</li>
</ol>
<p><img src="https://images.velog.io/images/i_the_agnes/post/555633fb-0f3d-4c97-831f-2e48c48e089c/Screen%20Shot%202022-03-15%20at%2010.56.15%20AM.png" alt=""></p>
<ol start="3">
<li>when successful!! &gt;&gt; git log (commit message) &gt;&gt; push</li>
</ol>
<p><img src="https://images.velog.io/images/i_the_agnes/post/e21a06c7-868c-496b-abfc-20bdc5ea7459/Screen%20Shot%202022-03-15%20at%2011.03.42%20AM.png" alt=""> &gt;&gt; esc -&gt; :wq! </p>
<ol start="4">
<li>rebase push &gt;&gt;&gt; when &gt;&gt; git push origin feature/login -f</li>
</ol>
<p><img src="https://images.velog.io/images/i_the_agnes/post/7e107dd8-6fbe-422c-8022-a1bd0563a913/Screen%20Shot%202022-03-15%20at%2011.05.41%20AM.png" alt=""></p>
<ol start="5">
<li>after commit 2 times or 3 times, use rebase &gt;&gt; 충돌 적어진다</li>
</ol>
<ol start="6">
<li><p>git add . &gt;&gt;&gt; staging only, (don&#39;t commit!!)</p>
<p>git add ./ git rebase --conitnue 
<img src="https://images.velog.io/images/i_the_agnes/post/e3694a24-020a-4e8b-97b5-b979385b7441/Screen%20Shot%202022-03-15%20at%2011.08.41%20AM.png" alt=""></p>
</li>
</ol>
<p>============</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL>Git rebase]]></title>
            <link>https://velog.io/@i_the_agnes/TILGit-rebase</link>
            <guid>https://velog.io/@i_the_agnes/TILGit-rebase</guid>
            <pubDate>Tue, 15 Mar 2022 01:52:37 GMT</pubDate>
            <description><![CDATA[<p>Git Merge</p>
<p>main branch &gt;&gt; feature/sign-up (create new branch) &gt;&gt; sign-up &gt;&gt; commit 4xtimes (recorded by time)</p>
<p>main branch &gt;&gt;&gt; align with merge commit (unnessary <img src="https://images.velog.io/images/i_the_agnes/post/c9046707-a2c1-460b-8e41-aa8734f0ccdf/Screen%20Shot%202022-03-15%20at%2010.50.59%20AM.png" alt=""></p>
<p>main branch &gt;&gt; feature/sign-in (create new branch) &gt;&gt; work in progress &gt;&gt;
main &gt;&gt; sign-in merge &gt;&gt;&gt; record git merge main add </p>
<p><img src="https://images.velog.io/images/i_the_agnes/post/e9ff6274-8d7a-443e-a273-0524ccbf242f/Screen%20Shot%202022-03-15%20at%2010.48.53%20AM.png" alt=""></p>
<p>sign up branch will add&gt;&gt; 
<img src="https://images.velog.io/images/i_the_agnes/post/6070821f-513f-40de-8697-9e989dcfa180/Screen%20Shot%202022-03-15%20at%2010.48.17%20AM.png" alt=""></p>
<p>Problem
<img src="https://images.velog.io/images/i_the_agnes/post/dac0f128-1bc3-4faa-af02-64eb8553d571/Screen%20Shot%202022-03-15%20at%2010.49.36%20AM.png" alt=""></p>
<p><img src="https://images.velog.io/images/i_the_agnes/post/b2530cd1-9300-4399-94c5-938c92bd4c0a/Screen%20Shot%202022-03-15%20at%2010.51.24%20AM.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL > Git flow]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-Git-flow</link>
            <guid>https://velog.io/@i_the_agnes/TIL-Git-flow</guid>
            <pubDate>Tue, 15 Mar 2022 01:45:43 GMT</pubDate>
            <description><![CDATA[<ol>
<li><p>Git flow  &gt;&gt;&gt; main, develop, feature, release, hotfix</p>
</li>
<li><p>branch &gt;&gt;&gt; rebase 와 merge 의  명령어를 사용, </p>
</li>
<li><p>rebase 명령어 를 사용하는 keyword &gt;&gt; squash</p>
</li>
</ol>
<p>============
Git flow &gt;&gt;&gt; basic flow default&gt;&gt;&gt; develop </p>
<ol>
<li>main branch is used for production releases (V1.0.0) // default branch // never touch </li>
</ol>
<ol start="2">
<li>A develop branch is creadt from main // make a new develop branch </li>
</ol>
<p>add to develop &gt;&gt;&gt; 기능 개발 완료 &gt; QA quality assurance (software testing) 직원들이 테스트 과정 &gt;&gt; 생성할 떄 &gt;&gt;&gt; release branch에서 진행하고 &gt;&gt;&gt; 다시 &gt;&gt;&gt; during production error can occur and develop (make a branch&gt;&gt; hotfix&gt;&gt; error 수정하는 branch 해서 merge 다시 하기</p>
<p><img src="https://images.velog.io/images/i_the_agnes/post/da392bb8-ed8a-488e-8ac9-ca85d4b7d048/Screen%20Shot%202022-03-15%20at%2010.42.04%20AM.png" alt=""></p>
<ol start="3">
<li><p>The develop branch contains stable features for the next release</p>
</li>
<li><p>Create as many feature branches as you like</p>
</li>
<li><p>Integrage when the feature is stable</p>
</li>
<li><p>changes on the devleop branch must be merged back into feature branches</p>
</li>
<li><p>Use a release branch to isolate and stablize the release (Release/ v2.0.0)</p>
</li>
<li><p>Create a hot fix branch to patch a production release (HOTFIX/HF1)</p>
</li>
<li><p>Hot fixes are integrated into both main and develop</p>
</li>
</ol>
<p> feature/F1 &gt;&gt;&gt; fearure/F2</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL > @mixin.scss]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-mixin.scss</link>
            <guid>https://velog.io/@i_the_agnes/TIL-mixin.scss</guid>
            <pubDate>Tue, 08 Mar 2022 11:41:40 GMT</pubDate>
            <description><![CDATA[<p>@mixin.scss</p>
<p>need to add!!!!!</p>
<pre><code>@mixin transform($property) {
  -webkit-transform: $property;
  -ms-transform: $property;
  transform: $property;
}
.box { @include transform(rotate(30deg)); }
Source:sass-lang.com
11
Sass @mixin and @includeCSS By SAMER SAEID on Dec 7 2020 ThankComment
@mixin important-text {
  color: red;
  font-size: 25px;
  font-weight: bold;
  border: 1px solid blue;
}</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[TIL >  refactoring jsx
]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-refactoring-jsx</link>
            <guid>https://velog.io/@i_the_agnes/TIL-refactoring-jsx</guid>
            <pubDate>Tue, 08 Mar 2022 11:38:42 GMT</pubDate>
            <description><![CDATA[<pre><code>const arr = [
    { id: 1, text: &quot;신상품순&#39;, ename :  &#39;recent&#39; },
    {id: 2, text: &#39;가격 낮은순&#39;, ename: &#39;min_price&#39;  },
    &#39;


</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[TIL > form > arr.map refactoring]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-form-arr.map-refactoring</link>
            <guid>https://velog.io/@i_the_agnes/TIL-form-arr.map-refactoring</guid>
            <pubDate>Tue, 08 Mar 2022 11:27:59 GMT</pubDate>
            <description><![CDATA[<pre><code>const arr = [
    {
        id: 1,
        label: &#39; 이메일&#39;,
        type: &#39;text&#39;,
        placeholder: email@email.com&#39;,
        name: &#39;email&#39;,
    },
    {
        id: 2,
        label: &#39;비밀번호&#39;,
        type: &#39; password&#39;,
        placeholder: &#39;비밀번호흫 ~~~~&#39;,
        name: &#39; password&#39;,
    }&#39;
  };


&lt;fieldset&gt;
    &lt;form className=&quot;signUpForm&quot;&gt;
        {arr.map(({ id, label, type, placeholder, name }) =&gt; {
    return (
        &lt;div className=&quot;row&quot; key={id}
            &lt;label&gt;{label}&lt;/label&gt;
            &lt;TextBox
                type={type}
                placeholer={placeholder}    
                className={name}
                name={name}
                onChange={handleChange}
              /&gt;
             {name ===&#39;email&#39; &amp;&amp; (
                  &lt;Button
                     classname={idValue.includes(&#39;@&#39;) ? &#39;buttonOn&#39; : &#39;button&#39;}
                 &gt;
                  중복 확이 &lt;/Button&gt;</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[til > daily use ]]></title>
            <link>https://velog.io/@i_the_agnes/til-daily-use</link>
            <guid>https://velog.io/@i_the_agnes/til-daily-use</guid>
            <pubDate>Sun, 06 Mar 2022 15:29:45 GMT</pubDate>
            <description><![CDATA[<p>수정된 remote master 업데이트하기</p>
<ol>
<li>git checkout master : local에서 master로 checkout한다.</li>
<li>git pull origin master : remote의 수정된 master을 local에 pull한다.</li>
<li>git checkout working-branch : 작업중인 브랜치로 이동한다.</li>
<li>git merge master : 최신화된 local의 master를 작업중인 브랜치에도 반영한다.</li>
<li>conflict 발생 시..... </li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL> scss. nesting]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-scss.-nesting</link>
            <guid>https://velog.io/@i_the_agnes/TIL-scss.-nesting</guid>
            <pubDate>Sun, 06 Mar 2022 15:24:55 GMT</pubDate>
            <description><![CDATA[<pre><code>import React, { useState } from &#39;react&#39;;
import { Link, useNavigate } from &#39;react-router-dom&#39;;
import &#39;./Login.scss&#39;;

function Login() {
  const [idValue, setIdValue] = useState(&#39;&#39;);
  const [pwValue, setPwValue] = useState(&#39;&#39;);
  // const navigate = useNavigate();

  const handleIdInput = e =&gt; {
    setIdValue(e.target.value);
  };

  const handlePwInput = e =&gt; {
    setPwValue(e.target.value);
    console.log(idValue, pwValue);
  };

  const isValid = () =&gt; {
    if (idValue.includes(&#39;@&#39;) &amp;&amp; pwValue.length &gt;= 8) {
      return true;
    }
    return false;
  };

  // const condition = idValue.length &gt; 0 &amp;&amp; pwValue.length &gt; 0;

  const navigate = useNavigate();

  const handleFetch = () =&gt; {
    fetch(&#39;http://10.58.6.174:8000/users/signin&#39;, {
      method: &#39;POST&#39;,
      body: JSON.stringify({
        email: idValue,
        password: pwValue,
      }),
    })
      .then(response =&gt; response.json())
      .then(result =&gt; {
        if (result.access_token) {
          localStorage.setItem(&#39;token&#39;, result.access_token);
          navigate(&#39;/&#39;);
        } else {
          alert(&#39;가입된 회원이 아닙니다. 회원가입을 먼저 해주세요.&#39;);
        }
      });
  };

  return (
    &lt;div className=&quot;login&quot;&gt;
      &lt;h1&gt;로그인&lt;/h1&gt;
      &lt;div className=&quot;loginFormBox&quot;&gt;
        &lt;form className=&quot;loginForm&quot;&gt;
          &lt;input
            className=&quot;loginInput&quot;
            type=&quot;text&quot;
            onChange={handleIdInput}
            placeholder=&quot;아이디 (이메일)&quot;
            name=&quot;userName&quot;
          /&gt;
          &lt;input
            required
            className=&quot;loginInput&quot;
            type=&quot;text&quot;
            onChange={handlePwInput}
            placeholder=&quot;비밀번호&quot;
            text=&quot;password&quot;
          /&gt;
          &lt;div className=&quot;idSave&quot;&gt;
            &lt;input id=&quot;checkbox&quot; className=&quot;checkBox&quot; type=&quot;checked&quot; /&gt;
            &lt;label htmlFor=&quot;checkbox&quot; className=&quot;circle&quot; /&gt;
            &lt;span&gt;아이디 저장&lt;/span&gt;
          &lt;/div&gt;
          &lt;button
            type=&quot;button&quot;
            className={isValid() ? &#39;loginBtn yellow&#39; : &#39;loginBtn&#39;}
            onClick={handleFetch}
            disabled={!isValid()}
          &gt;
            로그인
          &lt;/button&gt;
        &lt;/form&gt;
        &lt;div className=&quot;forgotContainer&quot;&gt;
          &lt;Link to=&quot;/&quot; className=&quot;forgot&quot; alt=&quot;아이디 찾기&quot; /&gt; 아이디찾기
          &lt;Link to=&quot;/&quot; className=&quot;forgot&quot; alt=&quot;비밀번호 찾기&quot; /&gt; 비밀번호 찾기
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  );
}

export default Login; 입력하세요</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[ TIL > fetch data ]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-fetch-data</link>
            <guid>https://velog.io/@i_the_agnes/TIL-fetch-data</guid>
            <pubDate>Sun, 06 Mar 2022 15:14:58 GMT</pubDate>
            <description><![CDATA[<p>`import React, { useState } from &#39;react&#39;;
import { Link, useNavigate } from &#39;react-router-dom&#39;;
import &#39;./Login.scss&#39;;</p>
<p>function Login() {
  const [idValue, setIdValue] = useState(&#39;&#39;);
  const [pwValue, setPwValue] = useState(&#39;&#39;);
  // const navigate = useNavigate();</p>
<p>  const handleIdInput = e =&gt; {
    setIdValue(e.target.value);
  };</p>
<p>  const handlePwInput = e =&gt; {
    setPwValue(e.target.value);
    console.log(idValue, pwValue);
  };</p>
<p>  const isValid = () =&gt; {
    if (idValue.includes(&#39;@&#39;) &amp;&amp; pwValue.length &gt;= 8) {
      return true;
    }
    return false;
  };</p>
<p>  // const condition = idValue.length &gt; 0 &amp;&amp; pwValue.length &gt; 0;</p>
<p>  const navigate = useNavigate();</p>
<p>  const handleFetch = () =&gt; {
    fetch(&#39;<a href="http://10.58.6.174:8000/users/signin&#39;">http://10.58.6.174:8000/users/signin&#39;</a>, {
      method: &#39;POST&#39;,
      body: JSON.stringify({
        email: idValue,
        password: pwValue,
      }),
    })
      .then(response =&gt; response.json())
      .then(result =&gt; {
        if (result.access_token) {
          localStorage.setItem(&#39;token&#39;, result.access_token);
          navigate(&#39;/&#39;);
        } else {
          alert(&#39;가입된 회원이 아닙니다. 회원가입을 먼저 해주세요.&#39;);
        }
      });
  };</p>
<p>  return (
    <div className="login">
      <h1>로그인</h1>
      <div className="loginFormBox">
        <form className="loginForm">
          <input
            className="loginInput"
            type="text"
            onChange={handleIdInput}
            placeholder="아이디 (이메일)"
            name="userName"
          />
          <input
            required
            className="loginInput"
            type="text"
            onChange={handlePwInput}
            placeholder="비밀번호"
            text="password"
          />
          <div className="idSave">
            <input id="checkbox" className="checkBox" type="checked" />
            <label htmlFor="checkbox" className="circle" />
            <span>아이디 저장</span>
          </div>
          &lt;button
            type=&quot;button&quot;
            className={isValid() ? &#39;loginBtn yellow&#39; : &#39;loginBtn&#39;}
            onClick={handleFetch}
            disabled={!isValid()}
          &gt;
            로그인
          </button>
        </form>
        <div className="forgotContainer">
          <Link to="/" className="forgot" alt="아이디 찾기" /> 아이디찾기
          <Link to="/" className="forgot" alt="비밀번호 찾기" /> 비밀번호 찾기
        </div>
      </div>
    </div>
  );
}</p>
<p>export default Login;``
코드를 입력하세요
```</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[TIL] Git and Github]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-git-vs.-github</link>
            <guid>https://velog.io/@i_the_agnes/TIL-git-vs.-github</guid>
            <pubDate>Sun, 27 Feb 2022 03:44:40 GMT</pubDate>
            <description><![CDATA[<h3 id="recap-for-git--github">Recap for Git &amp; GitHub</h3>
<p><strong>What is Git?</strong></p>
<ul>
<li>Git is at local storage in my computer, marked at local status</li>
</ul>
<hr>
<p><strong>What is GitHub master?</strong></p>
<ul>
<li><p>rename from master to main, due to racist comments
from slave to master</p>
</li>
<li><p>remote repostiory</p>
</li>
</ul>
<hr>
<p><strong>What are the commands?</strong></p>
<ul>
<li>the <strong>-m</strong> means message,
when you make a commit, need to write a message based on what you WIP, ADD, FIX, DELETE, in detail</li>
</ul>
<hr>
<p><strong>How to create a file from Git?</strong></p>
<ul>
<li><em>command to make directory</em> </li>
<li><em>mkdir*</em></li>
<li><em>command to create file from iTerm2 or Terminal</em> </li>
<li><em>touch nameoffile.md*</em> </li>
</ul>
<hr>
<p><strong>How to startup iTerms commands</strong></p>
<ul>
<li><p><em>[1] to run iTerms/terminal</em>
  *<em>npm start *</em></p>
</li>
<li><p><em>[2] to stage all saved files, with the dot . means to stage all</em></p>
</li>
<li><p><em>git add .*</em></p>
<p>either or</p>
</li>
<li><p><em>[3] to stage one file at a time, without the dot</em></p>
</li>
<li><p><em>git add*</em></p>
</li>
<li><p><em>[4] check status of staging</em></p>
</li>
<li><p><em>git status*</em></p>
</li>
<li><p>_[5] without -m &quot;Message&quot;, will represent a single commit, without be vis</p>
</li>
<li><p><em>git commit*</em></p>
</li>
<li><p>[6] git commit -m &quot;first initial commit&quot;</p>
</li>
<li><p>*git commit </p>
</li>
<li><p>[7] git push origin master</p>
</li>
</ul>
<ol start="3">
<li>git commit -m &quot;Add: Login, Main&quot;</li>
<li>git push origin feature/yunsook (push commit into remote)</li>
<li>request PR to mentor regarding to be reviewed (Pull Request)</li>
<li>when request is reviewed and verified, mentor will then approved to merged in Github
to be posted in github which is the master where the codes are approve</li>
<li>git branch  (check to see location)</li>
<li>git checkout master</li>
<li>git pull master (update files)</li>
<li>git checkout feature/yunsook (change branch) or 
git switch feature/yunsook</li>
<li>git feature/yunsook merge master (git)</li>
</ol>
<blockquote>
<blockquote>
<blockquote>
<p>git status (on branch feature/yunsook -&gt; changes to be. commited 
    / use &quot;git restore --staged <file>...&quot; to unstage)
    / to distinguish the new files to be loaded will be in green marked as new files, or modified
git add . 
git status &gt;&gt;&gt; git commit -m “Add: Login, Main”<br>(when you commit,this status is still in the temporary local, before going to the master of Github)
git push origin feature/yunsook (local working location)
next step is to send 
git merge from github
git branch (this is to locate the branch)
git branch master (branch is located in the master)
git checkout master (is to leave and switch to the master local)
git branch (git branch)
git checkout feature/yunsook (switched to branch &#39;feature/yunsook&#39;
(it&#39;s switched to brand &#39;feature/yunsook&#39;)</p>
</blockquote>
</blockquote>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL > VScode improve productivity]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-VScode-improve-productivity</link>
            <guid>https://velog.io/@i_the_agnes/TIL-VScode-improve-productivity</guid>
            <pubDate>Sun, 27 Feb 2022 03:42:52 GMT</pubDate>
            <description><![CDATA[<p>key shortcut to improve your productivity in vscode</p>
<ul>
<li><p><strong>shortcuts &gt;&gt;&gt; vscode improve productivity</strong></p>
<p>  <strong>BONUS shortcuts</strong></p>
<blockquote>
<blockquote>
<blockquote>
<p>if you want to go to the top of the file <strong>command + up arrow</strong> , </p>
</blockquote>
</blockquote>
</blockquote>
<pre><code>      especially when you want to add a import </code></pre><blockquote>
<blockquote>
<blockquote>
<p>if you want to go to the bottom of the file <strong>command + down arrow</strong></p>
</blockquote>
</blockquote>
</blockquote>
<p>   used especially to export or edit from the bottom</p>
</li>
</ul>
<p><strong>command + B</strong> is to hide your side bar</p>
<p>NO.1  option + shift + drag** 
especially useful when you want to select the column all at the same time</p>
<p>NO.2  option + shift  + i** 
it let’s you get a cursor for every line you have selected, this will let me format much much better</p>
<p>first highlight the your selections , and then press <strong>option +  shift + i</strong></p>
<p>NO.3  command + /
commenting and uncommenting this line</p>
<p>NO.4  option + shift + up arrow + down arrow**
it will copy a line (useful when using html or css, no need to copy and paste anymore</p>
<p>highlight element first and use the option + shift + up and down arrow</p>
<p>option + shift + up arrow** &gt;&gt;&gt; will add an element at the bottom</p>
<p>option + shift + down arrow** &gt;&gt;&gt; will add a element at the top</p>
<p>NO.5 option + up arrow + down arrow**
move codes up and down in place to modify the position in place, instead of using copy and paste</p>
<p>NO.6 command + CLICK
add a cursor and edit lines to fix it, to exit esc</p>
<p>NO.7 command + D 
first highlight the word of the the code 
take one code that is repeated many many times and select all at once
the highlighted word will be selected and then a cursor will be at the end,
so you can add additional codes if needed all at the same time</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL // fetch data with backend ]]></title>
            <link>https://velog.io/@i_the_agnes/TIL-fetch-data-with-backend</link>
            <guid>https://velog.io/@i_the_agnes/TIL-fetch-data-with-backend</guid>
            <pubDate>Sun, 27 Feb 2022 03:38:06 GMT</pubDate>
            <description><![CDATA[<p>in React</p>
<p>// fetch data with backend ```</p>
<p>  const goToMain = () =&gt; {
    fetch(&#39;<a href="http://10.58.5.235:8000/users/signin&#39;">http://10.58.5.235:8000/users/signin&#39;</a>, {
      method: &#39;POST&#39;,
      body: JSON.stringify({
        email: idValue,
        password: pwValue,
      }),
    })
      .then(response =&gt; response.json())
      .then(result =&gt; console.log(&#39;결과: &#39;, result));
  };</p>
]]></description>
        </item>
    </channel>
</rss>