<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>joseph_wee.log</title>
        <link>https://velog.io/</link>
        <description>프론트엔드 학습, 개발 블로그</description>
        <lastBuildDate>Sun, 26 Jun 2022 01:38:34 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. joseph_wee.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/joseph_wee" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[04. github repository(원격 저장소)로 부터 최신상태 가져오기]]></title>
            <link>https://velog.io/@joseph_wee/04.-github-repository%EC%9B%90%EA%B2%A9-%EC%A0%80%EC%9E%A5%EC%86%8C%EB%A1%9C-%EB%B6%80%ED%84%B0-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0</link>
            <guid>https://velog.io/@joseph_wee/04.-github-repository%EC%9B%90%EA%B2%A9-%EC%A0%80%EC%9E%A5%EC%86%8C%EB%A1%9C-%EB%B6%80%ED%84%B0-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0</guid>
            <pubDate>Sun, 26 Jun 2022 01:38:34 GMT</pubDate>
            <description><![CDATA[<h1 id="요약">요약</h1>
<h3 id="fetch를-이용하는-방법">fetch를 이용하는 방법</h3>
<ul>
<li><code>git fetch origin</code> 입력 - origin 원격 저장소로부터 최신 상태를 가져온다.</li>
<li><code>git merge origin/master</code> 입력 - origin 원격 저장소의 master 브랜치 내용을 합친다.<h3 id="pull을-이용하는-방법">pull을 이용하는 방법</h3>
</li>
<li><code>git pull origin master</code> 입력 - origin 원격 저장소의 master브랜치의 최신 상태를 가져온 후 합친다.</li>
</ul>
<hr>
<h1 id="목적">목적</h1>
<ul>
<li>협업을 진행 하게되면 로컬 저장소와 연결된 원격 저장소의 상태가 다른경우가 많이 생길 것이다.</li>
<li>본인 로컬 저장소와 연결된 원격 저장소의 상태가 다를 경우 <code>git push</code>를 할 수 없다. 따라서 원격 저장소로부터 내용을 받아오는 방법을 알아보자.</li>
</ul>
<hr>
<h1 id="fetch를-이용하는-방법-1">fetch를 이용하는 방법</h1>
<ul>
<li>협업을 하거나 <code>git clone</code> 이 아닌 <code>git init</code> 으로 시작하고 원격 저장소와 연결을 하면 로컬과 원격의 상태가 다른경우가 있다.</li>
<li>예를 들기 위해 새로운 폴더를 만들고 <code>git init</code> 후 밑의 저장소와 연결을 해 보았다. 
<img src="https://velog.velcdn.com/images/joseph_wee/post/2c962323-492a-48e2-95fe-b0cb5a283264/image.png" alt=""></li>
<li>연결을 했지만 나의 로컬 저장소에는 저 빨간색 부분의 파일이 없다.</li>
<li>이 상태에서 본인 로컬 저장소에서 새롭게 작업을 한 뒤에 <code>push</code>를 하려고 하면 안된다. 따라서 원격 저장소로 부터 내용을 받아와서 나의 로컬 저장소와 합쳐 주어야 한다.</li>
<li><code>git fetch origin</code> 입력 - origin 원격 저장소로부터 최신 상태를 받아온다.(합치는게 아님!)<pre><code>weeyosup@Weeui-iMac init3 % git fetch origin
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 18 (delta 4), reused 17 (delta 3), pack-reused 0
Unpacking objects: 100% (18/18), 1.47 KiB | 100.00 KiB/s, done.
From https://github.com/joseph-wee/git-practice
* [new branch]      master     -&gt; origin/master</code></pre></li>
<li>그러면 위와 같은 메세지가 나올텐데 받아온 최신 상태의 내용이 <code>origin/master</code> 브랜치에 있다는 뜻이다. 그런데 지금 최신 상태를 받아 온 것이지 그 내용을 로컬 저장소와 합친 것이 아니기 때문에 합쳐주어야 한다.</li>
<li><code>git merge &lt;합치고자 하는 branch이름&gt;</code> 이를 이용하여 합치면 된다.</li>
<li><code>git merge origin/master</code> 입력 - origin/master 브랜치의 내용을 현재 브랜치로 합친다는 뜻이다.</li>
<li>이러면 합쳐진 것이고 폴더를 확인해보면 밑처럼 없던 index.html 파일이 생긴것을 볼 수 있다.<pre><code>weeyosup@Weeui-iMac init3 % ls
index.html</code></pre></li>
<li>이제 작업을 한 뒤 <code>git push</code> 를 하면 된다. 근데 작업도중 원격 저장소의 내용이 바뀌면 위의 방법을 다시 반복한다.</li>
</ul>
<hr>
<h1 id="pull을-이용하는-방법-1">pull을 이용하는 방법</h1>
<ul>
<li><code>git pull</code> 은 <code>fetch</code> + <code>merge</code> 를 한번에 수행한다고 보면 된다.</li>
<li>아까와 같이 <code>git init</code> 후 원격 저장소와 연결을 하고</li>
<li><code>git pull origin master</code> 입력 - origin의 master브랜치로 부터 최신 상태를 받아온 후 현재 로컬 저장소에서 현재 브랜치와 합친다.</li>
<li>그러면 밑처럼 메세지가 나올것이고 확인 해보면 index.html이 생긴것을 볼 수 있다.<pre><code>weeyosup@Weeui-iMac init4 % git pull origin master
From https://github.com/joseph-wee/git-practice
* branch            master     -&gt; FETCH_HEAD
weeyosup@Weeui-iMac init4 % ls
index.html    // index.html이 있는것을 볼 수 있다.</code></pre></li>
<li>이제 작업을 한 뒤 <code>git push</code> 를 하면 된다. 근데 작업도중 원격 저장소의 내용이 바뀌면 위의 방법을 다시 반복한다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[05. 협업을 위한  github organization 만들기]]></title>
            <link>https://velog.io/@joseph_wee/05.%ED%98%91%EC%97%85%EC%9D%84-%EC%9C%84%ED%95%9C-github-organization-%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
            <guid>https://velog.io/@joseph_wee/05.%ED%98%91%EC%97%85%EC%9D%84-%EC%9C%84%ED%95%9C-github-organization-%EB%A7%8C%EB%93%A4%EA%B8%B0</guid>
            <pubDate>Sat, 25 Jun 2022 09:35:30 GMT</pubDate>
            <description><![CDATA[<h1 id="요약">요약</h1>
<ol>
<li>우측상단 클릭 -&gt; your organizations 클릭</li>
<li>New organization 클릭</li>
<li>Free 클릭</li>
<li>빈칸들 입력및 체크박스 체크</li>
<li>초대하고 싶은 계정의 아이디 혹은 이메일주소 입력 후 버튼 클릭</li>
<li>본인 계정의 비밀번호 입력</li>
<li>만들 organization에 대한 정보들을 자유롭게 선택</li>
<li>organization 만들기 끝</li>
<li>혹시 추가적으로 다른 계정을 초대하고 싶다면 메인화면 에서 Invite someone클릭 아니면 People누르고 Invite memeber 클릭</li>
</ol>
<hr>
<h1 id="목적">목적</h1>
<ul>
<li>git과 github를 이용하여 다른 사람들과 협업을 하는 방법을 배워보자.</li>
</ul>
<hr>
<h1 id="협업을-위한-단체organization-만들기">협업을 위한 단체(organization) 만들기</h1>
<ul>
<li>github 우측 상단 Your organizations 클릭
<img src="https://velog.velcdn.com/images/joseph_wee/post/4ac7905a-0477-4781-b507-b30449f0e31b/image.png" alt=""></li>
<li>우측 New organization 클릭
<img src="https://velog.velcdn.com/images/joseph_wee/post/2e307bb0-00a1-42e7-92d4-155b5514bd77/image.png" alt=""></li>
<li>Free의 Create a free organization 클릭
<img src="https://velog.velcdn.com/images/joseph_wee/post/9b98a9a6-6e9d-42ed-b288-b102f468a776/image.png" alt=""></li>
<li>순서대로 organization이름, 본인 email 을 입력하고 각각 체크를 한 후 Next 클릭
<img src="https://velog.velcdn.com/images/joseph_wee/post/37822518-e316-4ce4-8726-a1c1f016a392/image.png" alt=""></li>
<li>방금 만든 단체(organization)에 협업을 하려는 사람들의 계정이나 아이디를 입력한 후 Complete setup클릭(지금 안해도 나중에 초대가 가능하다. 밑에 참고.)
<img src="https://velog.velcdn.com/images/joseph_wee/post/f58c4d77-ecaf-4710-9198-2db488f11c21/image.png" alt=""></li>
<li>본인 계정의 비밀번호 입력 후 버튼 클릭
<img src="https://velog.velcdn.com/images/joseph_wee/post/b34e9c91-a8d3-4030-8ab2-4d817dfb0d58/image.png" alt=""></li>
<li>이제 만든 organization에 대한 질문들이 표시되는데 자유롭게 입력하면 된다.</li>
<li>그러면 아래와 같은 화면이 나타날텐데 협업을 위한 organization이 만들어진 것이다. 
<img src="https://velog.velcdn.com/images/joseph_wee/post/2dea769a-a52f-41f0-8ca5-847ebb1a81df/image.png" alt=""></li>
</ul>
<hr>
<h3 id="나중에-organization에-다른-사람을-초대하고-싶을-때">나중에 organization에 다른 사람을 초대하고 싶을 때</h3>
<ul>
<li>organization 메인화면에서 Invite someone을 클릭해서 바로 초대를 할 수도 있고 People을 클릭해서 organization에 포함된 계정들을 관리,초대를 할 수 있다.
<img src="https://velog.velcdn.com/images/joseph_wee/post/74d122e3-8581-4c20-a54f-0a54d7b8a65a/image.png" alt=""></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[03. github repository(원격 저장소) 업데이트 하기]]></title>
            <link>https://velog.io/@joseph_wee/03.-github-repository-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@joseph_wee/03.-github-repository-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%ED%95%98%EA%B8%B0</guid>
            <pubDate>Thu, 23 Jun 2022 23:50:44 GMT</pubDate>
            <description><![CDATA[<h1 id="요약">요약</h1>
<h4 id="github-repository-업데이트하기">github repository 업데이트하기</h4>
<ol>
<li>본인 local repository로 이동.</li>
<li><code>touch test.md</code> - test.md 파일생성</li>
<li><code>git status</code> - 현재 상태 확인</li>
<li><code>git add test.md</code> - test.md 파일 추적</li>
<li><code>git status</code> - 현재 상태 확인(<code>git add</code> 잘 되었는지)</li>
<li><code>git commit</code> - 추적한 파일 상태저장</li>
<li><code>i</code> - 커밋 메세지 입력 시작</li>
<li><code>esc</code> 누르고 <code>:wq</code> - 입력한 커밋 메세지 저장</li>
<li><code>git push origin master</code> - origin github repository의 master 브랜치에 push (main 브랜치면 main)</li>
</ol>
<hr>
<h1 id="목적">목적</h1>
<ul>
<li>local repository에 변경사항이 생기면 github repository와는 다른 상태일 것이다.</li>
<li>이러한 변경사항을 github repository에 업데이트 하는 방법을 알아보자.</li>
</ul>
<hr>
<h1 id="순서">순서</h1>
<ul>
<li>github repository와 local repository가 같은 상태면 업데이트 할게 없으니 업데이트를 위해 local repository를 다른 상태로 만든다.</li>
<li>local repository 변경사항을 기록한다.</li>
<li>기록한 local repository의 변경사항을 github에 업데이트 한다.</li>
</ul>
<hr>
<h2 id="local-repository-변경사항-만들고-저장하기">local repository 변경사항 만들고 저장하기</h2>
<ul>
<li>local repository와 github repository 상태가 똑같으면 업데이트를 할 게 없으니 임의로 다른 상태로 만들자.</li>
<li>local repository로 이동하여 임의로 test.md라는 파일을 생성한다.</li>
<li><code>touch test.md</code> - test.md라는 파일 생성</li>
<li>파일을 생성하여 변경사항이 생겼으니 상태를 확인 해보자.</li>
<li><code>git status</code> - 현재 상태를 확인한다.
<img src="https://velog.velcdn.com/images/joseph_wee/post/08ecebc6-92cf-4648-8a0f-c0529349b67c/image.png" alt=""></li>
<li>위처럼 나올 것이다. 뜻은 추적되지 않은 파일이 있다는 것이다. 이제 이 변경된 파일을 추적해보자.</li>
<li><code>git add test.md</code> - test.md 라는 파일을 추적</li>
<li>다시 현재 상태를 확인해보자. (git status 자주쳐서 현재 상태 확인하는 것이 좋다. 실수를 방지할 수 있기 때문이다.)</li>
<li><code>git status</code> - 현재 상태를 확인한다.
<img src="https://velog.velcdn.com/images/joseph_wee/post/ab4642a2-c9e8-4024-b421-4b736896e2c1/image.png" alt=""></li>
<li>위처럼 나올 것이다. 뜻은 test.md가 현재 추적되고 있다는 뜻이다.</li>
<li>이제 이 추적된 test.md의 상태를 저장해보자</li>
<li><code>git commit test.md</code> - 추적된 test.md의 현재 상태를 저장한다.
<img src="https://velog.velcdn.com/images/joseph_wee/post/ec7ac7b6-71fb-45ae-895e-1b40c22062fb/image.png" alt=""></li>
<li>위와 같이 나올것이다. 현재 상태를 저장할 때 메세지를 기록하는 것이다. 나중에 예전 상태로 되돌리고 싶은데 그 지점을 알고 싶거나 상태저장을 한 이유에 대해 알고 싶을 때가 생긴다. 이를 위해서 기록하는 것이다.</li>
<li>기록하는 방법은 <code>i</code> 를 눌러서 편집할 수 있고 편집할 수 있는지 알 수 있는 이유는 사진의 빨간색 박스처럼 나오면 현재 편집할 수 있다는 뜻이다.
<img src="https://velog.velcdn.com/images/joseph_wee/post/161eade9-7843-45f2-ac0c-3ddb3e472214/image.png" alt=""></li>
<li>이제 상태를 기록하기 위한 메세지를 입력하고 아래처럼 하자.</li>
<li><code>esc</code> - 편집할 수 있는 상태에서 빠져나옴</li>
<li><code>:wq</code> - <code>:</code> 를 누르면 명령어를 입력할 수 있는 상태가되고 <code>wq</code> 는 현재를 저장하고 닫겠다는 뜻이다.</li>
<li>엔터를 누르면 이제 상태저장이 완료된것이다.</li>
<li><code>git status</code> 를 쳐서 확인해보면<pre><code>On branch master
nothing to commit, working tree clean</code></pre></li>
<li>위 처럼 나올것이다. 뜻은 현재 master 브랜치에서 이전 상태와 비교했을 때 변한 것이 없다는 뜻이다.</li>
</ul>
<hr>
<h2 id="github-repository에-업데이트-하기">github repository에 업데이트 하기</h2>
<ul>
<li>위에서 local repository에 변경사항을 만들고 상태를 저장했으니 이를 github repository에 업데이트를 해보자.</li>
<li><code>git remote -v</code> - 현재 연결된 github repository 확인<pre><code class="language-bash">origin    &lt;본인 github url&gt; (fetch)
origin    &lt;본인 github url&gt; (push)</code></pre>
</li>
<li>이런식으로 뜰텐데 뜻은 origin 이라는 이름의 &lt;본인 github url&gt; 과 연결되어있다는 뜻이다.(fetch 와 push부분은 이 url에 대해 fetch와 push명령어를 사용할 수 있다는 뜻으로 받아들이면 될 것 같다. - 여긴 추측인데 이렇게 이해해도 괜찮을 것 같다.)</li>
<li>이제 연결된 github repository에 업데이트를 해보자.</li>
<li><code>git push origin master</code> - commit한 시점의 상태를 origin이라는 이름을 가지고있는 github repository의 master라는 브랜치에 push한다. (repository의 브랜치가 main이면 main으로 바꾸면 된다.)<pre><code>Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (3/3), 253 bytes | 253.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/joseph-wee/git_practice.git
 7773d15..327b66e  master -&gt; master</code></pre></li>
<li>위와 비슷한 메시지가 떴다면 된 것이다. 이제 아래처럼 본인 github repository로 가서 test.md가 있는지 확인해보면 된다.
<img src="https://velog.velcdn.com/images/joseph_wee/post/6ff750a1-0a67-421e-a2d6-f07ef65b4526/image.png" alt=""></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[02. github repository(원격 저장소)와 연결하기]]></title>
            <link>https://velog.io/@joseph_wee/02.-github-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%99%80-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@joseph_wee/02.-github-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%99%80-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0</guid>
            <pubDate>Wed, 22 Jun 2022 21:51:53 GMT</pubDate>
            <description><![CDATA[<h1 id="요약">요약</h1>
<h3 id="git-init--git-remote로-연결하기">git init &amp; git remote로 연결하기</h3>
<ul>
<li>형상관리할 로컬 저장소로 이동</li>
<li>git으로 형상관리하겠다: <code>git init</code></li>
<li>github와 연결: <code>git remote add origin &lt;github url&gt;</code></li>
<li>연결되었는지 확인: <code>git remote -v</code><h3 id="git-clone으로-연결하기">git clone으로 연결하기</h3>
</li>
<li>형상관리할 로컬 저장소가 담길 폴더로 이동</li>
<li><code>git clone &lt;github url&gt;</code></li>
<li>연결 되었는지 확인: <code>git remote -v</code></li>
</ul>
<hr>
<h1 id="목적">목적</h1>
<ul>
<li>앞으로 다른사람들과 협업을 하게 되면 일반적으로 github를 사용하게 될 것이다. 또한 컴퓨터의 고장으로 본인 로컬 저장소에 접근을 할 수 없는 상황이 생길 수도 있으니 원격저장소인 github에 연결하고 저장하는 방법을 배워보자.</li>
</ul>
<hr>
<h1 id="본인-로컬-git-저장소와-github저장소-연결하기">본인 로컬 git 저장소와 github저장소 연결하기</h1>
<ul>
<li>git에는 다양한 명령어가 존재하는데 이 명령어를 이용해 원격저장소와 연결을 할 것이다.</li>
<li>연결방법은 두가지가 있는데 둘 다 해보자.</li>
</ul>
<hr>
<h2 id="remote로-연결하기">remote로 연결하기</h2>
<ul>
<li>본인이 git으로 형상관리할 로컬 저장소를 만들고 이 저장소를 github 원격 저장소와 연결하는 방법이다. 순서는 다음과 같다.</li>
<li>터미널(맥)이나 깃배쉬(윈도우)를 켜서 형상관리 하고 싶은 로컬 저장소로 이동한다.</li>
<li><code>git init</code> 입력</li>
<li>그러면 hint가 나오고 마지막 밑줄에 <code>Initialized empty Git repository in /Users/weeyosup/Desktop/dev/git_practice/.git/</code> 이런 문구가 뜨면 성공이다.</li>
<li>연결하고자 하는 github repository에 가서 url을 복사해온다. 처음에 생성할 때 Add a README file 에 체크를 하지 않았다면 바로 보일 것이고 안보인다면 초록색 code버튼을 눌러보자.</li>
<li><code>git remote add origin &lt;본인 github url&gt;</code> 입력</li>
<li>이제 연결이 된건데 확인을 위해 밑의 명령어를 쳐보자.</li>
<li><code>git remote -v</code> 입력</li>
<li>아래와 같이 뜨면 연결이 된 것이다.</li>
<li><code>origin    https://github.com/joseph-wee/git_practice.git (fetch)</code>
<code>origin    https://github.com/joseph-wee/git_practice.git (push)</code></li>
</ul>
<hr>
<h2 id="git-clone으로-연결하기-1">git clone으로 연결하기</h2>
<ul>
<li>github 원격 저장소의 클론을 본인 로컬 저장소에 만드는것이다.</li>
<li>remote를 이용한 방법보다 훨씬 간단하다.</li>
<li>로컬 저장소가 자동으로 만들어지기 때문에 그 로컬 저장소가 담길 디렉토리로 이동한다. ex) 현재 바탕화면이면 바탕화면에 로컬 저장소 폴더가 만들어진다. 바탕화면 전체가 형상관리되는 것이 아님.</li>
<li><code>git clone &lt;본인 github url&gt;</code> 입력</li>
<li>이러면 현재 디렉토리에 github와 연결된 로컬 저장소가 만들어졌다. 확인을 위해 로컬 저장소로 이동을 해서 아래 명령어를 쳐보자.</li>
<li><code>git remote -v</code> 입력</li>
<li>아래와 같이 뜨면 연결이 된 것이다.</li>
<li><code>origin    https://github.com/joseph-wee/git_practice.git (fetch)</code>
<code>origin    https://github.com/joseph-wee/git_practice.git (push)</code></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220506]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220506</link>
            <guid>https://velog.io/@joseph_wee/TIL-220506</guid>
            <pubDate>Fri, 06 May 2022 12:59:11 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="">fastcampus-toyproject-금융앱만들기</a></li>
</ul>
<h1 id="소감">소감</h1>
<ul>
<li>설계를 하고 조금씩 작업하면서 만들어지는 걸 보면 재밌기도 하지만 잘 되질 않아서 속이 터진다. 열심히 한다고하는데 잘 안되서 속상하다. 하지만 재밌다. 열심히 해보자.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220504]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220504</link>
            <guid>https://velog.io/@joseph_wee/TIL-220504</guid>
            <pubDate>Wed, 04 May 2022 14:00:18 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li>js슬라이드 구현하는중</li>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/2205/TIL-220504-React%ED%8A%B9%EA%B0%95.md">fastcampus-react특강</a></li>
<li>toy project-금융앱만들기 시작</li>
</ul>
<h1 id="소감">소감</h1>
<ul>
<li>js슬라이드를 어제에 이어서 구현하려고 했다. 아직 다 못했는데 거의 다 했고 어떤식으로 하면 되는지 알겠어서 내일 마무리 할 것 같다.</li>
<li>리엑트 본격적인 강의에 앞서서 특강이 잡혀서 들었다. 처음 리엑트를 접한건데 굉장히 파워풀한 라이브러리인 것 같다는 생각이 들었다. 배우면서 재미있을것 같고 기대된다.</li>
<li>toy project-금융앱만들기가 시작되었다. 계속 내 손으로 무언가를 만들고 싶었는데 시간에 쫓겨서 복습만 하느라 다른 무언가를 하기 힘들었다. 그러던 와중에 이렇게 프로젝트를 시작하게 되어서 앞으로의 일주일이 즐거울것 같다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220503]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220503</link>
            <guid>https://velog.io/@joseph_wee/TIL-220503</guid>
            <pubDate>Tue, 03 May 2022 14:49:58 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/2205/TIL-220503-TypeScript.md">Fastcampus typescript 온라인강의 part6~7</a></li>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/2205/TIL-220503-Webpack.md">Fastcampus bundler-webpack 온라인강의</a></li>
<li>javascript slide기능 연습</li>
</ul>
<h1 id="소감">소감</h1>
<ul>
<li>javascript slide기능 연습을 했다. 이해는 분명 되었는데 막상 혼자서 구현하려고 하니까 잘 안된다. 내가 잘못하고 있는 원인에 대해 파악이 되질 않는다. 시간이 꽤 걸릴것 같다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220502]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220502</link>
            <guid>https://velog.io/@joseph_wee/TIL-220502</guid>
            <pubDate>Mon, 02 May 2022 14:38:40 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220502-TypeScript.md">fastcampus typescript인강 part4~5</a></li>
<li>fastcampus javascript 강의</li>
</ul>
<h1 id="소감">소감</h1>
<ul>
<li>주말과 오늘 아침에 네이버 api를 써서 간단하게 검색기능을 구현하려고 했는데 node.js이용해서 json파일 보는것 밖에 한게 없다. 한 7시간 한거 같은데 얻은 거라고는 직접적으로 브라우저에서 api로부터 json파일을 받아와서 할 수는 없고 서버를 하나 만들어서 그 서버랑 연결해서 해야 한다는 것? 어제, 오늘 이렇게 시간을 좀 날리고 시간을 헛되게 보낸것 같아서 멘탈이 좀 나가있는 상태로 하루를 보냈다. 앞으로 개발하면서 이런 일이 많을 것 같은데 미리 맛보기 했다고 생각해야겠다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220429]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220429</link>
            <guid>https://velog.io/@joseph_wee/TIL-220429</guid>
            <pubDate>Fri, 29 Apr 2022 14:46:54 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220429-JavascriptLevelUp2.md">Fastcampus 온라인강의-JavascriptLevelUp완강</a></li>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220429-TypeScript1.md">Fastcampus 온라인강의-typescript(~tuple)</a></li>
