<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>k-oyun.log</title>
        <link>https://velog.io/</link>
        <description>내가 보기 위한 블로그</description>
        <lastBuildDate>Wed, 20 Mar 2024 09:27:18 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>k-oyun.log</title>
            <url>https://velog.velcdn.com/images/k-oyun/profile/fca4634d-56c1-4714-a869-e323880dacd0/image.JPG</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. k-oyun.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/k-oyun" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[React-Native 개발 환경 세팅하기]]></title>
            <link>https://velog.io/@k-oyun/React-Native-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EC%84%B8%ED%8C%85%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@k-oyun/React-Native-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EC%84%B8%ED%8C%85%ED%95%98%EA%B8%B0</guid>
            <pubDate>Wed, 20 Mar 2024 09:27:18 GMT</pubDate>
            <description><![CDATA[<h2 id="react-native-개발-환경-세팅-방법">React-Native 개발 환경 세팅 방법</h2>
<h3 id="1-프로젝트-폴더를-생성할-위치로-이동-후-터미널을-킨다">1. 프로젝트 폴더를 생성할 위치로 이동 후 터미널을 킨다.</h3>
<h4 id="vscode-이용을-추천한다">vscode 이용을 추천한다.</h4>
<h4 id="터미널-단축키--controlshift">(터미널 단축키 : control+shift+~)</h4>
<blockquote>
<p>npx create-react-native-app</p>
</blockquote>
<br>

<h3 id="2위의-코드를-입력하면-아래와-같이-나온다-원하는-앱의-이름을-입력-후-엔터-꾹">2.위의 코드를 입력하면 아래와 같이 나온다. 원하는 앱의 이름을 입력 후 엔터 꾹</h3>
<p><img src="https://velog.velcdn.com/images/k-oyun/post/6c274a91-100a-4dfb-aa5f-b4995dbc43e0/image.png" alt=""></p>
<h3 id="3default-new-app을-선택한다">3.Default new app을 선택한다.</h3>
<p><img src="https://velog.velcdn.com/images/k-oyun/post/af0ea929-5e5b-495b-b415-bb5b8d6ffe44/image.png" alt=""></p>
<h4 id="아래와-같이-해당-과정들이-실행되며-새로운-파일들이-생성된다">아래와 같이 해당 과정들이 실행되며 새로운 파일들이 생성된다.</h4>
<p><img src="https://velog.velcdn.com/images/k-oyun/post/82037ef1-f66b-414a-8000-82cb3afc5057/image.png" alt=""></p>
<h4 id="설치가-끝나면-아래와-같은-화면이-나온다">설치가 끝나면 아래와 같은 화면이 나온다.</h4>
<p><img src="https://velog.velcdn.com/images/k-oyun/post/2534079c-8474-4685-8b97-4e37221f46f4/image.png" alt=""></p>
<blockquote>
<p>npm run android<br>npm run ios 
npm run web</p>
</blockquote>
<h3 id="4총-3가지의-실행-옵션-중-선택하여-실행한다-참고로-web은-서비스가-중단되었다">4.총 3가지의 실행 옵션 중 선택하여 실행한다. 참고로 web은 서비스가 중단되었다.</h3>
<h2 id="android나-ios-개발을-목표로-한다면-각각-해당하는-시뮬레이터를-설치해야-한다">android나 ios 개발을 목표로 한다면 각각 해당하는 시뮬레이터를 설치해야 한다.</h2>
]]></description>
        </item>
        <item>
            <title><![CDATA[Vi편집기 익히기]]></title>
            <link>https://velog.io/@k-oyun/Vi%ED%8E%B8%EC%A7%91%EA%B8%B0-%EC%9D%B5%ED%9E%88%EA%B8%B0</link>
            <guid>https://velog.io/@k-oyun/Vi%ED%8E%B8%EC%A7%91%EA%B8%B0-%EC%9D%B5%ED%9E%88%EA%B8%B0</guid>
            <pubDate>Sun, 26 Mar 2023 03:50:13 GMT</pubDate>
            <description><![CDATA[<h3 id="리눅스-터미널에서-vi-명령어를-사용하는-방법에-대해서-공부해봤다">리눅스 터미널에서 vi 명령어를 사용하는 방법에 대해서 공부해봤다.</h3>
<p>vi [파일명] 입력시 파일명 파일을 열어서 보여주고 파일이 존재하지 않을시에는 파일명과 동일한 이름을 갖는 새 파일을 생성해준다.</p>
<p><img src="https://velog.velcdn.com/images/k-oyun/post/0e8c731a-0a45-4669-833d-842428352b83/image.png" alt=""></p>
<p>이런식으로 창이 뜬다. 이때 i를 누르면 입력모드로 전환된다. 파일 안에 내가 작성하고 싶은 내용을 적은 후 esc를 누르면 입력모드가 종료된다. 그 후 :wq 입력시 저장 후 종료된다. 추가 명령어는 밑에다가 정리하겠다.</p>
<table>
<thead>
<tr>
<th>명령어</th>
<th>내용</th>
</tr>
</thead>
<tbody><tr>
<td>i</td>
<td>현재 커서의 위치부터 입력</td>
</tr>
<tr>
<td>a</td>
<td>현재 커서의 다음 칸부터 입력</td>
</tr>
<tr>
<td>o</td>
<td>현재 커서의 다음 줄에 입력</td>
</tr>
<tr>
<td>s</td>
<td>현재 커서의 한 글자를 지우고 입력</td>
</tr>
<tr>
<td>h</td>
<td>키보드 ←</td>
</tr>
<tr>
<td>j</td>
<td>키보드 ↓</td>
</tr>
<tr>
<td>k</td>
<td>키보드 ↑</td>
</tr>
<tr>
<td>L</td>
<td>키보드 →</td>
</tr>
<tr>
<td>u</td>
<td>직전에 내린 명령 취소</td>
</tr>
</tbody></table>
]]></description>
        </item>
        <item>
            <title><![CDATA[리눅스[Linux] 주요 명령어]]></title>
            <link>https://velog.io/@k-oyun/%EB%A6%AC%EB%88%85%EC%8A%A4Linux-%EC%A3%BC%EC%9A%94-%EB%AA%85%EB%A0%B9%EC%96%B4</link>
            <guid>https://velog.io/@k-oyun/%EB%A6%AC%EB%88%85%EC%8A%A4Linux-%EC%A3%BC%EC%9A%94-%EB%AA%85%EB%A0%B9%EC%96%B4</guid>
            <pubDate>Sat, 25 Mar 2023 05:42:13 GMT</pubDate>
            <description><![CDATA[<h3 id="리눅스-주요-명령어를-공부해봤다">리눅스 주요 명령어를 공부해봤다.</h3>
<h4 id="앞으로-공부하면서-내가-사용할-명령어들을-수시로-이-글에-추가해야겠다">앞으로 공부하면서 내가 사용할 명령어들을 수시로 이 글에 추가해야겠다.</h4>
<ol>
<li>ls - 현재 위치의 파일 조회</li>
</ol>
<ul>
<li>ls -a  - 숨김 파일 표시</li>
<li>ls -t - 파일을 최신 생성 순서로 정렬</li>
</ul>
<ol start="2">
<li>cd - 디렉토리 이동 </li>
</ol>
<blockquote>
<p>cd var - var 디렉토리로 이동</p>
</blockquote>
<blockquote>
<p>cd .. - 상위 디렉토리로 이동</p>
</blockquote>
<blockquote>
<p>cd/ - 최상위 디렉토리로 이동</p>
</blockquote>
<ol start="3">
<li>touch - 0바이트 크기의 파일 생성, 파일의 날짜와 시간 수정 </li>
</ol>
<blockquote>
<p>touch phpinfo -&gt; phpinfo 파일 생성</p>
</blockquote>
<ol start="4">
<li>mkdir - 디렉토리 생성 </li>
</ol>
<blockquote>
<p>mkdir chicken -&gt; chicken 디렉토리 생성</p>
</blockquote>
<ol start="5">
<li><p>cp - 파일 복사</p>
</li>
<li><p>mv - 파일 이동</p>
</li>
<li><p>rm - 파일 삭제</p>
</li>
<li><p>cat - 파일의 내용을 화면에 출력, 리다이렉션 기호(&#39;&gt;&#39;)를 사용하여 새로운 파일 생성</p>
</li>
<li><p>redirection - 화면의 출력 결과를 파일로 저장</p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[Internet에 대하여]]></title>
            <link>https://velog.io/@k-oyun/Internet%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC</link>
            <guid>https://velog.io/@k-oyun/Internet%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC</guid>
            <pubDate>Sat, 25 Mar 2023 01:40:42 GMT</pubDate>
            <description><![CDATA[<h1 id="인터넷에-대한-강의를-수강하고-있다-배웠던-것들에-대해서-정리겸-복습하겠다">인터넷에 대한 강의를 수강하고 있다 배웠던 것들에 대해서 정리겸 복습하겠다.</h1>
<h2 id="인터넷이란">인터넷이란?</h2>
<h3 id="data를-전달하는-장치들이-이루는-거대한-네트워크-망이다">Data를 전달하는 장치들이 이루는 거대한 네트워크 (망)이다.</h3>
<h2 id="인터넷은-다양한-entity로-이루어져있다">인터넷은 다양한 entity로 이루어져있다.</h2>
<h3 id="-network-edges">-Network edges</h3>
<p>network edges는 end system과 host로 이루어져있다 end system이란 인터넷과 연결된 가장 끝단의 존재이다. 즉 application이 구동되는 존재이다 여기서 application이란 우리가 흔히 사용하는 Chrome, micro edge, Internet explore을 의미한다.</p>
<h3 id="-access-networks">-Access networks</h3>
<p>access networks는 유선상으로 digital subscriber line(DSL), cable internet access, fiber to the home(FTTH) 이렇게 구성되어있다. DSL은 간단히 우리가 사용해온 전화선을 이용하여 고속의 디지털 전송을 할 수 있는 기술이다. FTTH는 요즘 가정집에서도 흔히 사용하는 광케이블이라고 생각하면된다. 광섬유의 특징을 살려 초고속 전송이 가능하다.</p>
<p>반면 무선상으로는 WIFI, LTE, 3G, 4G, 5G, bluetooth등이 있다.</p>
<h4 id="유선과-무선의-장단점">유선과 무선의 장단점</h4>
<p>유선의 장점으로는 los에 강하며 delay가 많지않다. 반면 단점으로는 사용자가 많을수록 확장성(scalability)의 문제점이 있다. 예를 들어 20명이 인터넷을 사용해야하는 경우가 있는데 유선 포트는 3개 밖에 없는 그런 상황인 것이다.</p>
<p>무선의 장점으로는 사용자의 수에 따라 상황이 다르기에 유동성(mobility)의 지속적인 발전이 이어지고있다. 또한 유선에서의 단점인 확장성의 문제가 해결되었다. 또한 표준화가 되며 발전하기에 사용하기 쉽다.</p>
<h3 id="-network-core">-Network Core</h3>
<p>network의 핵심부분이다 마치 우리 몸의 척추 역할을 하는 것이다. network core에는 크게 packet switch가 있다. 그전에 packet이란 무엇인가 packet은 네트워크를 사용해서 전송하기 위해서 일정한 단위로 나눈 데이터 전송 단위이다. packet switch는 패킷을 교환하는 것이다. 이런 packet switches에는 routers 그리고 link-layer switches가 있다.</p>
<p>router란 루트를 만들어주는 역할이다 즉 길을 만들어주는 것이다</p>
<p>link-layer switches는 router과 동일하게 쓰인다. 즉 그냥 router라고 생각하면 쉽다.</p>
<p>이렇게 구성된 network core는 store-and-forward transmission 방식을 사용하는데 이는 router나 혹은 link-layer switch에 들어온 정보를 저장한 후에 적절한 시기에 보내주는 방식이다. </p>
<h3 id="사실-학교-강의를-듣고-복습할-겸-블로그에-적어보려-했는데-아직-핵심-부분이-뭔지-정확히-파악이-안돼서-부족한-공부를-더-진행-한-후에-다시-작성하겠다">사실 학교 강의를 듣고 복습할 겸 블로그에 적어보려 했는데.. 아직 핵심 부분이 뭔지 정확히 파악이 안돼서 부족한 공부를 더 진행 한 후에 다시 작성하겠다..</h3>
]]></description>
        </item>
        <item>
            <title><![CDATA[Uncaught ReferenceError: Function is not defined]]></title>
            <link>https://velog.io/@k-oyun/Uncaught-ReferenceError-Function-is-not-defined</link>
            <guid>https://velog.io/@k-oyun/Uncaught-ReferenceError-Function-is-not-defined</guid>
            <pubDate>Sun, 12 Mar 2023 04:07:05 GMT</pubDate>
            <description><![CDATA[<h2 id="아직까지-풀지-못한-오류">아직까지 풀지 못한 오류..</h2>
<p>mbti 테스트 페이지를 만들던 중 테스트 페이지들에 공통으로 들어가야 하는 코드들이 있어 기존 테스트 페이지에서 공통된 부분을 test_base.html에 따로 만들어 extend 하여 사용했다. 기존 test_n.html 들과 test_base.html은 같은 폴더에 있었지만 테스트 페이지가 많아졌기에 따로 test_n.html을 test 디렉토리를 만들어 그 폴더 안에 정리해 줬다.</p>
<img src="https://velog.velcdn.com/images/k-oyun/post/747f2420-1982-4836-b050-f61146472167/image.png" width="30%" height="30">


<h3 id="그랬더니">그랬더니..</h3>
<p><img src="https://velog.velcdn.com/images/k-oyun/post/32629b53-6b29-41f3-b17f-a3086096c5a1/image.png" alt=""></p>
<p>이 에러는 내가 test_base에서 만든 mbtiScoreInit이라는 function을 인식되지 않음을 뜻한다.</p>
<p><img src="https://velog.velcdn.com/images/k-oyun/post/3001797e-5fdb-4afa-9619-863893ec002e/image.png" alt=""></p>
<p>총 3개의 function이 있었는데 이상하게도 맨 위에 있는 mbtiScoreInit만 작동하지 않았다. <img src="https://velog.velcdn.com/images/k-oyun/post/0b91c87e-7846-4912-a7f2-4b2de6420a42/image.png" alt=""></p>
<p>분명 잘 작성했는데도 말이다.. 혹시나 하는 마음에 스크립트 위치도 이곳저곳 옮겨봤지만 똑같이 작동은 하지 않았다. 결국..</p>
<p><img src="https://velog.velcdn.com/images/k-oyun/post/39c083c9-a529-477a-b37f-5887e2d2e094/image.png" alt=""></p>
<p>test_1.html에 직접 스크립트를 넣어버렸다. mbtiScoreInit이라는 기능은 mbti 테스트에서 점수를 측정하기 전 점수들을 0으로 초기화해주는 함수이기에 한 번만 작동하면 되기 때문이다.</p>
<p>사실 처음부터 이렇게 했으면 됐지만 뭔가 더 깔끔하게 정리하고 싶어서 많은 시간을 구글링해 보고 개발 장인 친구한테도 물어봤지만 해결하지 못했다. 빠른 시일 내에 해결하여 해결법을 올리겠다.</p>
<h1 id="0313-방법을-찾았다">03.13 방법을 찾았다.</h1>
<p>스크립트를 html내에 작성하는게 아니라 js로 따로 작성하여 적용시키는 것이다.
생각보다 간단했는데 자꾸 에러에만 집착하다보니 생각을 돌려하지 못했다. 그래서 js폴더를 새로 파서 정리를 할까 생각했지만 생각보다 자바스크립트를 그렇게 많이 사용하지 않아 위에 기존 방법대로 유지하기로 했다. 나처럼 에러를 해결하지 못했던 사람들은 js로 따로 스크립트를 정리하여 호출하는 방법으로 시도해보기를 바란다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[error: Your local changes to the following files would be overwritten bt merge : config/settings.py]]></title>
            <link>https://velog.io/@k-oyun/error-Your-local-changes-to-the-following-files-would-be-overwritten-bt-merge-configsettings.py</link>
            <guid>https://velog.io/@k-oyun/error-Your-local-changes-to-the-following-files-would-be-overwritten-bt-merge-configsettings.py</guid>
            <pubDate>Fri, 10 Mar 2023 07:31:14 GMT</pubDate>
            <description><![CDATA[<pre><code>error: Your local changes to the following files would be overwritten bt merge : config/settings.py 
please commit your changes or stash them before you merge.
</code></pre><p>코드를 수정하지 않았는데도 main branch에서 pull을 하다 보면 이런 오류 메세지가 뜰때가 있었다.</p>
<p>이럴때는 </p>
<pre><code>git fetch &lt;branch&gt;
git reset --hard origin/&lt;branch&gt;
git pull origin &lt;branch&gt;
</code></pre><p>위 코드를 따라 입력하면 된다.</p>
<pre><code>git fetch &lt;branch&gt;</code></pre><p>git fetch &lt;branch 명&gt;은 원격저장소에서 데이터를 가져오는 것이다.</p>
<p>git pull origin처럼 merge를 시키는 것이 아니기에 합치지 않는다.</p>
<p>개인이 아닌 팀으로써 개발 과정중 같은 파일을 수정하는 경우가 있다.</p>
<p>그럴때 fetch 명령을 한 후에 merge 명령을 입력하는 것이 좋다</p>
<pre><code>git reset --hard origin/&lt;branch&gt;</code></pre><p>git reset --hard origin/&lt;branch 명&gt;은 현재 로컬저장소 즉 내 pc의 서브브랜치에 있는 내용과 변경사항을 버리고 원격저장소의 main과 동일하게 만드는 것이다. 나는 push후에 작업을 하지않고 main에서 pull을 한거기에 서브브랜치에 있는 내용과 변경사항을 버려도 상관이 없었다.</p>
<pre><code>git pull origin &lt;branch&gt;</code></pre><p>모든 작업은 끝났다. 이제 다시 pull만 하면 멀쩡히 pull이 완료된다.</p>
<h3 id="위의-코드들을-따라하게되면-강제-pull을-하게된다-혹시나-작업을-한-후-push를-하지-않고-pull을-했다면-위-내용을-따라하지-않는-것을-추천한다-아-혹시나-틀린-부분이-있으면-댓글로-알려주시길">위의 코드들을 따라하게되면 강제 pull을 하게된다. 혹시나 작업을 한 후 push를 하지 않고 pull을 했다면 위 내용을 따라하지 않는 것을 추천한다. 아 혹시나 틀린 부분이 있으면 댓글로... 알려주시길...</h3>
]]></description>
        </item>
    </channel>
</rss>