<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jaun_.log</title>
        <link>https://velog.io/</link>
        <description>온전히 나의 기억을 저장하는 곳</description>
        <lastBuildDate>Wed, 16 Feb 2022 07:01:40 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. jaun_.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jaun_" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[C# csv 파일 쓰기 (쉼표 포함(Comma)(,))]]></title>
            <link>https://velog.io/@jaun_/C-csv-%ED%8C%8C%EC%9D%BC-%EC%93%B0%EA%B8%B0-%EC%89%BC%ED%91%9C-%ED%8F%AC%ED%95%A8Comma</link>
            <guid>https://velog.io/@jaun_/C-csv-%ED%8C%8C%EC%9D%BC-%EC%93%B0%EA%B8%B0-%EC%89%BC%ED%91%9C-%ED%8F%AC%ED%95%A8Comma</guid>
            <pubDate>Wed, 16 Feb 2022 07:01:40 GMT</pubDate>
            <description><![CDATA[<p><img src="https://images.velog.io/images/jaun_/post/4627c237-3115-4d6d-95ff-cdb26861ff2a/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/jaun_/post/d2d68fff-a411-4ff2-bb50-5d42abb30435/image.png" alt=""></p>
<p>ABC로 선언된 값을 csv파일로 쓰기 할 때 &#39;,&#39;(쉼표(Comma))때문에 다른 열로 표시가 된다.</p>
<p>그럴때 그 것을 방지하기 위해
<img src="https://images.velog.io/images/jaun_/post/65e2c7da-9e61-4d6b-8653-4b3ce662484f/image.png" alt="">
위와 같이 역슬러시를 넣어주면 해결 !! </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[GetX - 바인딩]]></title>
            <link>https://velog.io/@jaun_/GetX-%EB%B0%94%EC%9D%B8%EB%94%A9</link>
            <guid>https://velog.io/@jaun_/GetX-%EB%B0%94%EC%9D%B8%EB%94%A9</guid>
            <pubDate>Thu, 06 Jan 2022 13:09:03 GMT</pubDate>
            <description><![CDATA[<blockquote>
<h1 id="fluuter-binding">Fluuter Binding</h1>
</blockquote>
<blockquote>
<h1 id="기본적인-방법">기본적인 방법</h1>
</blockquote>
<p><img src="https://images.velog.io/images/jaun_/post/030e29fc-7eaa-45ea-bb98-387cd2cef714/image.png" alt=""></p>
<h4 id="getpage-선언-할-때-bindingsbuilder-사용하는-방법">GetPage 선언 할 때 BindingsBuilder 사용하는 방법</h4>
<p><img src="https://images.velog.io/images/jaun_/post/c5a973dc-2d99-45dc-aaf1-03cab22a7963/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/jaun_/post/24e8c84c-be1d-4b6e-a0be-83eef35d2580/image.png" alt=""></p>
<h4 id="바인딩-페이지-이용하는-방법">바인딩 페이지 이용하는 방법</h4>
<p><img src="https://images.velog.io/images/jaun_/post/b3286839-fb0d-47f3-b4d8-68e913f42e3a/image.png" alt=""></p>
<h4 id="페이지-이동할-때-바인딩-하는-방법의존성-주입-참조">페이지 이동할 때 바인딩 하는 방법(의존성 주입 참조)</h4>
<blockquote>
<h1 id="바인딩-되어있는-것을-사용하는-방법">바인딩 되어있는 것을 사용하는 방법</h1>
</blockquote>
<p><img src="https://images.velog.io/images/jaun_/post/0cfedd47-6465-4eff-a3dd-702ca23f7de9/image.png" alt=""></p>
<h4 id="getbuilder-사용">GetBuilder 사용</h4>
<blockquote>
<h1 id="번외">번외</h1>
</blockquote>
<h4 id="getfindcountcontrollerwithgetxincrease">Get.find&lt;CountControllerWithGetX&gt;().increase();</h4>
<h4 id="위의-표현-간단히-하기">위의 표현 간단히 하기</h4>
<h4 id="컨트롤러에-아래와-같은-선언">컨트롤러에 아래와 같은 선언</h4>
<p><img src="https://images.velog.io/images/jaun_/post/d899097a-496a-4456-b293-1c5e607f8855/image.png" alt=""></p>
<h4 id="사용할-때-는-아래와-같이-사용-getfind-요로케-번거롭게-작성안해도-됨">사용할 때 는 아래와 같이 사용 Get.find&lt;&gt;() 요로케 번거롭게 작성안해도 됨</h4>
<p><img src="https://images.velog.io/images/jaun_/post/31916e5d-92ff-4400-a025-4fc69e1c979a/image.png" alt=""></p>
<h4 id="더-편리한-방법">더 편리한 방법</h4>
<p><img src="https://images.velog.io/images/jaun_/post/19b9fbb9-c55d-468d-aa5f-3d4a761b6b66/image.png" alt=""></p>
<h4 id="statelesswidget-지우고-getviewcontroller-로-변경">StatelessWidget 지우고 GetView&lt;Controller&gt; 로 변경</h4>
<p><img src="https://images.velog.io/images/jaun_/post/724ce955-1318-4704-8a0c-eaea22f72d23/image.png" alt=""></p>
<hr/>

<p><img src="https://images.velog.io/images/jaun_/post/76cf0bc1-b9f9-4fa6-9fb6-ebb5d2f98c49/image.png" alt=""></p>
<h4 id="사용-할-때는-훨씬-더-간결하게-바뀜">사용 할 때는 훨씬 더 간결하게 바뀜</h4>
<p><img src="https://images.velog.io/images/jaun_/post/82a3f832-d9d8-47ff-81bb-6449f21a2cbf/image.png" alt=""></p>
<hr/>

<h4 id="getbuilder-간결하게-사용-obx">GetBuilder&lt;&gt;() 간결하게 사용 (Obx)</h4>
<p><img src="https://images.velog.io/images/jaun_/post/91a65361-e495-4fc1-9dc8-9adbd4fa1c49/image.png" alt=""></p>
<h4 id="아래와-같이-바꾸고-바로-실행하면-에러남">아래와 같이 바꾸고 바로 실행하면 에러남</h4>
<h4 id="왜냐하면-obx는-observerable-타입으로-써야함">왜냐하면 Obx는 observerable 타입으로 써야함</h4>
<p><img src="https://images.velog.io/images/jaun_/post/835177a2-900e-4b67-827c-19699b05f44e/image.png" alt=""></p>
<h4 id="해당-컨트롤러로-가서">해당 컨트롤러로 가서</h4>
<p><img src="https://images.velog.io/images/jaun_/post/3e9d0a55-1049-48b3-8793-1e42f2c9da2b/image.png" alt=""></p>
<h4 id="기존-코드를-아래와-같이-rx--0obs-로-해주면-에러-없이-잘-됨">기존 코드를 아래와 같이 Rx... = 0.obs 로 해주면 에러 없이 잘 됨</h4>
<p><img src="https://images.velog.io/images/jaun_/post/8986347c-2912-4fbb-9a7c-7859f80ca2ca/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[GetX - 의존성 주입]]></title>
            <link>https://velog.io/@jaun_/GetX-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85</link>
            <guid>https://velog.io/@jaun_/GetX-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85</guid>
            <pubDate>Wed, 05 Jan 2022 13:19:31 GMT</pubDate>
            <description><![CDATA[<blockquote>
<h1 id="getput">Get.Put</h1>
</blockquote>
<p><img src="https://images.velog.io/images/jaun_/post/05f7587d-671f-4aa4-ad2e-66565f2f1975/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202022-01-05%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.41.26.png" alt=""></p>
<h4 id="버튼에-getto를-이용하여-다른-페이지로-이동-그와-동시에-해당-페이지에서-사용할-컨트롤러-바인딩">버튼에 Get.to()를 이용하여 다른 페이지로 이동, 그와 동시에 해당 페이지에서 사용할 컨트롤러 바인딩.</h4>
<p><img src="https://images.velog.io/images/jaun_/post/eaa9ea0b-879a-465b-bea3-090e7759cbad/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202022-01-05%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.43.45.png" alt=""></p>
<h4 id="getput-버튼을-누르면-해당-페이지로-라우팅-됨">GetPut 버튼을 누르면 해당 페이지로 라우팅 됨</h4>
<p><img src="https://images.velog.io/images/jaun_/post/13fe6919-036d-470c-95b8-4ddaa2c64809/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202022-01-05%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.44.29.png" alt=""></p>
<h4 id="라우팅-되면서-위의-로그와-같이-컨트롤러-인스턴스-생성-및-초기화">라우팅 되면서 위의 로그와 같이 컨트롤러 인스턴스 생성 및 초기화</h4>
<p><img src="https://images.velog.io/images/jaun_/post/89f17806-2516-4adc-b5b1-c80334171fab/image.png" alt=""></p>
<h4 id="뒤로가기-버튼을-누르면-알아서-인스턴스-삭제-및-메모리-제거">뒤로가기 버튼을 누르면 알아서 인스턴스 삭제 및 메모리 제거</h4>
<blockquote>
<h1 id="getlazyput">Get.lazyPut</h1>
</blockquote>
<p><img src="https://images.velog.io/images/jaun_/post/85e7e92a-4b0d-49b5-b377-ae3af34d791d/image.png" alt=""></p>
<h4 id="lazyput-사용하기-위한-버튼-생성">lazyPut 사용하기 위한 버튼 생성</h4>
<h4 id="lazyput은-빌더-형식을-쓰기-때문에-사용할-클래스-및----형태로-사용">lazyPut은 빌더 형식을 쓰기 때문에 &lt;사용할 클래스&gt; 및 ( ()=&gt; ) 형태로 사용</h4>
<p><img src="https://images.velog.io/images/jaun_/post/444d5571-b876-48e1-94d2-24b6d6714203/image.png" alt=""></p>
<h4 id="getlazyput-버튼을-클릭하면">Get.lazyPut 버튼을 클릭하면</h4>
<p><img src="https://images.velog.io/images/jaun_/post/afb665e7-aa65-4694-b20b-c8fdb96795d0/image.png" alt=""></p>
<h4 id="getput을-사용했을-때와-달리-인스턴스가-생성-되지-않는다-lazyput은-해당-컴포넌트-내부에서-무언가가-동작할때-인스턴스를-생성하고-초기화-한다">Get.Put을 사용했을 때와 달리 인스턴스가 생성 되지 않는다. lazyPut은 해당 컴포넌트 내부에서 무언가가 동작할때 인스턴스를 생성하고 초기화 한다.</h4>
<p><img src="https://images.velog.io/images/jaun_/post/8045524c-c486-412f-9c1b-d391d75b9b73/image.png" alt=""></p>
<h4 id="해당-페이지로-넘어와-작은-버튼을-클릭하면">해당 페이지로 넘어와 작은 버튼을 클릭하면</h4>
<p><img src="https://images.velog.io/images/jaun_/post/28220d1d-34da-45ad-b6c1-ee1c4ed54205/image.png" alt=""> </p>
<h4 id="그때-인스턴스-생성-및-초기화--뒤로가기-버튼을-클릭하면-인스턴스-삭제-및-메모리-제거는-동일하게-작동한다">그때 인스턴스 생성 및 초기화 / 뒤로가기 버튼을 클릭하면 인스턴스 삭제 및 메모리 제거는 동일하게 작동한다.</h4>
<blockquote>
<h1 id="getputasync">Get.putAsync</h1>
</blockquote>
<h4 id="페이지-라우팅-할-때-데이터를-받아오거나-가공처리를-오래동안-하고-나서-컨트롤러를-인스턴스화-해야-할-때-사용">페이지 라우팅 할 때 데이터를 받아오거나, 가공처리를 오래동안 하고 나서 컨트롤러를 인스턴스화 해야 할 때 사용</h4>
<p><img src="https://images.velog.io/images/jaun_/post/5a8beb53-5876-4764-aa16-373276c3c629/image.png" alt=""></p>
<h4 id="위와-같이-사용-await는-테스트-해보기-위해-딜레이를-5초-줌">위와 같이 사용 await는 테스트 해보기 위해 딜레이를 5초 줌</h4>
<p><img src="https://images.velog.io/images/jaun_/post/f6ef95af-17e5-4763-8657-5be30269c0da/image.png" alt=""></p>
<h4 id="getputasync-버튼을-누르면">Get.putAsync 버튼을 누르면</h4>
<p><img src="https://images.velog.io/images/jaun_/post/f7063fe8-ac26-4ded-86a2-0c2ab85f0852/image.png" alt=""></p>
<h4 id="페이지는-라우팅-되었지만-5초동안-인스턴스-생성-안됨">페이지는 라우팅 되었지만 5초동안 인스턴스 생성 안됨</h4>
<p><img src="https://images.velog.io/images/jaun_/post/92f6b334-3109-41d4-8986-6ab2f3cd5c41/image.png" alt=""></p>
<h4 id="5초후-인스턴스-생성-및-초기화-실행됨">5초후 인스턴스 생성 및 초기화 실행됨</h4>
<blockquote>
<h1 id="getcreate">Get.create</h1>
</blockquote>
<p><img src="https://images.velog.io/images/jaun_/post/9d199ebf-97b5-4d94-9a37-7046162cf99c/image.png" alt=""></p>
<h4 id="위의-getput-getlazyput-getputasync-는-싱글톤-패턴으로-작동">위의 Get.put, Get.lazyPut, Get.putAsync 는 싱글톤 패턴으로 작동</h4>
<h4 id="getcreate는-인스턴스가-계속-생성됨">Get.create는 인스턴스가 계속 생성됨</h4>
<p><img src="https://images.velog.io/images/jaun_/post/d4574529-35a7-4517-bca9-e2cb8e38e476/image.png" alt=""></p>
<h4 id="getcreate-버튼을-하면-페이지가-라우트-되지만-인스터스는-바로-생성되지-않음">Get.create 버튼을 하면 페이지가 라우트 되지만 인스터스는 바로 생성되지 않음</h4>
<p><img src="https://images.velog.io/images/jaun_/post/3fdd7afd-c0bf-498f-b1b8-750eb4200b6c/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/jaun_/post/41e286c2-6ac7-48a0-ad1e-59e0d31162e7/image.png" alt=""></p>
<h4 id="버튼을-클릭하면">버튼을 클릭하면</h4>
<p><img src="https://images.velog.io/images/jaun_/post/3b3cf9f6-985a-47e6-a5c7-9c9a7d262a63/image.png" alt=""></p>
<h4 id="인스턴스-생성됨">인스턴스 생성됨</h4>
<h4 id="버튼을-몇번-더-눌러보면">버튼을 몇번 더 눌러보면</h4>
<p><img src="https://images.velog.io/images/jaun_/post/1151199e-0956-4391-856a-9d3e11c349ac/image.png" alt=""></p>
<h4 id="버튼-횟수를-누른-만큼-인스턴스가-생성이-되어버림">버튼 횟수를 누른 만큼 인스턴스가 생성이 되어버림</h4>
<hr/>

<h2 id="결론">결론</h2>
<h2 id="getput-getlazyput만-잘-써도-나쁘지-않다">Get.put, Get.lazyPut만 잘 써도 나쁘지 않다.</h2>
]]></description>
        </item>
        <item>
            <title><![CDATA[GetX - 반응형 상태관리]]></title>
            <link>https://velog.io/@jaun_/GetX-%EB%B0%98%EC%9D%91%ED%98%95-%EC%83%81%ED%83%9C%EA%B4%80%EB%A6%AC</link>
            <guid>https://velog.io/@jaun_/GetX-%EB%B0%98%EC%9D%91%ED%98%95-%EC%83%81%ED%83%9C%EA%B4%80%EB%A6%AC</guid>
            <pubDate>Tue, 28 Dec 2021 13:50:19 GMT</pubDate>
            <description><![CDATA[<h1 id="getx-이용-반응형-상태-관리">GetX 이용 반응형 상태 관리</h1>
<p>-&gt; Controller 생성</p>
<p><img src="https://images.velog.io/images/jaun_/post/225162b8-7187-42a1-9a6c-311afc9ceee4/image.png" alt=""></p>
<ul>
<li>GetxContoller 상속이 필요없음</li>
</ul>
<p>-&gt; 컨트롤러 인스턴스 선언
<img src="https://images.velog.io/images/jaun_/post/d017f810-696a-42c8-9a4a-d23aa30daf05/image.png" alt=""></p>
<ul>
<li>상위트리 뿐만 아니라 자기자신 트리에도 선언가능</li>
</ul>
<p>-&gt; Obx 이용하여 사용
<img src="https://images.velog.io/images/jaun_/post/08375b8f-0f8e-44b9-a72c-7091730fe265/image.png" alt=""></p>
<p>-&gt; 이부분은 단순 상태관리랑 동일
<img src="https://images.velog.io/images/jaun_/post/bb8cb38b-1c6f-4348-840c-0668ac67f90d/image.png" alt=""></p>
<hr>
-> 카운트를 5로 변경하기 위한 함수 생성
* count = value 하면 안됨
* coount(value) 해야함 옵저버 패턴이라서?
![](https://images.velog.io/images/jaun_/post/e572c581-16c0-417d-a0be-b7dd8c7523fe/image.png)

<p><img src="https://images.velog.io/images/jaun_/post/0229468d-8c81-480c-b0c3-51dd412bfdf1/image.png" alt=""></p>
<ul>
<li>putNumber 함수 사용시에는 만약에 카운트가 5가 아닐 경우는 화면이 다시 빌드 되지만, 5일 경우에는 화면이 다시 빌드 되지 않음.</li>
</ul>
<hr>
### 추가 기능

<p>-&gt; GetxController 상속받은 후 
<img src="https://images.velog.io/images/jaun_/post/502b7e84-5c81-4dd2-8505-b9061c306f97/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-12-28%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2010.21.12.png" alt=""></p>
<p>등등 override 메소드를 사용할 수 있다.
<img src="https://images.velog.io/images/jaun_/post/2585781a-7e4a-4c17-a5ec-f855fb335387/image.png" alt=""></p>
<ul>
<li>주로 사용하는건 onInit(), onClose()
<img src="https://images.velog.io/images/jaun_/post/631c500e-be7f-495c-857f-74174a8278da/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-12-28%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2010.47.36.png" alt=""></li>
</ul>
<p>-&gt; Rx 타입들 거의 모든 타입 다 있음
<img src="https://images.velog.io/images/jaun_/post/7fbf671a-254b-4b1e-87f2-f34f1173de49/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-12-28%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2010.49.23.png" alt=""></p>
<p>-&gt; 사용방법 
<img src="https://images.velog.io/images/jaun_/post/06e3ce65-e171-4cad-a650-f18d89a3ad13/image.png" alt=""></p>
<h1 id="끝">끝!</h1>
]]></description>
        </item>
        <item>
            <title><![CDATA[GetX - 단순상태관리]]></title>
            <link>https://velog.io/@jaun_/GetX-%EB%8B%A8%EC%88%9C%EC%83%81%ED%83%9C%EA%B4%80%EB%A6%AC</link>
            <guid>https://velog.io/@jaun_/GetX-%EB%8B%A8%EC%88%9C%EC%83%81%ED%83%9C%EA%B4%80%EB%A6%AC</guid>
            <pubDate>Tue, 28 Dec 2021 12:23:25 GMT</pubDate>
            <description><![CDATA[<h1 id="provider-vs-getx">Provider vs. GetX</h1>
<h2 id="provider-이용-단순-상태-관리">Provider 이용 단순 상태 관리</h2>
<p>-&gt; Provider 생성
<img src="https://images.velog.io/images/jaun_/post/9c1eae52-d571-43c0-9572-048535d4eb7b/image.png" alt=""></p>
<p>-&gt; 상위 트리에 있는 파일에 Provider 선언?
<img src="https://images.velog.io/images/jaun_/post/a43524c7-e04a-4d4a-b6d6-95483affbbe5/image.png" alt=""></p>
<p>-&gt; Provider 사용 with Consumer</p>
<pre><code>    Consumer&lt;CountControllerWithProvider&gt;(builder: (_, snapshot, child) {
            return Text(
              &#39;${snapshot.count}&#39;,
              style: TextStyle(fontSize: 30),
            );
          }),
          RaisedButton(
            child: Text(
              &#39;+&#39;,
              style: TextStyle(fontSize: 30),
            ),
            onPressed: () {
              Provider.of&lt;CountControllerWithProvider&gt;(context, listen: false).increase();
            },
          )</code></pre><p>Provider.of&lt;Provider&gt;(context, listen:false)
// 전체 페이지 리빌딩 안함 =&gt; 컨슈머가 있을 경우는 false</p>
<p>Provider.of&lt;Provider&gt;(context, (listen:true))
// 전체 페이지 리빌딩 =&gt; true 일 경우 생략 가능</p>
<h2 id="getx-이용-단순-상태-관리">GetX 이용 단순 상태 관리</h2>
<p>-&gt; GetxController 생성
<img src="https://images.velog.io/images/jaun_/post/80ddc3fc-7ff4-4d6d-8db9-07a27337f54e/image.png" alt=""></p>
<p>-&gt; Controller 선언
-&gt; Get.put(Controller선언한 클래스)
<img src="https://images.velog.io/images/jaun_/post/4e41f83c-4f2f-4315-9e3b-c5628b9f07aa/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-12-28%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.10.06.png" alt=""></p>
<ul>
<li>상위 트리가 아닌 사용하는 트리에서 선언해도 상관없음 (선언 위치에 제약이 크지않다)</li>
</ul>
<p>-&gt; GetxController 사용</p>
<pre><code>    GetBuilder&lt;CountControllerWithGetX&gt;(
            builder: (controller) {
              return Text(
                &#39;${controller.count}&#39;,
                style: TextStyle(fontSize: 30),
              );
            },
          ),
          RaisedButton(
            child: Text(&#39;+&#39;, style: TextStyle(fontSize: 30)),
            onPressed: () {
              Get.find&lt;CountControllerWithGetX&gt;().increase();
            },
          ),</code></pre><p>받는 쪽 (Provider에선 Consumer) 에선 GetBuilder&lt;&gt; 사용
보내는 쪽?(Provider.of(~~)) 에서는 Get.find&lt;&gt; 사용</p>
<h2 id="getx-사용-시-추가-기능">GetX 사용 시 추가 기능</h2>
<p>-&gt; 한 컨트롤러로 두개의 위젯 동시에 사용 할 경우 id 파라미터 추가하여 구분 가능
<img src="https://images.velog.io/images/jaun_/post/b9f7f738-8b6e-484f-acda-84e13bb5b4a8/image.png" alt=""></p>
<p>-&gt; 컨르롤러 부분 함수 정의 
<img src="https://images.velog.io/images/jaun_/post/6a60220c-5599-4204-89fa-58bd7230a5c1/image.png" alt=""></p>
<p>-&gt; 버튼에 id값을 인자로 받아 컨트롤러로 전달? 하는 방식
<img src="https://images.velog.io/images/jaun_/post/2f59abe5-6025-49e6-a7bd-fbe9b99ff79d/image.png" alt=""></p>
<h1 id="끝">끝!</h1>
]]></description>
        </item>
        <item>
            <title><![CDATA[Flutter GetX 사용법 - 라우트]]></title>
            <link>https://velog.io/@jaun_/Flutter-GetX-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%9D%BC%EC%9A%B0%ED%8A%B8</link>
            <guid>https://velog.io/@jaun_/Flutter-GetX-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%9D%BC%EC%9A%B0%ED%8A%B8</guid>
            <pubDate>Mon, 27 Dec 2021 14:12:38 GMT</pubDate>
            <description><![CDATA[<h1 id="-getx-이용-페이지-라우트">@ GetX 이용 페이지 라우트</h1>
<h3 id="일반적인-라우트-형태">일반적인 라우트 형태</h3>
<pre><code>onPressed: () {
        // 일반적인 라우트 형태 (페이지 이동)
                Navigator.of(context)
                    .push(MaterialPageRoute(builder: (context) =&gt; FirstPage()));
                // 일반적인 라우트 형태 (페이지 뒤로가기)
        Navigator.of(context).pop();
            // 일반적인 라우트 형태 (홈으로 가기 (이전 히스토리 삭제))
                Navigator.of(context).pushAndRemoveUntil(
                    MaterialPageRoute(builder: (context) =&gt; Home()),
                    (route) =&gt; false);

              },</code></pre><h3 id="getx-이용-라우트-형태">GetX 이용 라우트 형태</h3>
<pre><code>onPressed: () {
        // GetX를 사용한 라우트 형태 (페이지 이동)
                Get.to(FirstPage());
         // GetX를 사용한 라우트 형태 (페이지 뒤로가기)   
            Get.back();
                // GetX를 사용한 라우트 형태 (홈으로 가기 (이전 히스토리 삭제))
                   Get.offAll(Home());
              },</code></pre><h3 id="getx-이용하여-라우트-했을-때의-콘솔창">GetX 이용하여 라우트 했을 때의 콘솔창</h3>
<p>콘솔에 라우트 동작을 찍어줌
<img src="https://images.velog.io/images/jaun_/post/ca623466-2bfa-4063-b035-d72fe727f294/image.png" alt=""></p>
<h4 id="-엄청-간단하고-깔끔해짐">=&gt; 엄청 간단하고 깔끔해짐</h4>
<h1 id="-named-라우트">@ Named 라우트</h1>
<h3 id="일반">일반</h3>
<p><img src="https://images.velog.io/images/jaun_/post/ffc27df0-34dd-49e5-b345-5555ac559b69/image.png" alt=""></p>
<p>main.dart에 라우트 설정</p>
<pre><code> onPressed: () {
                // 일반적 (페이지 이동)
                // Navigator.of(context).pushNamed(&quot;/first&quot;);              
              },</code></pre><p>하는 방식</p>
<h3 id="getx-사용">GetX 사용</h3>
<p><img src="https://images.velog.io/images/jaun_/post/9d21ea4c-7882-48d9-aea0-083b032363f3/image.png" alt=""></p>
<p>main.dart에 getPages로 Named 설정(transition은 페이징 효과?(페이지 이동될 때 효과) 설정)</p>
<pre><code>onPressed: () {
                // GetX (페이지 이동)
                Get.toNamed(&quot;/first&quot;);
                // 현재 페이지 히스토리 지우고 이동
                Get.offNamed(&quot;/second&quot;);
                // 모든 히스토리 지우고 홈으로 이동
                Get.offAllNamed(&#39;/&#39;);
              },</code></pre><h1 id="-argument-전달">@ Argument 전달</h1>
<pre><code>onPressed: () {
                Get.toNamed(&quot;/next&quot;, arguments: &quot;Juan&quot;);
                Get.toNamed(&quot;/next&quot;, arguments: 30);
                Get.toNamed(&quot;/next&quot;, arguments: User(name:&#39;Juan&#39;, age:30));
              },</code></pre><p><img src="https://images.velog.io/images/jaun_/post/44f71ab5-8355-4348-95e8-4e7253e550a6/image.png" alt=""></p>
<h2 id="-결론--일반적인-식-보다는-훨씬-간단하게-표현되고-함수-자체의-기능들이-많으므로-아주-애용할-라이브러리가-될-것-같다">$ 결론 : 일반적인 식 보다는 훨씬 간단하게 표현되고, 함수 자체의 기능들이 많으므로 아주 애용할 라이브러리가 될 것 같다.</h2>
]]></description>
        </item>
        <item>
            <title><![CDATA[C# - 파일 존재 여부 확인 방법]]></title>
            <link>https://velog.io/@jaun_/C-%ED%8C%8C%EC%9D%BC-%EC%A1%B4%EC%9E%AC-%EC%97%AC%EB%B6%80-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95</link>
            <guid>https://velog.io/@jaun_/C-%ED%8C%8C%EC%9D%BC-%EC%A1%B4%EC%9E%AC-%EC%97%AC%EB%B6%80-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95</guid>
            <pubDate>Tue, 21 Dec 2021 23:23:24 GMT</pubDate>
            <description><![CDATA[<pre><code>using System.IO;

// 현재 디렉토리안에 Service.csv라는 파일을 스트링형으로 변수 저장
string fileName = Directory.GetCurrentDirectory() + @&quot;\Service.csv&quot;;

FileInfo ServiceFile = new FileInfo(fileName);

// 해당 파일이 존재할 시 true, 없으면 false.
if (ServiceFile.Exists) 
{
    // 파일이 있을 때
}
else
{
    // 파일이 없을 때
}</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[WPF - DataTemplate 하위 요소 Style 적용]]></title>
            <link>https://velog.io/@jaun_/WPF-DataTemplate-%ED%95%98%EC%9C%84-%EC%9A%94%EC%86%8C-Style-%EC%A0%81%EC%9A%A9</link>
            <guid>https://velog.io/@jaun_/WPF-DataTemplate-%ED%95%98%EC%9C%84-%EC%9A%94%EC%86%8C-Style-%EC%A0%81%EC%9A%A9</guid>
            <pubDate>Mon, 29 Nov 2021 04:49:03 GMT</pubDate>
            <description><![CDATA[<h4 id="listview-item의-datatemplate의-textblock-및-rectangle의-색을-코드로-직접-정하고-싶었음">ListView Item의 DataTemplate의 TextBlock 및 Rectangle의 색을 코드로 직접 정하고 싶었음</h4>
<pre><code>  &lt;ListView ItemsSource=&quot;{Binding FileInfos}&quot; 
                  SelectedItem=&quot;{Binding SelectedFileInfo}&quot;
                  Style=&quot;{DynamicResource FileLoadListViewStyle}&quot;
                  ItemContainerStyle=&quot;{StaticResource FileItemStyle}&quot;
                  x:Name=&quot;xFileInfoListView&quot;&gt;
            &lt;ListView.ItemsPanel&gt;
                &lt;ItemsPanelTemplate &gt;
                    &lt;WrapPanel/&gt;
                &lt;/ItemsPanelTemplate&gt;
            &lt;/ListView.ItemsPanel&gt;

            &lt;ListView.ItemTemplate&gt;
                &lt;DataTemplate&gt;
                    &lt;DockPanel Loaded=&quot;FrameworkElement_OnLoaded&quot;&gt;
                        &lt;TextBlock  x:Name=&quot;xTextBlockInDataTemplate&quot; DockPanel.Dock=&quot;Bottom&quot; Text=&quot;{Binding Name}&quot; Style=&quot;{DynamicResource FileViewerListItemTextBlockStyle}&quot;  /&gt;
                        &lt;Rectangle x:Name=&quot;xRectangleInDataTemplate&quot; Style=&quot;{DynamicResource FileViewerRectangleStyle}&quot;&gt;
                            &lt;Rectangle.OpacityMask&gt;
                                &lt;VisualBrush Stretch=&quot;Fill&quot; Visual=&quot;{DynamicResource BinaryFile}&quot;/&gt;
                            &lt;/Rectangle.OpacityMask&gt;
                        &lt;/Rectangle&gt;
                    &lt;/DockPanel&gt;
                &lt;/DataTemplate&gt;
            &lt;/ListView.ItemTemplate&gt;

        &lt;/ListView&gt;</code></pre><h4 id="datatemplate의-요소의-이름을-주어도-직접적으로-접근을-할-수-없음">DataTemplate의 요소의 이름을 주어도 직접적으로 접근을 할 수 없음.</h4>
<h3 id="해결방법">해결방법</h3>
<h4 id="visualtreehelper를-사용하여-해결">VisualTreeHelper를 사용하여 해결</h4>
<pre><code>    private childItem FindVisualChild&lt;childItem&gt;(DependencyObject obj)
            where childItem : DependencyObject
        {
            for (int i = 0; i &lt; VisualTreeHelper.GetChildrenCount(obj); i++)
            {
                DependencyObject child = VisualTreeHelper.GetChild(obj, i);
                if (child != null &amp;&amp; child is childItem)
                {
                    return (childItem)child;
                }
                else
                {
                    childItem childOfChild = FindVisualChild&lt;childItem&gt;(child);
                    if (childOfChild != null)
                        return childOfChild;
                }
            }
            return null;
        }

        public void DataTemplateElementsColorChange(ColorBuffer buffer)
        {
            var xListView = _FileInfoComponentV.xFileInfoListView;
            foreach (var item in xListView.Items.SourceCollection)
            {
                System.Windows.Controls.ListViewItem myListViewItems =
                    (System.Windows.Controls.ListViewItem)(xListView.ItemContainerGenerator.ContainerFromItem(item));
                if (myListViewItems != null)
                {
                    ContentPresenter myContentPresenter = FindVisualChild&lt;ContentPresenter&gt;(myListViewItems);
                    DataTemplate myDataTemplate = myContentPresenter.ContentTemplate;
                    DataTemplate myDataTemplate2 = myListViewItems.ContentTemplate;
                    TextBlock myTextBlock = (TextBlock)myDataTemplate.FindName(&quot;xTextBlockInDataTemplate&quot;, myContentPresenter);
                    Rectangle myRectangle = (Rectangle)myDataTemplate.FindName(&quot;xRectangleInDataTemplate&quot;, myContentPresenter);

                    myTextBlock.Foreground =
                        new SolidColorBrush(buffer.TextForegroundColor);
                    myRectangle.Fill = new SolidColorBrush(buffer.TextForegroundColor);
                }
            }
        }</code></pre><h4 id="여기서-요소의-제일-안쪽에-있는-contentpresenter에-접근하여-바꿀-수-있었다">여기서 요소의 제일 안쪽에 있는 ContentPresenter에 접근하여 바꿀 수 있었다.</h4>
<h2 id="wpf-아주-어렵다">WPF 아주 어렵다.</h2>
]]></description>
        </item>
        <item>
            <title><![CDATA[[인프런] 따라하며 배우는 노드, 리액트 시리즈 - 기본강의 - 10강]]></title>
            <link>https://velog.io/@jaun_/%EC%9D%B8%ED%94%84%EB%9F%B0-%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%85%B8%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%8B%9C%EB%A6%AC%EC%A6%88-%EA%B8%B0%EB%B3%B8%EA%B0%95%EC%9D%98-10%EA%B0%95</link>
            <guid>https://velog.io/@jaun_/%EC%9D%B8%ED%94%84%EB%9F%B0-%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%85%B8%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%8B%9C%EB%A6%AC%EC%A6%88-%EA%B8%B0%EB%B3%B8%EA%B0%95%EC%9D%98-10%EA%B0%95</guid>
            <pubDate>Wed, 11 Aug 2021 12:40:38 GMT</pubDate>
            <description><![CDATA[<h1 id="bcrypt-이용하여-비밀번호-암호화-하기">bcrypt 이용하여 비밀번호 암호화 하기</h1>
<h2 id="bcrypt-설치">bcrypt 설치</h2>
<p>$ npm install bcrypt --save</p>
<p><img src="https://images.velog.io/images/jaun_/post/abd36cbc-56b6-4894-9d9d-2667bc0771ba/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.14.17.png" alt=""></p>
<p>설치가 끝나면 package.json 의 dependencies에 자동으로 추가 됨</p>
<h2 id="db와-연관된-js-파일에-bcrypt-및-saltrounds-변수-선언">DB와 연관된 .js 파일에 bcrypt 및 saltRounds 변수 선언</h2>
<h3 id="필자는-userjs-파잎에-선언">필자는 User.js 파잎에 선언</h3>
<p><img src="https://images.velog.io/images/jaun_/post/afcd065c-19a3-4e36-9a85-da6ca98b4b51/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.31.16.png" alt=""></p>
<h2 id="save하기-전에-암호화-해야함">save하기 전에 암호화 해야함</h2>
<p><img src="https://images.velog.io/images/jaun_/post/9595835f-2813-4180-9e06-dc6c549da3a1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.36.09.png" alt=""></p>
<h3 id="saltrounds--암호화-후의-글자수">saltRounds =&gt; 암호화 후의 글자수</h3>
<h2 id="postman으로-정보-send">postman으로 정보 send</h2>
<p><img src="https://images.velog.io/images/jaun_/post/200a52e4-bae8-4bbc-b90d-0ff55841ff31/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.36.43.png" alt=""></p>
<h2 id="db로-전송된-데이터">DB로 전송된 데이터</h2>
<p><img src="https://images.velog.io/images/jaun_/post/0a47fe79-c651-4e86-bdb5-97c10c3bd5b7/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.37.29.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[인프런] 따라하며 배우는 노드, 리액트 시리즈 - 기본강의 - 9강]]></title>
            <link>https://velog.io/@jaun_/%EC%9D%B8%ED%94%84%EB%9F%B0-%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%85%B8%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%8B%9C%EB%A6%AC%EC%A6%88-%EA%B8%B0%EB%B3%B8%EA%B0%95%EC%9D%98-9%EA%B0%95</link>
            <guid>https://velog.io/@jaun_/%EC%9D%B8%ED%94%84%EB%9F%B0-%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%85%B8%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%8B%9C%EB%A6%AC%EC%A6%88-%EA%B8%B0%EB%B3%B8%EA%B0%95%EC%9D%98-9%EA%B0%95</guid>
            <pubDate>Wed, 11 Aug 2021 11:38:24 GMT</pubDate>
            <description><![CDATA[<h1 id="비밀-정보-보호">비밀 정보 보호</h1>
<h3 id="db-정보같은-비밀-정보는-보호되어야-한다">DB 정보같은 비밀 정보는 보호되어야 한다</h3>
<p><img src="https://images.velog.io/images/jaun_/post/fcc75e1e-90cb-4295-b582-6f16fa42349a/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.28.30.png" alt=""></p>
<h4 id="소스코드상에-db-정보가-담겨있으면-github-같은-코드를-확인-할-수-있는-곳에-업로드-되면-보안이-취약해진다">소스코드상에 DB 정보가 담겨있으면 github 같은 코드를 확인 할 수 있는 곳에 업로드 되면 보안이 취약해진다.</h4>
<h2 id="local--production">Local &amp; Production</h2>
<h3 id="local-과-production-에서-정보를-따로-관리해야한다">local 과 Production 에서 정보를 따로 관리해야한다.</h3>
<p><img src="https://images.velog.io/images/jaun_/post/ef5363db-961a-45e0-9156-e3c4adcaeb9d/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.31.16.png" alt=""></p>
<h3 id="devjs--local-환경-">dev.js ( Local 환경 )</h3>
<p><img src="https://images.velog.io/images/jaun_/post/03a76e60-756f-436d-9904-7e2150077809/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.32.43.png" alt=""></p>
<h3 id="prodjs--production-배포-환경-">prod.js ( Production (배포) 환경 )</h3>
<p><img src="https://images.velog.io/images/jaun_/post/d35d7a55-357e-4ee3-9bcc-170ee2afbcc5/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.34.15.png" alt=""></p>
<h3 id="keyjs-local-환경인지-prod-환경인지-체크해서-값-리턴">key.js (local 환경인지 prod 환경인지 체크해서 값 리턴)</h3>
<p><img src="https://images.velog.io/images/jaun_/post/a76bda0d-60d6-4254-9e22-1acad7ff57b7/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.35.28.png" alt=""></p>
<h2 id="indexjs-에서-변수-선언">index.js 에서 변수 선언</h2>
<p><img src="https://images.velog.io/images/jaun_/post/d5d92e0a-6218-4ccc-a522-e5fa123b77c9/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.35.48.png" alt=""></p>
<h2 id="indexjs에서-mongodb연결">index.js에서 mongoDB연결</h2>
<h4 id="configmongouri-입력">config.mongoURI 입력</h4>
<p><img src="https://images.velog.io/images/jaun_/post/752924ff-07c9-4f41-9093-f468988e666f/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.37.12.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[인프런] 따라하며 배우는 노드, 리액트 시리즈 - 기본강의 - 8강]]></title>
            <link>https://velog.io/@jaun_/70logm1s</link>
            <guid>https://velog.io/@jaun_/70logm1s</guid>
            <pubDate>Wed, 11 Aug 2021 11:15:14 GMT</pubDate>
            <description><![CDATA[<h1 id="nodemon-설치">nodemon 설치</h1>
<h3 id="nodemon-이란">nodemon 이란?</h3>
<h4 id="코드-내용을-변경-후-서버를-죽였다가-다시-실행해야하는-귀찮음을-없애기-위해-저장하고-새로고침하면-바로-반영-될-수-있도록-해-주는-것">코드 내용을 변경 후 서버를 죽였다가 다시 실행해야하는 귀찮음을 없애기 위해 저장하고 새로고침하면 바로 반영 될 수 있도록 해 주는 것</h4>
<h3 id="nodemon-설치-1">nodemon 설치</h3>
<p>$ npm install nodemon --save-dev
<img src="https://images.velog.io/images/jaun_/post/36eb41c6-9ad4-4ac9-9fce-5e0bce65eb75/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.11.20.png" alt=""></p>
<h3 id="packagejson에-추가된-nodemon">package.json에 추가된 nodemon</h3>
<p><img src="https://images.velog.io/images/jaun_/post/3c024c9a-78a5-4e48-aeed-775a484c4fb9/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.12.09.png" alt=""></p>
<h3 id="nodemon-을-통해-시작-하기위한-스크립트-작성">nodemon 을 통해 시작 하기위한 스크립트 작성</h3>
<p><img src="https://images.velog.io/images/jaun_/post/eac018f7-599d-40ba-86d2-134ee638bdd8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.12.56.png" alt="">
&quot;backend&quot; 대신 아무거나 적어도 상관없음</p>
<h3 id="nodemon-을-통해-시작">nodemon 을 통해 시작</h3>
<p>$ npm run backend
<img src="https://images.velog.io/images/jaun_/post/b74429f8-dca7-4f86-ac9f-dbb5b9af728f/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.14.27.png" alt=""></p>
<h3 id="코드상-변경-내용을-적용하고-웹페이지를-새로고침-하면-변화된-부분이-바로-적용됨">코드상 변경 내용을 적용하고 웹페이지를 새로고침 하면 변화된 부분이 바로 적용됨!</h3>
]]></description>
        </item>
        <item>
            <title><![CDATA[[인프런] 따라하며 배우는 노드, 리액트 시리즈 - 기본강의]]></title>
            <link>https://velog.io/@jaun_/%EC%9D%B8%ED%94%84%EB%9F%B0-%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%85%B8%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%8B%9C%EB%A6%AC%EC%A6%88-%EA%B8%B0%EB%B3%B8%EA%B0%95%EC%9D%98</link>
            <guid>https://velog.io/@jaun_/%EC%9D%B8%ED%94%84%EB%9F%B0-%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%85%B8%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%8B%9C%EB%A6%AC%EC%A6%88-%EA%B8%B0%EB%B3%B8%EA%B0%95%EC%9D%98</guid>
            <pubDate>Mon, 09 Aug 2021 13:22:54 GMT</pubDate>
            <description><![CDATA[<h2 id="node-js">Node js</h2>
<h4 id="--자바스크립트를-서버-사이드에서도-쓸수있는-언어">- 자바스크립트를 서버 사이드에서도 쓸수있는 언어</h4>
<h2 id="express-js">Express js</h2>
<h4 id="--node-js-를-좀더-쉽게-사용할수-있게-해주는-프레임워크">- Node js 를 좀더 쉽게 사용할수 있게 해주는 프레임워크</h4>
<br>

<h3 id="node-js-다운로드">Node js 다운로드</h3>
<p>다운로드 후 버전 체크
<img src="https://images.velog.io/images/jaun_/post/7e196370-bb96-4ccc-bb0b-9f23fba73bd0/image.png" alt=""></p>
<p>documents에 node_js_test 폴더 생성</p>
<p><img src="https://images.velog.io/images/jaun_/post/99453af4-b9fd-4f98-9738-ff00f85b9243/image.png" alt=""></p>
<p>$ npm init
<img src="https://images.velog.io/images/jaun_/post/7cc9297d-210e-4c54-8c5b-b597da09642d/image.png" alt=""></p>
<p>VSCode로 해당 폴더 열면 package.json 생성되어 있는 것을 확인 할 수 있음
<img src="https://images.velog.io/images/jaun_/post/adadc06e-8983-48e7-83b4-65b1c6a8bb24/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-09%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2010.07.47.png" alt=""></p>
<p>index.js 생성 ( 시작점 )</p>
<p><img src="https://images.velog.io/images/jaun_/post/9257f487-ba5a-445e-a307-b9a800df3edb/image.png" alt=""></p>
<h3 id="express-js-다운로드">Express js 다운로드</h3>
<p><img src="https://images.velog.io/images/jaun_/post/9c43ce1a-720f-400f-997c-3a7619331d9e/image.png" alt=""></p>
<p>터미널에서 --save 하면 package.json 에 자동으로 저장됨
<img src="https://images.velog.io/images/jaun_/post/f1166773-d245-4eb3-8c75-9b3b2780a599/image.png" alt=""></p>
<p>express js 예제</p>
<p><img src="https://images.velog.io/images/jaun_/post/692357fa-5b90-4ce7-a775-041cb1f5e0d5/image.png" alt=""></p>
<p>package.json 에 script에 start 생성 ( index.js 시작점 )
<img src="https://images.velog.io/images/jaun_/post/87d45cbc-e0d5-437a-9fdc-b41f95cced82/image.png" alt=""></p>
<p>node js 실행 -&gt; $ npm run start </p>
<p><img src="https://images.velog.io/images/jaun_/post/f6d5ec24-0f9e-422d-9e61-6f85d6f5717a/image.png" alt=""></p>
<p>실행 결과 -&gt; localhost:5000</p>
<p><img src="https://images.velog.io/images/jaun_/post/ede2654d-06f0-480e-875c-b80fae3de29b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-09%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2010.20.28.png" alt=""></p>
]]></description>
        </item>
    </channel>
</rss>