<li><a href="https://github.com/joseph-wee/Frontend_quiz_website">문제풀이 웹사이트 채점기능 추가</a></li>
<li>그룹 스터디</li>
</ul>
<h1 id="소감-및-배운점">소감 및 배운점</h1>
<ul>
<li>자바스크립트 온라인 강의가 끝났다. 기본적인 개념은 이제 이해했으니 문제를 풀어보거나 웹사이트에 적용시키는 여러가지 방법을 시도해보면서 익숙해지면 될 것 같다.</li>
<li>타입스크립트라는것을 처음 알게되고 배웠는데 안전성에 중점을 둔 언어인것 같았다. 아직 초반이라서 잘은 모르지만 열심히 해보자.</li>
<li>문제풀이 웹사이트 채점기능을 추가했는데 그냥 <code>input</code> 타입 <code>radio</code> 에서 값을 가져와서 비교해서 채점하는 js코드 몇줄 추가한게 끝이다. 이런저런 동적인 기능을 추가하고 싶었지만 시간문제로 일단 기초적인것만 했다.</li>
</ul>
<hr>
<h4 id="그룹-스터디">그룹 스터디</h4>
<ul>
<li>다른 조원들과 대화시간</li>
</ul>
<blockquote>
<p>패스트 캠퍼스 측에서 다른 조원들은 어떻게 스터디를 진행하는지 서로 궁금한것은 없는지 해소 할 수 있도록 시간을 마련해 주었다. 덕분에 우리 조가 잘하고 있는 건가 라는 의문이 해결되었다. 대부분 우리조가 가지고 있던 문제점이나 진행하는 것이 비슷하였다. 그리고 다른 조들의 이야기를 듣고 긍정적인 자극도 되어서 좋았다.</p>
</blockquote>
<ul>
<li>조별 그룹 스터디</li>
</ul>
<blockquote>
<p>다른 조원들과 가졌던 시간이 어땠는지 이야기했고 우리는 다른 조에 비해서 개인공부 위주라서 다 같이 함께하는 프로젝트를 진행해보면 좋을 것 같다는 의견이 나와서 오픈 api를 이용해서 다 함께 하나의 프로젝트를 진행해보기로 했다. 프로젝트를 이것저것 해보고 싶다는 마음이 있었는데 하게 되서 좋다.</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220428]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220428</link>
            <guid>https://velog.io/@joseph_wee/TIL-220428</guid>
            <pubDate>Thu, 28 Apr 2022 14:39:55 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220428/TIL-220428-Starbucks2.md">Fastcampus starbucks 웹페이지 만들기 인강(18/32)</a></li>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220428/TIL-220428-JavaScriptLevelUP1.md">Fastcampus JS Levelup 강의 80%</a></li>
