<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jungmini__.log</title>
        <link>https://velog.io/</link>
        <description>안정민</description>
        <lastBuildDate>Tue, 31 Aug 2021 12:44:55 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jungmini__.log</title>
            <url>https://images.velog.io/images/jungmini__/profile/eb17b487-7e2c-45d2-91e6-4edae4b27842/social.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jungmini__.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jungmini__" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[JSX 문법]]></title>
            <link>https://velog.io/@jungmini__/JSX-%EB%AC%B8%EB%B2%95</link>
            <guid>https://velog.io/@jungmini__/JSX-%EB%AC%B8%EB%B2%95</guid>
            <pubDate>Tue, 31 Aug 2021 12:44:55 GMT</pubDate>
            <description><![CDATA[<ol>
<li>JSX에서 class를 지정할때 className으로 지정한다.</li>
<li>데이터 바인딩을 할때 {변수명}으로 바인딩 해준다.</li>
<li>함수를 {함수명()} 이런식으로 바인딩 하는것도 가능하다.</li>
<li>이미지를 넣을 때 바로 경로를 지정해줘도 되지만 보통 상단에 import를 한 다음 import한 변수명을 {변수명}으로 지정해준다. </li>
<li>style 같은것을 지정해줄 때는 Object형식으로 넣어준다. 그 이유는 style에 들어가는 기호들이 자바스크립트에 영향을 줄 수 있기 때문에 style에 직접적으로 지정을 해주면 오류가 난다.<blockquote>
<pre><code>  &lt;div style = { { color : &#39;blue&#39; } }&gt;&lt;/div&gt;&lt;/div&gt;</code></pre></blockquote>
</li>
<li>style에서 Object형식으로 지정해준다고 해도 - 기호가 들어간것은 그대로 지정을 해주면 안된다. 그래서 카멜네이밍 룰을 따라서 지정해준다.<blockquote>
<pre><code>  &lt;div style = { { fontSize : &#39;blue&#39; } }&gt;&lt;/div&gt;&lt;/div&gt;</code></pre></blockquote>
</li>
</ol>
<pre><code>function App() {
  let posts = {color : &#39;blue&#39; , fontSize : &#39;30px&#39;};
  return (
    &lt;div className=&quot;App&quot;&gt;
      &lt;div className=&quot;black-nav&quot;&gt;
        개발 Blog
      &lt;/div&gt;
      &lt;div style ={ posts }&gt;&lt;/div&gt;
    &lt;/div&gt;
  );
}</code></pre><p>이런식으로 지정도 가능하다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[리엑트 실행]]></title>
            <link>https://velog.io/@jungmini__/%EB%A6%AC%EC%97%91%ED%8A%B8-%EC%8B%A4%ED%96%89</link>
            <guid>https://velog.io/@jungmini__/%EB%A6%AC%EC%97%91%ED%8A%B8-%EC%8B%A4%ED%96%89</guid>
            <pubDate>Tue, 31 Aug 2021 12:14:42 GMT</pubDate>
            <description><![CDATA[<p>리액트를 본격적으로 실행시켜보자!</p>
<p>실행은 간단하게</p>
<blockquote>
<p>npm start</p>
</blockquote>
<p>구문을 터미널에 입력해주면 된다.</p>
<p><img src="https://images.velog.io/images/jungmini__/post/da7debc4-628e-4d3c-bcde-14320a557c20/image.png" alt=""></p>
<p>이제 서버가 켜질 때 까지 기다리다보면</p>
<p><img src="https://images.velog.io/images/jungmini__/post/942feec6-fde1-4187-bc4b-38cad9e2fc8b/image.png" alt=""></p>
<p>서버가 실행이 완료되고 메인페이지를 보여준다.</p>
<p>app.js를 보면 함수의 return에  소괄호를 붙이고 html 문법으로 되어있는것을 볼 수 있다. 리액트에서는 소괄호 안에 html 문법을 반환을 해줘서 반영을 시킬 수 있다. 이러한것을 JSX라는 문법이라고 한다.</p>
<p>그리고 app.js를 변경 하게 되면</p>
<p><img src="https://images.velog.io/images/jungmini__/post/dc7db5a9-99ec-4912-a69c-18f509eb5510/image.png" alt=""></p>
<p>js파일을 변경 했지면 메인페이지의 내용이 바뀌는것을  알 수 있다.
그 이유는 index.js파일에서 app.js의 내용을 public에 있는 index.html에 반영 시켜주도록 되어 있기 때문이다!</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[리액트 환경 설정]]></title>
            <link>https://velog.io/@jungmini__/%EB%A6%AC%EC%95%A1%ED%8A%B8-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95</link>
            <guid>https://velog.io/@jungmini__/%EB%A6%AC%EC%95%A1%ED%8A%B8-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95</guid>
            <pubDate>Mon, 30 Aug 2021 14:07:44 GMT</pubDate>
            <description><![CDATA[<p>리액트를 시작하기 위해 간단한 테스트 환경을 구성해보자!</p>
<p>준비물은 간단하다!</p>
<ol>
<li>Node.js 최신 버전 설치
<img src="https://images.velog.io/images/jungmini__/post/e12f9928-9f3e-4849-b55e-b01e7ed91130/image.png" alt="">
방법은 어렵지 않다. 한영키가 빠져있지 않다면 구글에 Node.js를 치고 다운로드로 들어간다! 그다음 최신버전을 설치 해주면 된다!</li>
</ol>
<p>2.VSCode 설치
<img src="https://images.velog.io/images/jungmini__/post/aaa91ec6-bcb2-4342-9d07-103fa874c087/image.png" alt="">
사실 다른 에디터를 사용해도 상관은 없다. 그 중 VSCode를 선택한 것은 에디터 자체가 가볍기도 하지만 터미널을 사용할 수 있다는것에 선택을 하였다! 설치 방법도 위와 동일하게 한영키가 빠져 있지 않다면 검색해서 다운받아 주자!</p>
<p>이제 설정은 다 됐다..! (자바에 비해 너무 간단하다!)</p>
<ol start="3">
<li>React용 폴더 생성 -&gt; VSCode로 오픈
<img src="https://images.velog.io/images/jungmini__/post/7f1f7e47-0b5f-4c3d-aca2-bda3ea8407d8/image.png" alt=""></li>
</ol>
<ol start="4">
<li>터미널에 npx create-react-app [원하는 폴더명] 실행
<img src="https://images.velog.io/images/jungmini__/post/b7f0e5c2-6eb1-4c92-b95c-09e5eebf37a8/image.png" alt=""></li>
</ol>
<p>이제 설치가 완료 될 때 까지 기다려주면 된다!</p>
<p>npx create-react-app는 리액트 환경 패키지를 자동으로 설치해주는 명령어이다!.</p>
<p>(간혹 오류 메세지가 뜨면서 설치가 안되면 컴퓨터를 재부팅이나 Node.js 환경 변수를 다시 설정 해주자! 내가 알기로는 Node.js는 설치를 할 때 자동으로 환경 변수 설정을 해주는것으로 알지만 오류가 난다면 환경변수를 재설정 해주고 재부팅을 해본다!)</p>
<p>기다기리만 하면 지루하니 npx, npm이 무엇 인지 검색해보았다!</p>
<p>npx를 알기 위해서 먼저 npm에 대해서 정리 해볼려고 한다!</p>
<h2 id="npm란">npm란?</h2>
<p> node.js의 자동화 된 의존성과 패키지 관리를 위한 패키지 매니저라고 한다!
 &lt;%--
  말이 너무 어렵다. 결국 하는일은 밑에 두가지 일을 한다.</p>
<p>  1) 패키지 설치 
  2) 버전관리 제공
 --%&gt;</p>
<p> npm 사용 방법은</p>
<blockquote>
<p> npm install 모듈이름 [-g]<br>-g는 글로벌 옵션이다!</p>
</blockquote>
<p> 내가 이해한 npm의 유의해야 할 점은 설치랑 버전관리만 해준다. 
 즉 내가 예전에 설치한 패키지가 새로 업데이트가 되도 자동으로 업데이트 해주는 것이 아니라 내가 업데이트를 해주기 전까지 나는 계속 예전 버전을 사용하는것이다! ㅠ </p>
<h2 id="npx란">npx란?</h2>
<p>언뜻 보면 npm이랑 비슷하다고 생각할 수 있지만 npm은 &quot;패키지 매니저&quot;  얘는 node.js 패키지를 실행시키는 하나의 &quot;도구&quot;이다. 
[즉 npm이 원딜 이라면 npx는 서폿이다. 아니면 회사로 치면 일개의 사원? ㅎ;]</p>
<p>&lt;%--
하는일은 도구답게 한가지 일을 한다.</p>
<ol>
<li>패키지 실행</li>
</ol>
<p>언뜻 보면 하는일이 npm이랑 다를게 뭐지? 싶지만 동작 부터 다르다. npx를 실행 시키면 </p>
<ol>
<li>&quot;최신&quot; 패키지를 불러온다.</li>
<li>불러온 패키지가 로컬에 있는지 확인한다.</li>
<li>로컬에 없다면 이전 패키지를 지우고 최신 패키지를 설치하고 실행 시킨다. </li>
</ol>
<p>--%&gt;</p>
<p>내가 배울려고 하는 리액트는 모듈이 많아 자주 업데이트가 된다.
이러한 이유로 npx를 사용하는것을 권장한다고 한다!</p>
<p><img src="https://images.velog.io/images/jungmini__/post/164f7cc4-a63a-4811-a51e-46d274402c78/image.png" alt=""></p>
<p>npm과 npx를 정리하다보니 설치가 완료 되었다.
오늘은 설치만하고 이만 마쳐볼려고 한다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[리액트 시작]]></title>
            <link>https://velog.io/@jungmini__/%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%8B%9C%EC%9E%91</link>
            <guid>https://velog.io/@jungmini__/%EB%A6%AC%EC%95%A1%ED%8A%B8-%EC%8B%9C%EC%9E%91</guid>
            <pubDate>Mon, 30 Aug 2021 13:24:11 GMT</pubDate>
            <description><![CDATA[<p>리액트를 시작해보자!</p>
]]></description>
        </item>
    </channel>
</rss>