</ul>
<h1 id="소감-및-배운점">소감 및 배운점</h1>
<ul>
<li>js는 편한것 같다. c언어 배울 때는 하나부터 열까지 거의 모든 것을 구현했는데 패키지와 라이브러리를 통해 간략하게 할 수 있다니 하지만 무작정 쓰지 말고 어떤식으로 작동하는지 원리를 이해하는 것은 필요할 것 같다.</li>
<li>강의만 계속 듣고 있어서 지루하다. 내가 직접 만들어보고 문제를 해결해보고 싶은데 강의 빨리 마저 듣고 이것저것 해보자.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220427]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220427</link>
            <guid>https://velog.io/@joseph_wee/TIL-220427</guid>
            <pubDate>Wed, 27 Apr 2022 13:15:07 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220427-SCSS.md">Fastcampus 인강 SCSS파트</a></li>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220427-Starbucks1.md">Fastcampus 인강 Starbucks웹페이지 만들기(10/32)</a></li>
</ul>
<h1 id="소감-및-배운점">소감 및 배운점</h1>
<ul>
<li>CSS를 배우고 나서 연습을 위해 프론트엔드멘토 웹페이지를 만들 때 코드를 꽤 많이 쳐야해서 &#39;흠 너무 불편한데 이거..&#39; 라고 생각했었는데 SCSS문법이 있었다니 이제 SCSS도 배웠으니 적극 활용해야겠다.</li>
<li>패캠 스타벅스 웹페이지 만들기 강의를 보면서 따라할까 생각했는데 일단 강의만 먼저 듣고나서 이미지만 보고 내가 처음부터 짜보는것이 도움이 될 것 같아서 그렇게 할 예정이다.</li>
<li>백신맞고나서 계속 집중이 안되었는데 저녁이 되니 갑자기 컨디션이 좋아졌다. 내일부터는 아마도 다시 빡세게 할 수 있을것 같다. 5일동안 집중못한만큼 열심히 해보자.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220426]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220426</link>
            <guid>https://velog.io/@joseph_wee/TIL-220426</guid>
            <pubDate>Tue, 26 Apr 2022 12:57:45 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220426.md">fastcampus 온라인강의 - part3.JavaScriptEssentails</a></li>
</ul>
<h1 id="소감-및-배운점">소감 및 배운점</h1>
<ul>
<li>c언어를 아주아주조금이지만 할 수 있어서 그런지 배우는데 큰 어려움이 없는것 같고 배우면서 c언어에 비해 상당히 사용하는데 편한 것 같은 느낌을 받았다.</li>
<li>1,2차 백신때도 그랬는데 피로감에다가 집중하기도 힘들어서 학습하는데 어려움을 겪고 있다. 목표했던거에 절반도 못했다... 예전에도 한 일주일정도 고생했던것 같은데 열심히 해보자.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220425]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220425</link>
            <guid>https://velog.io/@joseph_wee/TIL-220425</guid>
            <pubDate>Mon, 25 Apr 2022 12:43:49 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220425.md">패스트캠퍼스 온라인강의 - js선행파트</a></li>
<li>패스트캠퍼스 스타벅스웹페이지 만들기 강의 - (3/32)</li>
</ul>
<h1 id="소감-및-배운점">소감 및 배운점</h1>
<ul>
<li>카톡으로 링크를 보내면 사이트를 요약해서 보내주는 시스템에 대해 알고는 있기는 했는데 그 요약이 어떻게 이루어지지 몰랐는데 이번에 오픈그래프나 트위터카드를 통해 소셜 미디어에 공유될 때 사용된다는것을 알았다.</li>
<li>백신맞고 피로감이 너무 심해서 집중하는게 너무 힘든데 금방 회복되었으면 좋겠다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220424]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220424</link>
            <guid>https://velog.io/@joseph_wee/TIL-220424</guid>
            <pubDate>Sun, 24 Apr 2022 13:38:11 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li><a href="https://github.com/joseph-wee/Frontend-Mentor-Clipboard-landing-page-challange"> Frontend-Mentor-Clipboard-landing-page 데스크탑 웹페이지 제작</a></li>
</ul>
<h1 id="소감-및-배운점">소감 및 배운점</h1>
<ul>
<li>확실히 개념을 이해한것과 직접 적용해보는것에는 차이가 있는것 같다. 예측한대로 박스가 배치되거나 생기지 않는 경우도 있어서 여러가지를 배우는 것 같다.</li>
<li>만들 때 이미지와 최대한 완벽하게 똑같이 만드려고 하지 않고 어느정도 비슷하다 싶으면 넘어갔다. 비슷하게 만들고 난 이후부터는 구조의 이해와 사고력을 요하기 보다는 똑같이 만드려면 높낮이, 넓이를 단순히 계산하는 형태인것 같아서 그렇게 했는데 올바른 학습방법인지는 모르겠다. 자문을 구해야 겠다.</li>
<li>a태그에 <code>font-color</code>가 안먹히고 <code>color</code>로 해주어야한다. </li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220423]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220423-1mirosi6</link>
            <guid>https://velog.io/@joseph_wee/TIL-220423-1mirosi6</guid>
            <pubDate>Sat, 23 Apr 2022 13:16:15 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li>CSS에서 박스를 배치하는 법 공부</li>
<li>Frontend Mentor|Clipboard landing page 웹사이트 제작(미완)</li>
</ul>
<h1 id="소감">소감</h1>
<ul>
<li>박스를 배치하는 법을 공부를 끝으로 3일간의 이론적인 CSS복습을 마무리를 했다.</li>
<li>Frontend Mentor사이트를 통해 웹사이트 제작을 하며 실습을 해보려고 했는데 레이아웃 설계까지는 좋았으나 박스가 내 예측대로 움직이지를 않는다. 갈길이 먼 것 같다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL - 220422]]></title>
            <link>https://velog.io/@joseph_wee/asdf</link>
            <guid>https://velog.io/@joseph_wee/asdf</guid>
            <pubDate>Fri, 22 Apr 2022 03:18:02 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li>정을수 강사님 강의자료 - 테이블과 입력양식.pdf</li>
<li>정을수 강사님 강의자료 - 폰트와 텍스트.pdf</li>
<li>정을수 강사님 강의자료 - 시멘틱 마크업.pdf</li>
<li>정을수 강사님 강의자료 - 박스다루기.pdf</li>
<li>정을수 강사님 강의자료 - 배치하기.pdf ~64p</li>
</ul>
<hr>
<h1 id="소감-및-배운점">소감 및 배운점</h1>
<ul>
<li>CSS 복습을 했다. 복습을 하면서 내용에 대해 더 잘 알게되는 것 같다. 기존 학습 때는 무심코 지나쳤던 것들이 좀 더 깊게 이해되기도 하고 분명 배운것인데 새롭게 알게되는 사실도 있었다.</li>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220422.md">학습하며 메모 및 정리한 것</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[TIL-220421]]></title>
            <link>https://velog.io/@joseph_wee/TIL-220421</link>
            <guid>https://velog.io/@joseph_wee/TIL-220421</guid>
            <pubDate>Thu, 21 Apr 2022 12:49:04 GMT</pubDate>
            <description><![CDATA[<h1 id="실천">실천</h1>
<ul>
<li>정을수 강사님 강의자료- HTML 개념과 준비.pdf</li>
<li>정을수 강사님 강의자료- HTML5_CSS3.pdf</li>
<li>정을수 강사님 강의자료- 스타일링의 기초 .pdf</li>
</ul>
<hr>
<h1 id="소감-및-배운점">소감 및 배운점</h1>
<ul>
<li>정을수 강사님께서 제공해주신 pdf파일을 통해서 선택자, 상속, 요소들에 대해 복습을 했다. 원래 계획대로라면 지금 자바스크립트를 학습하고 있었어야 했는데... 학습 계획을 잘못 짜는 바람에 시행착오가 생겼다. 그래도 어차피 꾸준히 복습해야 했기에 긍정적으로 생각하기로 했다. 조금씩 천천히 하면서 잘 해보자. </li>
<li><a href="https://github.com/joseph-wee/TIL/blob/main/TIL-220421.md">학습하며 메모한것</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[01. git이란? github repository만들기]]></title>
            <link>https://velog.io/@joseph_wee/frontendstudy00</link>
            <guid>https://velog.io/@joseph_wee/frontendstudy00</guid>
            <pubDate>Tue, 19 Apr 2022 02:22:37 GMT</pubDate>
            <description><![CDATA[<h1 id="목적">목적</h1>
<ul>
<li>많은 사람들과 함께 개발을 하게되면 형상관리시스템은 필수이므로 형상관리시스템에 대해 학습하자.</li>
<li>현재 가장 각광받고있는 버전관리시스템이며 앞으로 사용하게 될 git에 대해 알아보자.</li>
</ul>
<hr>
<h1 id="형상관리시스템">형상관리시스템</h1>
<blockquote>
<p>형상관리 시스템이란 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기한다. (출처. 위키피디아)</p>
</blockquote>
<p>-- 참고로 여기서는 소프트웨어 측면에서만 형상관리시스템을 다룰것이다.</p>
<hr>
<h2 id="형상관리시스템은-왜-나오게-되었을까">형상관리시스템은 왜 나오게 되었을까?</h2>
<p>프로젝트를 진행하다보면 다양한 문제와 불편함에 직면하게 된다.</p>
<ul>
<li>변경사항이 있을 때 마다 이유를 알고 있어야한다.</li>
<li>작업하던 파일을 날라가는경우</li>
<li>다양한 사람들과 작업을 하면 신경써야할게 많다.</li>
<li>최종.html, 진짜 최종.html, 진짜진짜이건정말최종.html...</li>
<li>변경했던것을 다시 되돌리고 작업해야 하는 경우등등</li>
</ul>
<p>이를 예방하거나 해결하기 위해 형상관리시스템, 즉 버전관리시스템이 나오게 되었다. </p>
<p>버전관리시스템에는 크게 3가지가 있다. 이에 대해 알아보자.</p>
<p>LVCS - Local Version Control System
CVCS - Centralized Version Control System
DVCS - Distributed Version Control System</p>
<hr>
<h2 id="lvcs-로컬버전관리시스템">LVCS 로컬버전관리시스템</h2>
<p>하나의 디렉토리에서 작업을 하던 중 발생한 문제로인해 개발되었다.</p>
<ul>
<li>작업하던 디렉토리를 삭제</li>
<li>파일을 잘못 변경</li>
</ul>
<p><img src="https://velog.velcdn.com/images/joseph_wee/post/55236faf-3fc5-4532-8609-8b6879cc0e87/image.png" alt="">
위를 포함한 다양한 문제가 발생했을 때 로컬DB에 버전들이 저장되어 있어서 되돌릴 수 있다.</p>
<p>한계: 로컬DB이기에 멀리 떨어진 다른 작업자들과 함께 작업하기가 힘들다.</p>
<hr>
<h2 id="cvcs-중앙집중식버전관리시스템">CVCS 중앙집중식버전관리시스템</h2>
<p>프로젝트를 다른 개발자들과 함께 작업해야하는 경우에 생기는 문제들 때문에 개발되었다. 파일을 관리하는 서버가 별도로 있고 클라이언트가 중앙 서버에서 파일을 받아 사용한다.</p>
<p><img src="https://velog.velcdn.com/images/joseph_wee/post/b5e2a0df-1793-4a9d-8989-7926c3e72e10/image.png" alt="">
관리자는 모든 클라이언트의 로컬DB가 아닌 하나의 CVCSA만 관리하면 되기에 훨씬 효율적이다.</p>
<p>한계: 중앙서버에 문제가 발생하면 답이없다.</p>
<ul>
<li>중앙서버가 다운되면 그 동안 다른 작업자와 협업이 불가능</li>
<li>중앙DB데이터가 날라가면 프로젝트의 모든 히스토리도 날라간다.</li>
</ul>
<p>이 때문에 밑의 DVCS가 나오게 되었다.</p>
<hr>
<h2 id="dvcs-분산버전관리시스템">DVCS 분산버전관리시스템</h2>
<p> 위의 모든 단점, 문제를 개선하고자 나온것이 DVCS다. 대표적으로 git이 있다.</p>
<p> <img src="https://velog.velcdn.com/images/joseph_wee/post/70517d52-064f-4ab1-8481-8b2d6eeaa9b6/image.png" alt="">
메인 서버 뿐만이 아니라 클라이언트의 컴퓨터에도 버전이 저장되어있어서 메인서버에 문제가 생겨도 클라이언트로부터 서버를 복원할 수 있다. 또한 메인서버가 다운되어있어도 자신의 DB에도 버전이 있기에 이를 이용하여 작업을 할 수가 있다. 추후에 비교하며 변경사항들을 합치면 되기 때문이다.</p>
<hr>
<h1 id="git">Git</h1>
<blockquote>
<p> 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.(출처. 위키피디아)
<del>리누스 토발즈가 CVCS중 하나인 Subversion을 쓰다가 열받아서 2주만에 만든 결과물이기도 하다...</del></p>
</blockquote>
<p>위의 설명만으로는 부족해서 추가설명을 해보면 원래대로라면 메인서버와 수많은 작업자들이 있을테지만 간단하게 메인서버와 A,B작업자가 있다고 해보자. 작업을 하기 위해 작업자 A,B는 메인서버로부터 1.ver의 파일을 내려받아 각자 로컬DB에 저장을하고 각자 자신 컴퓨터에서 작업을 한다. 그러면 각자 로컬에 1-a.ver, 1-b.ver의 버전들이 생기고 그 후에 자신들이 작업한 것을 변경내역과 함께 메인서버로 보내면 바로 합치는 것이 아니고 관리자가 검토후에 작업한 것들을 합쳐서 2.ver로 갱신을 한다. 그러면 메인서버에는 1.ver, 2.ver와 작업자들이 변경한 기록들이 남아있게 되고 작업자들은 2.ver을 서버로 부터 받아서 다시 자기 로컬에서 작업을 하고 이런식이다. 그렇다고 해서 모든 작업다가 2.ver을 내려받을 필요는 없다. 변경사항이 자신의 작업과 무관하면 작업후에 합치면 되니깐. 예를 들어 작업자 A가 작업을 한 번 더해서 1-aa.ver이 되어도 메인서버로 보내면 관리자가 검토후에 합치면 된다. 이것이 바로 메인서버에 실시간으로 연결되어 있지 않아도 자신의 로컬에서 계속 작업을 해 나갈 수 있다는 것이 git의 큰 장점이다. 또한 메인서버가 날라가도 작업자들 로컬DB에 1-a.ver 1-b.ver이 남아있으니 이를 통해 복원 할 수 있다. 보다 자세한 설명은 <a href="https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EA%B8%B0%EC%B4%88">이쪽</a>을 참고.</p>
<hr>
<h2 id="branch">Branch</h2>
<p>git을 사용하고 보다 잘 이해하려면 branch의 이해가 필수다.</p>
<blockquote>
<p>branch : 1. 나뭇가지 2. 지사, 분점 (출처. 네이버사전)</p>
</blockquote>
<p>위의 사전 뜻대로 버전관리를 나뭇가지 형태로서 한다는것이다. 가지처럼 필요없는 가지는 자르거나 가지의 시작부분인 분기점형태를 만들어서 말이다. 밑의 그림을 보자.</p>
<p><img src="https://velog.velcdn.com/images/joseph_wee/post/6acae8b4-7f3f-4598-a6da-19ec0d90fdf8/image.png" alt=""></p>
<p>일반적으로 위의 그림처럼 버전을 4단계에 나누어서 관리한다. 밑에 있는 branch일수록 많은 변경이 일어나고 변경사항들을 취합하여 윗단계로 넘기면 검토후 취합하고 최종적으로 main으로 넘기게 된다. 이 과정에서 branch를 말 그대로 가지치기하듯이 되돌리기도 한다. -&gt; <em>hotfix 라고 급하게 바꿔야 하는경우 Release를 이용하지 않고 바로 Main으로 넘기는 경우도 있다.</em></p>
<hr>
<h2 id="github">GitHub</h2>
<blockquote>
<p>깃허브는 분산 버전 관리 툴인 깃 저장소 호스팅을 지원하는 웹 서비스이다.(출처. 위키피디아)</p>
</blockquote>
<p><strong>git과 github는 다른것이다. 헷갈리면 안된다!!</strong></p>
<ul>
<li>git: DVCS</li>
<li>github: git저장소의 호스팅 웹 서비스</li>
</ul>
<hr>
<h3 id="github에-git저장소를-만들어보자">GitHub에 git저장소를 만들어보자</h3>
<p><img src="https://velog.velcdn.com/images/joseph_wee/post/9e69895d-f021-413c-90da-dcf4f41cc5c7/image.png" alt=""></p>
<ul>
<li>GitHub에 가입한다. <a href="https://github.com/">GitHub로 이동하여 Sign Up 클릭</a></li>
</ul>
<p><img src="https://velog.velcdn.com/images/joseph_wee/post/3a3e28f8-d1c9-4f5d-886a-b68d49db67be/image.png" alt="">
<img src="https://velog.velcdn.com/images/joseph_wee/post/421d55f2-1fad-4792-b186-d9fe2fc9a8f7/image.png" alt=""></p>
<ul>
<li>Repository를 생성한다. 생성할 때 이름은 편한대로 해도 된다. 체크하지 않은 나머지들은 지금은 당장 중요하지 않지만 살펴보자.<ul>
<li>Description: 생성할 Repository에 대한 간단한 설명</li>
<li>Add a README file: Project에 대한 길게 쓸 수 있는 설명파일</li>
<li>Add. gitignore: Repository에 올라갈 파일중 무시할 템플릿을 설정(비밀번호같은게 올라가면 곤란하니까)</li>
<li>Choose a license: 라이센스를 선택, 다른 라이센스를 가져다 쓰거나 본인이 쓴 코드는 이러이러한 라이센스를 따른다고 알리기 위한 것.</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/joseph_wee/post/204fdedd-cfda-4bb6-8658-bc3e5db3e2ff/image.png" alt=""></p>
<ul>
<li>짜잔 원격저장소 역할을 하는 github repository 를 만들었다. 이제 여기는 위 DVCS의 서버 컴퓨터의 저장소 역할을 할 수 있다. 즉 git을 이용하여 파일을 repository에 올리고 버전관리를 할 수 있다는 뜻이다.</li>
<li>깃허브는 단순히 저장소 호스팅을 지원 하는것 이외에도 다양한 기능이 있다. 이는 추후에 알아보자.</li>
</ul>
<p>출처
<a href="https://github.com/Knowre-Dev/WebDevCurriculum">https://github.com/Knowre-Dev/WebDevCurriculum</a>
<a href="https://git-scm.com/book/ko/v2">https://git-scm.com/book/ko/v2</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[스터디 코딩 문제풀이 node.js]]></title>
            <link>https://velog.io/@joseph_wee/%EC%8A%A4%ED%84%B0%EB%94%94-%EA%B3%BC%EC%A0%9C-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%ED%85%8C%EC%8A%A4%ED%8A%B8-3%EB%AC%B8%EC%A0%9C</link>
            <guid>https://velog.io/@joseph_wee/%EC%8A%A4%ED%84%B0%EB%94%94-%EA%B3%BC%EC%A0%9C-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%ED%85%8C%EC%8A%A4%ED%8A%B8-3%EB%AC%B8%EC%A0%9C</guid>
            <pubDate>Sun, 17 Apr 2022 00:57:53 GMT</pubDate>
            <description><![CDATA[<h3 id="현재-javascript에-대한-이해가-너무-부족하다">현재 javascript에 대한 이해가 너<del>~</del>무 부족하다.</h3>
<p>  10년전에 배우기도했고 알고리즘 수업도 들었던터라 대충 인강 조금보고 구글링을 통해 문제를 풀려고 했으나 백준 코드제출에 맞는 코드를 짜기에는 무리였다. 예를들어 처음부터 맨 밑2798번 부터 시작했는데 어떤식으로 해결을 하면 되는지는 알겠으나 javascript의 문법, 함수, 메소드에 대한 지식이 없다보니 input부터 막혔다. input을 왜 input[0] 이렇게 써서 사용하는것이며 require(&#39;fs&#39;)는 왜 필요한것이고 input을 선언하는데 왜 저리 많은 메소드 체이닝을 하는것이고 기타등등... 그래서 결국 입력받는거를 포기하고 자체적으로 난수를 할당하는 식으로 해서 풀었는데 겨우3문제 푸는데 일요일 오전이 날라갔다...</p></p>
<p>  결론은 javascript의 기초지식을 읽히고 클론 코딩을 해봄으로서 함수, 메소드, 문법을 이해하고 익숙해지는게 우선일것같다.</p>
<h3 id="a-hrefhttpswwwacmicpcnetproblem1000백준-1000번-aba"><a href="https://www.acmicpc.net/problem/1000">백준 1000번 A+B</a></h3>
<pre><code class="language-javascript">let fs = require(&#39;fs&#39;);
let input = fs.readFileSync(&#39;/dev/stdin&#39;).toString().split(&#39; &#39;);
let a = parseInt(input[0]);
let b = parseInt(input[1]);
console.log(a+b);</code></pre>
<h3 id="a-hrefhttpswwwacmicpcnetproblem1010백준-1010번-다리놓기a"><a href="https://www.acmicpc.net/problem/1010">백준 1010번 다리놓기</a></h3>
<pre><code class="language-javascript">function rand(min, max) { //N,M에 할당하기 위한 무작위 숫자를 위해 함수 선언
  return Math.floor(Math.random() * (max - min +1)) +min;
}   

let N, M, T
let B = 1 // 다리개수 인데 0으로 해놓으면 곱해도 0이니 1로 선언

T = rand(1, 10) // 테스트할 개수
console.log(&quot;T만큼 테스트, T: &quot;, T)

for(i=0; i&lt;T; i++){   //테스트할 개수 만큼 아래 과정 반복
  N = rand(1, 29)
  M = rand(N, 29) // 각각 N,M에 무작위 숫자 할당

  for(j=M-N+1; j&lt;=M; j++){  // 순열을 for문으로 구현
    B = B*j
  }
  console.log(&quot;N: &quot;, N, &quot;M: &quot;, M, &quot;경우의 수: &quot;, B)
  B=1
}</code></pre>
<p>결과</p>
<p><img src="https://velog.velcdn.com/images/joseph_wee/post/672d7f01-22a8-4804-a791-936e4233a97f/image.png" alt=""></p>
<h3 id="a-hrefhttpswwwacmicpcnetproblem2798백준-2798번-문제a"><a href="https://www.acmicpc.net/problem/2798">백준 2798번 문제</a></h3>
<pre><code class="language-javascript">
let N, M  
let sum = []  // 여기까지 변수 선언

function rand(min, max) {
  return Math.floor(Math.random() * (max - min +1)) +min;
}   // N,M, 카드 숫자에 할당할 값을 무작위로 주기는데 최소, 최대값 사이에서 무작위로 할당되야 하므로 그에 대한 함수 선언

N = rand(3, 100)
M = rand(10, 300000)
let card = new Array(N) // 카드개수가 N개 이므로 카드숫자가 들어갈 배열N개 선언 

for(i=0; i&lt;N; i++) {
  card[i] = rand(1, 100000)
  console.log(&quot;카드에 쓰여있는 수: &quot;, card[i])
}   // 카드 N개에 1부터 100000까지 무작위로 숫자 할당

for(i=0; i&lt;N-2; i++) {
  for(j=1; i&lt;N-1; i++){
    for(k=2; i&lt;N; i++){
      if(M&lt;card[i] + card[j] + card[k]){
        continue
      }
      else{
        sum.push(card[i]+card[j]+card[k]);
      }
    }
  }
}   // 카드 3개 숫자의 합이 M보다 작으면 배열sum에 하나씩 쌓으며 할당.

sum.sort((a,b) =&gt; a-b)    // 각 값을 오름차순으로 정렬
console.log(&quot;N: &quot;, N)
console.log(&quot;N: &quot;, M)
console.log(&quot;nearbyM: &quot;, sum[sum.length-1]) // 정렬한 값중에 제일 큰 값이 배열 맨 끝에 있을 것이므로 제일 끝에있는 값 출력세요</code></pre>
<p>결과 (카드에 쓰여있는 수는 많아서 자름)</p>
<p><img src="https://velog.velcdn.com/images/joseph_wee/post/35ca012f-9ffe-49e4-bb6f-8895a38c78a8/image.png" alt=""></p>
<p>가끔씩 undefined 가 나올 때가 있는데 3개의 합이 M보다 작은게 없어서 그렇다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[첫걸음]]></title>
            <link>https://velog.io/@joseph_wee/%EC%B2%AB%EA%B1%B8%EC%9D%8C</link>
            <guid>https://velog.io/@joseph_wee/%EC%B2%AB%EA%B1%B8%EC%9D%8C</guid>
            <pubDate>Tue, 12 Apr 2022 15:59:53 GMT</pubDate>
            <description><![CDATA[<p> 처음에는 언제나 망설여지게 되는것 같다. 결국에는 어떻게든 시작하고 마무리를 지으면서 말이다.</p>
<p> 개발자가 되기 위해, 개발자로서 발전하기 위해 처음으로 시작하는 블로그. 이 블로그에 첫 글을 처음에 어떻게 적을까 고민하며 망설이다가 막상 써보니 어떻게든 조금씩 써내려가며 완성이 되어가고 있다. 이처럼 나의 개발자로서의 삶도 시작은 미미하지만 끝은 훌륭했다고 만족하기를 기대한다.</p>
]]></description>
        </item>
    </channel>
</rss>