<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>hyojeong_sss.log</title>
        <link>https://velog.io/</link>
        <description>컴공생</description>
        <lastBuildDate>Sun, 18 Apr 2021 14:41:46 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>hyojeong_sss.log</title>
            <url>https://images.velog.io/images/hyojeong_sss/profile/266c96e8-28a9-447e-9460-77fcec9c5377/social.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. hyojeong_sss.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/hyojeong_sss" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[버튼 사용하여 LED 켜기]]></title>
            <link>https://velog.io/@hyojeong_sss/%EB%B2%84%ED%8A%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-LED-%EC%BC%9C%EA%B8%B0</link>
            <guid>https://velog.io/@hyojeong_sss/%EB%B2%84%ED%8A%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-LED-%EC%BC%9C%EA%B8%B0</guid>
            <pubDate>Sun, 18 Apr 2021 14:41:46 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>버튼을 눌렀을 때 LED 켜지고, 뗐을 때 LED 끄기</p>
</blockquote>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/b4c2a74b-b13a-40fc-9e4e-4cfc1f474bac/KakaoTalk_Photo_2021-04-18-23-40-35.gif" alt=""></p>
<pre><code>void setup() {
  pinMode(13, OUTPUT);
  pinMode(8, INPUT);
}

void loop() {
  int value = digitalRead(8);

  if (value == HIGH){
    digitalWrite(13, HIGH);
  }else{
    digitalWrite(13, LOW);  
  }
}</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[LED 여러개 밝기 조절하기]]></title>
            <link>https://velog.io/@hyojeong_sss/LED-%EC%97%AC%EB%9F%AC%EA%B0%9C-%EB%B0%9D%EA%B8%B0-%EC%A1%B0%EC%A0%88%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@hyojeong_sss/LED-%EC%97%AC%EB%9F%AC%EA%B0%9C-%EB%B0%9D%EA%B8%B0-%EC%A1%B0%EC%A0%88%ED%95%98%EA%B8%B0</guid>
            <pubDate>Sun, 18 Apr 2021 13:52:58 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>시리얼 통신을 통한 LED 밝기 조절</p>
</blockquote>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/17936777-31f4-4b31-8bc8-73e09542a344/KakaoTalk_Photo_2021-04-18-22-52-01.gif" alt=""></p>
<ul>
<li><p>시리얼 모니터를 통해 r 입력시, red led / y 입력시, yellow led / g 입력시, green led 밝기 조절</p>
</li>
<li><p>PC에게는 밝기 조절되는 LED 색 글자 보냄</p>
</li>
</ul>
<pre><code>void setup() {
  Serial.begin(9600);
}

void loop() {

  if (Serial.available()) {
    char s = Serial.read();

    if (s == &#39;r&#39;) {

      Serial.println(&quot;red bright&quot;);

      for (int i = 0; i &lt; 256; i++) {
        analogWrite(11, i); // 0(0V) ~ 255(5V)
        delay(20);  // 0.02s
      }

      for (int i = 255; i &gt; -1; i--) {
        analogWrite(11, i); // 255(5V) ~ 0(0V)
        delay(20);
      }

    } else if (s == &#39;y&#39;) {

      Serial.println(&quot;yellow bright&quot;);

      for (int i = 0; i &lt; 256; i++) {
        analogWrite(10, i);
        delay(20);  
      }

      for (int i = 255; i &gt; -1; i--) {
        analogWrite(10, i); 
        delay(20);
      }

    } else if (s == &#39;g&#39;) {

      Serial.println(&quot;green bright&quot;);

      for (int i = 0; i &lt; 256; i++) {
        analogWrite(9, i); 
        delay(20); 
      }

      for (int i = 255; i &gt; -1; i--) {
        analogWrite(9, i);
        delay(20);
      }

    }
  }

}</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[LED 여러개 켜기]]></title>
            <link>https://velog.io/@hyojeong_sss/LED-%EC%97%AC%EB%9F%AC%EA%B0%9C-%EC%BC%9C%EA%B8%B0</link>
            <guid>https://velog.io/@hyojeong_sss/LED-%EC%97%AC%EB%9F%AC%EA%B0%9C-%EC%BC%9C%EA%B8%B0</guid>
            <pubDate>Sat, 17 Apr 2021 13:11:52 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p>초록 -&gt; 노랑 -&gt; 빨강 순서로 켜지고, 빨강 -&gt; 노랑 -&gt; 초록 순서로 끄기</p>
</blockquote>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/54835ad2-ef06-4cdf-9a56-66792bfd539c/KakaoTalk_Photo_2021-04-17-22-06-54.gif" alt=""></p>
<pre><code>void setup() {
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(11, HIGH);
  delay(1000);
  digitalWrite(12, HIGH);
  delay(1000);
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
  digitalWrite(12, LOW);
  delay(1000);
  digitalWrite(11, LOW);
  delay(1000);
}</code></pre><hr>
<blockquote>
<p>초록 -&gt; 노랑 -&gt; 빨강 신호등 만들기</p>
</blockquote>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/fd917bfd-dc31-42b2-8c2f-b9a1fe2cf00e/KakaoTalk_Photo_2021-04-17-22-10-47.gif" alt=""></p>
<pre><code>void setup() {
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(11, HIGH);
  delay(1000);
  digitalWrite(11, LOW);
  delay(1000);
  digitalWrite(12, HIGH);
  delay(1000);
  digitalWrite(12, LOW);
  delay(1000);
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[Pandas - Creating, Reading and Writing]]></title>
            <link>https://velog.io/@hyojeong_sss/Pandas-Creating-Reading-and-Writing</link>
            <guid>https://velog.io/@hyojeong_sss/Pandas-Creating-Reading-and-Writing</guid>
            <pubDate>Sun, 28 Mar 2021 05:59:13 GMT</pubDate>
            <description><![CDATA[<h3 id="introduction-setup">introduction (Setup)</h3>
<pre><code class="language-python">import pandas as pd
pd.set_option(&#39;max_rows&#39;, 5)
from learntools.core import binder.bind(globals())
from learntools.pandas.creating_reading_and_writing import *
print(&quot;Setup complete&quot;)</code></pre>
<br>

<h3 id="exercises">Exercises</h3>
<h4 id="1-in-the-cell-below-createa-dataframe-fruits-that-looks-like-this">1. In the cell below, createa DataFrame fruits that looks like this:</h4>
<p><img src="https://i.imgur.com/Ax3pp2A.png" alt=""></p>
<p><strong>1번째 방법</strong></p>
<pre><code class="language-python">fruits = pd.DataFrame([[30, 21]], columns = [&#39;Apples&#39;, &#39;Bananas&#39;])</code></pre>
<p><strong>2번째 방법</strong></p>
<pre><code class="language-python">fruits = pd.DataFrame({&#39;Apples&#39;:[30], &#39;Bananas&#39;:[21]})</code></pre>
<br>

<h4 id="2--create-a-dataframe-fruit_sales-that-matches-the-diagram-below">2.  Create a dataframe fruit_sales that matches the diagram below:</h4>
<p><img src="https://i.imgur.com/Ax3pp2A.png" alt=""></p>
<p><strong>1번째 방법</strong></p>
<pre><code class="language-python">fruit_sales = pd.DataFrame([[35, 32], [41, 34]], index = [&#39;2017 Sales&#39;, &#39;2018 Sales&#39;], columns = [&#39;Apples&#39;, &#39;Bananas&#39;])</code></pre>
<p><strong>2번째 방법</strong></p>
<pre><code class="language-python">fruit_sales = pd.DataFrame({&#39;Apples&#39;: [35, 41], &#39;Bananas&#39; : [21, 34]}, index = [&#39;2017 Sales&#39;, &#39;2018 Sales&#39;])</code></pre>
<br>

<h4 id="3-create-a-variable-ingredients-with-a-series-that-looks-like">3. Create a variable ingredients with a Series that looks like:</h4>
<pre><code>Flour     4 cups
Milk       1 cup
Eggs     2 large
Spam       1 can
Name: Dinner, dtype: object</code></pre><p><strong>1번째 방법</strong></p>
<pre><code class="language-python">ingredients = pd.Series([&#39;4 cups&#39;, &#39;1 cup&#39;, &#39;2 large&#39;, &#39;1 can&#39;], index = [&#39;Flour&#39;, &#39;Milk&#39;, &#39;Eggs&#39;, &#39;Spam&#39;], name = &#39;Dinner&#39;)</code></pre>
<p><strong>2번째 방법</strong></p>
<pre><code class="language-python">measurement = [&#39;4 cups&#39;, &#39;1 cup&#39;, &#39;2 large&#39;, &#39;1 can&#39;]
food = [&#39;Flour&#39;, &#39;Milk&#39;, &#39;Eggs&#39;, &#39;Spam&#39;]
ingredients = pd.Series(measurement, index = food, name=&#39;Dinner&#39;)</code></pre>
<br>

<h4 id="4-read-the-following-csv-dataset-of-wine-reviews-into-a-dataframe-called-reviews">4. Read the following csv dataset of wine reviews into a DataFrame called reviews:</h4>
<p><img src="https://i.imgur.com/74RCZtU.png" alt=""></p>
<p>The filepath to the csv file is <code>../input/wine-reviews/winemag-data_first150k.csv</code>. The first few lines look like:</p>
<pre><code>,country,description,designation,points,price,province,region_1,region_2,variety,winery
0,US,&quot;This tremendous 100% varietal wine[...]&quot;,Martha&#39;s Vineyard,96,235.0,California,Napa Valley,Napa,Cabernet Sauvignon,Heitz
1,Spain,&quot;Ripe aromas of fig, blackberry and[...]&quot;,Carodorum Selección Especial Reserva,96,110.0,Northern Spain,Toro,,Tinta de Toro,Bodega Carmen Rodríguez</code></pre><pre><code class="language-python">reviews = pd.read_csv(&#39;../input/wine-reviews/winemag-data_first150k.csv&#39;, index_col = 0)</code></pre>
<br>

<h4 id="5-run-the-cell-below-to-create-and-display-a-dataframe-called-animals">5. Run the cell below to create and display a DataFrame called animals</h4>
<pre><code class="language-python">animals = pd.DataFrame({&#39;Cows&#39; : [12, 20], &#39;Goats&#39;: [22, 19]}, index=[&#39;Year 1&#39;, &#39;Year2&#39;])
animals</code></pre>
<p>In the cell below, write code to save this DataFrame to disk as a csv file with the name <code>cows_and_goats.csv</code>.</p>
<pre><code class="language-python">animals.to_csv(&#39;cows_and_goats.csv&#39;, header=True)</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[운영체제의 구조]]></title>
            <link>https://velog.io/@hyojeong_sss/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EC%9D%98-%EA%B5%AC%EC%A1%B0</link>
            <guid>https://velog.io/@hyojeong_sss/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EC%9D%98-%EA%B5%AC%EC%A1%B0</guid>
            <pubDate>Tue, 16 Mar 2021 15:03:48 GMT</pubDate>
            <description><![CDATA[<h2 id="커널과-인터페이스">커널과 인터페이스</h2>
<h3 id="커널">커널</h3>
<p>: 운영체제의 핵심적인 기능을 모아놓은 것</p>
<h3 id="인터페이스">인터페이스</h3>
<p>: 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할
ex) GUI (그래픽을 사용한 인터페이스)</p>
<hr>
<h2 id="시스템-호출과-디바이스-드라이버">시스템 호출과 디바이스 드라이버</h2>
<h3 id="시스템-호출-system-call">시스템 호출 (system call)</h3>
<p>: 응용 프로그램이 커널에 접근할 수 있도록 커널이 제공하는 인터페이스 (API)</p>
<ul>
<li>운영체제는 커널이 제공하는 서비스를 시스템 호출로 제한하고 다른 방법으로 커널에 들어오지 못하게 막음으로써 컴퓨터 자원을 보호</li>
</ul>
<blockquote>
<p>함수를 만들어 놔서, 이를 통해 자원에 접근할 수 있도록 하는 방식  (제공하는 API 통해서만 접근 가능)</p>
</blockquote>
<h3 id="드라이버">드라이버</h3>
<p>: 커널과 하드웨어의 인터페이스 담당</p>
<ul>
<li>마우스와 같이 간단한 제품은 드라이버를 커널이 가지고 있으나, 그래픽 카드와 같이 복잡한 하드웨어의 경우 제작자가 드라이버를 제공함</li>
</ul>
<hr>
<h2 id="커널의-구성">커널의 구성</h2>
<h3 id="단일형-구조-커널-monolithic">단일형 구조 커널 (Monolithic)</h3>
<p>: 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성</p>
<ul>
<li><p>초창기의 운영체제 구조</p>
</li>
<li><p>장점 : 모듈 간의 통신 비용이 줄어들어 효율적인 운영이 가능</p>
</li>
<li><p>단점 </p>
<ol>
<li>버그나 오류 처리하기 어려움</li>
<li>작은 결함이 시스템 전체로 확산될 수 있음<ol start="3">
<li>다양한 환경의 시스템에 적용하기 어려움</li>
<li>현대의 운영체제는 매우 크고 복잡하여 단일형 구조의 운영체제 구현 어려움</li>
</ol>
</li>
</ol>
</li>
</ul>
<h3 id="계층형-구조-커널">계층형 구조 커널</h3>
<p>: 비슷한 기능을 수행하는 모듈을 묶어서 하나의 계층으로 만들고 계층 간의 통신을 통해 운영체제 구현</p>
<ul>
<li>시스템 설계나 구현 단순해짐</li>
<li>계층의 정의가 쉽지 않음</li>
</ul>
<h3 id="마이크로-구조-커널">마이크로 구조 커널</h3>
<p>: 가장 기본적인 기능만 포함하고 기타 기능은 사용자 영역에서 수행</p>
<ul>
<li>각 모듈은 세분화되어 존재, 모듈 간의 정보 교환은 프로세스 간 통신을 이용하여 이루어짐</li>
<li>지연이 적고, 예측 가능하여 실시간 시스템에 활용 (커널 자체가 굉장히 작게 유지되기 때문)</li>
<li>모듈간 통신이 빈번하여 성능이 떨어질 수 있음</li>
</ul>
<hr>
<h2 id="가상머신">가상머신</h2>
<p>: 운영체제와 응용 프로그램 사이에서 작동하는 프로그램</p>
<ul>
<li>응용 프로그램이 모두 동일한 환경에서 작동하는 것처럼 보임</li>
<li>서버 가상화 : 물리적 서버 하나에 가상 서버를 여러 개 구성하는 방법</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[운영체제의 개요]]></title>
            <link>https://velog.io/@hyojeong_sss/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EC%9D%98-%EA%B0%9C%EC%9A%94</link>
            <guid>https://velog.io/@hyojeong_sss/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EC%9D%98-%EA%B0%9C%EC%9A%94</guid>
            <pubDate>Thu, 11 Mar 2021 14:51:57 GMT</pubDate>
            <description><![CDATA[<h1 id="소개">소개</h1>
<h2 id="운영체제-os-operating-system">운영체제 (OS, Operating System)</h2>
<ul>
<li><p>일반 컴퓨터, 스마트폰의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어
ex) PC 운영체제 (Window, Mac OS, UNIX, LINUX 등), 모바일 운영체제 (iOS, Android 등)</p>
</li>
<li><p>임베디드 운영체제 : CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 OS
ex) 스마트 시계, 스마트 TV</p>
</li>
</ul>
<h3 id="정의">정의</h3>
<ul>
<li>응용 프로그램이나 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공하고 그 결과를 돌려주는 시스템 소프트웨어</li>
<li>응용 프로그램이나 사용자에게 모든 컴퓨터 자원을 숨기고 정해진 방법으로만 컴퓨터 자원을 사용할 수 있도록 제한</li>
</ul>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/78ebc0fa-63b5-48ca-bcf6-3dfdfe79a11f/%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-03-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2010.53.36.png" alt=""></p>
<h3 id="역할">역할</h3>
<ol>
<li><p>자원 관리</p>
<ul>
<li>자원을 요청한 프로그램이 여러 개라면 적당한 순서로 자원을 배분
ex) 돌아가는 프로그램 메모리 적절히 분배, CPU가 쉬지 않도록 여러 프로그램 돌림</li>
</ul>
</li>
<li><p>자원 보호</p>
<ul>
<li>비정상적인 작업으로부터 컴퓨터 자원 보호
ex) 커널 같은 운영체제의 중요한 영역에 사용자가 함부로 접근하지 못하게 함</li>
</ul>
</li>
<li><p>하드웨어 인터페이스 제공</p>
<ul>
<li>사용자가 복잡한 과정 없이 다양한 장치를 사용할 수 있도록 함 (일관된 방법으로 사용할 수 있도록 지원)</li>
</ul>
</li>
<li><p>사용자 인터페이스 제공</p>
<ul>
<li>사용자가 운영체제를 편리하게 사용하도록 지원 
ex) GUI</li>
</ul>
</li>
</ol>
<h3 id="목표">목표</h3>
<ol>
<li><p>효율성</p>
<ul>
<li>자원 효율적 관리</li>
<li>같은 자원으로 더 많은 작업량 처리, 같은 작업량으로 적은 자원 사용</li>
</ul>
</li>
<li><p>안정성</p>
<ul>
<li>작업 안정적 처리</li>
<li>사용자와 응용 프로그램의 안전 문제, 하드웨어적인 보안 문제 처리</li>
<li>시스템에 문제가 발생시 이전으로 복구하는 fault-tolerance 기능</li>
</ul>
</li>
<li><p>확장성</p>
<ul>
<li>다양한 시스템 자원을 컴퓨터에 추가, 제거를 편리하게 하는 것</li>
<li>새로운 기능의 효과적인 개발을 허용</li>
</ul>
</li>
<li><p>편리성</p>
<ul>
<li>사용자가 편리하게 작업할 수 있는 환경 제공</li>
</ul>
</li>
</ol>
<pre><code>![](https://images.velog.io/images/hyojeong_sss/post/91956c41-1ee0-4b9d-b4ec-060bff49aaf8/%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-03-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2010.58.14.png)</code></pre><hr>
<h1 id="역사">역사</h1>
<h2 id="발달-순서">발달 순서</h2>
<blockquote>
<p>일괄처리(batch processing) -&gt; 다중 프로그래밍(multi programming) -&gt; 온라인 (online processing) -&gt; 시분할 처리(time-sharing processing) -&gt; 실시간 처리 (real time processing) -&gt; 다중 모드처리(multi mode processing) -&gt; 분산 처리(distributed processing) -&gt; 병렬 처리(parallel processing)</p>
</blockquote>
<h3 id="초창기-컴퓨터-1940">초창기 컴퓨터 (1940)</h3>
<p><strong>에니악</strong></p>
<ul>
<li>진공관 소자 사용, 켜지면 1, 꺼지면 0</li>
<li>전선 연결 &#39;하드와이어링&#39; 방식  -&gt; 여러 프로그램 동시에 돌리기 힘듦</li>
<li>운영체제가 없음</li>
</ul>
<h3 id="일괄-작업처리-시스템-1950">일괄 작업(처리) 시스템 (1950)</h3>
<p><strong>천공카드 시스템</strong></p>
<ul>
<li>입력장치 : 천공카드, 출력장치 : 라인 프린터</li>
<li>프로그램 구성 후 카드에 구멍 뚫어 입력하면 프로그램 실행</li>
<li>프로그램이 10줄이면 천공카드 10장 필요. 이때, 10장 말고도 맨 앞에 제어카드가 한 장 더 붙음
제어카드 : 내가 뒤에 요청하는 일들이 무엇인지 알려주는 기능을 하는 control 카드</li>
</ul>
<p><strong>일괄 처리 시스템</strong></p>
<ul>
<li><p>작업 준비 시간을 줄이기 위해 요구 사항이 비슷한 여러 개의 작업을 모아 한꺼번에 처리</p>
</li>
<li><p>모든 작업을 한꺼번에 처리하고 <em>프로그램 실행 중간에 사용자가 데이터를 입력하거나 수정하는 것 불가능</em>한 시스템 (= 중간에 사용자 인터렉션 없이 컴퓨터가 한번에 실행)</p>
</li>
<li><p>상주 모니터 (Resident Monitor) : 자동 작업 순서에서 하나의 작업에서 다른 작업으로의 진행을 자동으로 제어하는 프로그램으로 운영체제의 시초 
즉, 메모리 중 시작하는 부분 일부를 프로그램을 제어하는 용도로 프로그램을 짜놓음 (메모리 안에 계속 상주)</p>
</li>
</ul>
<pre><code>결과까지 며칠씩 기다려야 하고, 오류가 나면 결과도 주지 않는 천공카드의 불편함 존재</code></pre><pre><code>👇🏻 새로운 시스템 등장! 👇🏻    </code></pre><h3 id="대화형-시스템-1960">대화형 시스템 (1960)</h3>
<ul>
<li>모니터와 키보드 등장</li>
<li>온라인 시스템 (모니터, 키보드가 컴퓨터 메인프레임에 직접 연결)</li>
<li>다양한 종류의 응용 프로그램 만들 수 있게됨</li>
<li>60년대 초반에 소개되었으나 기술의 보편화가 더뎌 우리나라에서는 80년대에 보편화됨</li>
</ul>
<h3 id="다중-프로그래밍-시스템-1960">다중 프로그래밍 시스템 (1960)</h3>
<ul>
<li>CPU가 항상 수행할 작업을 가지도록 하여 프로세서 이용률을 극대화</li>
<li>여러 개의 프로그램을 동시에 기억 장치에 적재시켜 한 프로그램이 입출력 작업을 하는 동안, CPU가 다른 프로그램을 수행할 수 있게 함으로써 CPU의 <em>유휴 시간(idle time) 최소화</em> 하고 처리량을 극대화</li>
<li>기억 장치 관리 기법 (몇 개 프로그램까지 적재할 건지?) , CPU 스케줄링 기법 (CPU를 어떤 순서로 사용하게 할 건지?) 필요</li>
<li>어떤 하나의 프로그램의 실행 성능을 향상시키지는 못하나 <em>전반적인 시스템 성능은 향상</em></li>
</ul>
<pre><code>EX) A라는 프로그램 실행

메인 메모리에 A라는 프로그램이 적재되어 있어야 함. 
CPU가 한 줄씩 읽어다가 실행을 하는데, 프로그램을 하나만 적재해놓고 실행하다 보니 프로그램을 실행하다가 입출력이 있을 시, 
IO가 끝나기를 기다리면서 CPU가 유휴 상태가 됨

    👇 다른 프로그램들도 적재하자! 👇 

A가 IO를 하는 동안 B는 CPU를 사용함으로써 CPU의 유휴 상태를 최소화!
</code></pre><h3 id="시분할-시스템-1960">시분할 시스템 (1960)</h3>
<ul>
<li>CPU 사용 시간을 잘게 쪼개 작업들에 나누어줘 <em>모든 작업이 동시에 처리 되는 것처럼 보임</em></li>
<li>타임 슬라이스 (타임 퀀텀) : 잘게 나뉜 시간 한 조각</li>
<li>목적 : 응답 시간 최소화, 각 사용자들이 자신이 컴퓨터 시스템을 독점한 것처럼 느끼게 만드는 것</li>
<li>오늘날의 컴퓨터에 대부분 사용됨</li>
</ul>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/b0ec9d09-93d2-403e-8ab9-bc66bb6b95dd/%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-03-12%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.24.35.png" alt=""></p>
<pre><code>A 작업 완료 후 B작업, B작업 완료 후 C 작업을 진행할 경우, C는 자신이 응답 받는 시간이 굉장히 느리다고 생각할 것
BUT, 시분할 시스템은 A -&gt; B -&gt; C -&gt; A -&gt; B -&gt; C -&gt; ... 형태로 처리되므로 
모든 사용자들이 반응시간이 빠르다고 느끼게 될 것</code></pre><h3 id="실시간-시스템-1960">실시간 시스템 (1960)</h3>
<ul>
<li><p>처리를 요구하는 자료가 발생할 때마다 즉시 처리</p>
</li>
<li><p>특수 목적 (은행, 공장, 기차와 비행기의 좌석 예약 등), 멀티미디어 로봇 제어, 가상 현실 등의 제어 장치로 사용</p>
</li>
<li><p>특징</p>
<ol>
<li>자료가 발생한 지점에서 바로 입출력</li>
<li>효율적인 자원 사용보다 신속한 응답이 중요</li>
<li>무작위 자료 도착으로 인해 자료의 일시 저장과 대기 필요</li>
<li>특정 상태의 재현 불가 </li>
<li>재실행 불가</li>
</ol>
</li>
</ul>
<h3 id="분산-시스템-1970-후반">분산 시스템 (1970 후반)</h3>
<ul>
<li>PC와 인터넷 보급 </li>
<li>네트워크상에 분산되어 있는 여러 컴퓨터로 작업을 처리, 그 결과를 상호 교환하도록 구성</li>
</ul>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/c7c37dc6-4b16-4d39-9b60-3afec7dc93d2/%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-03-12%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.30.26.png" alt=""></p>
<h3 id="클라이언트서버-시스템-1990--현재">클라이언트/서버 시스템 (1990 ~ 현재)</h3>
<ul>
<li>이중구조 : 작업을 요청하는 클라이언트와 거기에 응답하여 요청 받은 작업을 처리하는 서버</li>
</ul>
<h3 id="p2p-시스템-2000-초반--현재">P2P 시스템 (2000 초반 ~ 현재)</h3>
<ul>
<li>클라이언트/서버 구조의 단점인 서버 과부화 해결</li>
<li>서버를 거치지 않고 사용자와 사용자 직접 연결</li>
<li>ex) 냅스터, 메신저, 토렌트 등</li>
<li>메신저 프로그램에 도입되면서 큰 발전</li>
</ul>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/8ce2e9fc-1cf0-4bd9-9209-9c90dba428ee/%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-03-12%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.33.07.png" alt=""></p>
<h3 id="기타-컴퓨팅-환경-2000-초반--현재">기타 컴퓨팅 환경 (2000 초반 ~ 현재)</h3>
<h4 id="그리드-컴퓨팅">그리드 컴퓨팅</h4>
<ul>
<li>필요한 기간만큼만 컴퓨터 사용 후 사용한 금액만큼만 돈 지불</li>
<li>클라우드의 하드웨어 버전이라고 생각하면 쉬움</li>
</ul>
<h4 id="클라우드-컴퓨팅">클라우드 컴퓨팅</h4>
<ul>
<li><p>그리드 컴퓨팅과 SaaS를 합쳐 놓은 형태</p>
</li>
<li><p>언제 어디서나 응용 프로그램과 데이터를 자유롭게 사용할 수 있는 컴퓨팅 환경</p>
</li>
<li><p>IaaS (Infrastructure as a Service)
  : 제일 많이 사용되고 있는 클라우드 컴퓨팅 형태, 개발사에 제공되는 물리적 자원을 가상화</p>
</li>
<li><p>PaaS (Platform as a Service)
  : 개발사에 제공되는 플랫폼을 가상화</p>
</li>
<li><p>SaaS (Software as a Service)
  : 고객에게 제공되는 소프트웨어를 가상화</p>
</li>
</ul>
<h4 id="사물-인터넷-iot">사물 인터넷 (IOT)</h4>
<ul>
<li>사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[공간 데이터 실습과 공간 함수]]></title>
            <link>https://velog.io/@hyojeong_sss/%EA%B3%B5%EA%B0%84-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%8B%A4%EC%8A%B5%EA%B3%BC-%EA%B3%B5%EA%B0%84-%ED%95%A8%EC%88%98</link>
            <guid>https://velog.io/@hyojeong_sss/%EA%B3%B5%EA%B0%84-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%8B%A4%EC%8A%B5%EA%B3%BC-%EA%B3%B5%EA%B0%84-%ED%95%A8%EC%88%98</guid>
            <pubDate>Wed, 10 Mar 2021 11:52:25 GMT</pubDate>
            <description><![CDATA[<h2 id="공간-데이터-실습">공간 데이터 실습</h2>
<br>

<h4 id="하천-테이블-생성-및-데이터-추가">하천 테이블 생성 및 데이터 추가</h4>
<pre><code class="language-sql">CREATE TABLE StreamTbl (
    MapNumber CHAR(10),        -- 지도일련번호
    StreamName CHAR(20),    -- 하천 이름
    Stream GEOMETRY);        -- 공간 데이터 (하천개체)</code></pre>
<pre><code class="language-sql">INSERT INTO StreamTbl VALUES (&#39;330000001&#39;, &#39;한류천&#39;, 
    ST_GeomFromText(&#39;LINESTRING (-10 30, -50 70, 50 70)&#39;));
INSERT INTO StreamTbl VALUES (&#39;330000001&#39;, &#39;안양천&#39;, 
    ST_GeomFromText(&#39;LINESTRING (-50 -70, 30 -10, 70 -10)&#39;));
INSERT INTO StreamTbl VALUES (&#39;330000002&#39;, &#39;일산천&#39;, 
    ST_GeomFromText(&#39;LINESTRING (-70 50, -30 -30, 30 -60)&#39;));</code></pre>
<hr>
<h4 id="건물-테이블-생성-및-데이터-추가">건물 테이블 생성 및 데이터 추가</h4>
<pre><code class="language-sql">CREATE TABLE BuildingTbl (
    MapNumber CHAR(10),        -- 지도일련번호
    BuildingName CHAR(20),    -- 건물 이름
    Building GEOMETRY);        -- 공간 데이터 (건물개체)</code></pre>
<pre><code class="language-sql">INSERT INTO BuildingTbl VALUES (&#39;330000005&#39;, &#39;하나은행&#39;, 
    ST_GeomFromText(&#39;POLYGON ((-10 50, 10 30, -10 10, -30 30, -10 50))&#39;));
INSERT INTO BuildingTbl VALUES (&#39;330000001&#39;, &#39;우리빌딩&#39;, 
    ST_GeomFromText(&#39;POLYGON ((-50 -70, -40 -70, -40 -80, -50 -80, -50 -70))&#39;));
INSERT INTO BuildingTbl VALUES (&#39;330000002&#39;, &#39;디티오피스텔&#39;, 
    ST_GeomFromText(&#39;POLYGON ((40 0, 60 0, 60 -20, 40 -20, 40 0))&#39;));</code></pre>
<ul>
<li>POLYGON : 괄호가 하나씩 더 들어가고 시작점과 끝점이 같아야 함</li>
</ul>
<hr>
<h4 id="하천-테이블-조회">하천 테이블 조회</h4>
<pre><code class="language-sql">SELECT * FROM StreamTbl;</code></pre>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/272b6645-0c75-4d61-8f45-9d2cd200d43a/image.png" alt=""></p>
<ul>
<li>mysql에서 Special View을 제공</li>
<li>3개의 하천 데이터 확인 가능</li>
</ul>
<hr>
<h4 id="빌딩-테이블-조회">빌딩 테이블 조회</h4>
<pre><code class="language-sql">SELECT * FROM BuildingTbl;</code></pre>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/5366d429-f6d7-4140-96d8-b634c5870080/image.png" alt=""></p>
<hr>
<h3 id="q-길이가-140-초과인-강-조회하기">Q) 길이가 140 초과인 강 조회하기</h3>
<pre><code class="language-sql">SELECT * FROM StreamTbl WHERE ST_Length(Stream) &gt; 140;</code></pre>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/23085235-808c-4897-af87-0c1f1a929815/image.png" alt=""></p>
<p>Q) 강 테이블에는 140이라는 정보를 입력한 적이 없다. 그런데 어떻게 조회가 되는 걸까?</p>
<p>A) ST_LENGTH라는 공간 함수에 의해서 강 길이가 자동으로 계산이 되어 해당 쿼리를 쓸 수 있는 것!</p>
<hr>
<h3 id="q-면적이-500-미만인-건물-조회하기">Q) 면적이 500 미만인 건물 조회하기</h3>
<pre><code class="language-sql">SELECT BuildingName, ST_AREA(Building) FROM BuildingTbl
    WHERE ST_AREA(Building) &lt; 500;</code></pre>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/3508ca3c-2476-4417-bc6a-154f0cc08299/image.png" alt=""></p>
<ul>
<li>Special View가 제공되지 않음. SELECT문에 공간 데이터에 해당하는 열을 넣지 않고, 빌딩 이름(BuildingName)과 계산된 면적(ST_AREA)만 입력했기 때문</li>
</ul>
<hr>
<h4 id="강과-빌딩-한번에-보기">강과 빌딩 한번에 보기</h4>
<pre><code class="language-sql">SELECT * FROM StreamTbl
UNION ALL
SELECT * FROM BuildingTbl;</code></pre>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/7f2d0a59-dab1-4bc0-b41b-9fc73b3a32eb/image.png" alt=""></p>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/1a490d4e-bca7-4915-bf0c-b2f1107e1ddd/image.png" alt=""></p>
<hr>
<h2 id="공간-데이터-형식의-함수">공간 데이터 형식의 함수</h2>
<ul>
<li>공간 데이터 입력/출력/조회하기 위해서는 기존 SQL 구문으로 처리 불가능
그래서 MySQL은 공간 데이터를 처리하기 위한 공간 함수를 제공</li>
</ul>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/e8c20cf7-da9c-43fe-9893-ff443c3cd2df/image.png" alt=""></p>
<hr>
<h3 id="q-안양천을-거치는-빌딩들-조회">Q) 안양천을 거치는 빌딩들 조회</h3>
<pre><code class="language-sql">SELECT StreamName, BuildingName, Building, Stream
    FROM BuildingTbl, StreamTbl
    WHERE ST_Intersects(Building, Stream) = 1 AND StreamName = &#39;안양천&#39;;</code></pre>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/caf57015-06ac-4d7d-aca7-32f382b1e887/image.png" alt=""></p>
<blockquote>
<p><code>ST_Intersects()</code>을 통해 두 도형이 교차하는 경우를 설정할 수 있는데 0인 경우는 교차 안함, 1인 경우는 교차함이므로 다음과 같이 작성해주었다.
<code>ST_Intersects(Building, Stream) = 1</code></p>
</blockquote>
<hr>
<h3 id="q-강의-폭을-더-크게-설정하기-5로-설정">Q) 강의 폭을 더 크게 설정하기 (5로 설정)</h3>
<pre><code class="language-sql">SELECT ST_Buffer(Stream,5) FROM StreamTbl;</code></pre>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/6a23491c-3693-4a9a-a44e-e2d846822c02/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[GIS 개념과 MySQL의 공간 데이터]]></title>
            <link>https://velog.io/@hyojeong_sss/GIS-%EA%B0%9C%EB%85%90%EA%B3%BC-MySQL%EC%9D%98-%EA%B3%B5%EA%B0%84-%EB%8D%B0%EC%9D%B4%ED%84%B0</link>
            <guid>https://velog.io/@hyojeong_sss/GIS-%EA%B0%9C%EB%85%90%EA%B3%BC-MySQL%EC%9D%98-%EA%B3%B5%EA%B0%84-%EB%8D%B0%EC%9D%B4%ED%84%B0</guid>
            <pubDate>Tue, 09 Mar 2021 14:28:02 GMT</pubDate>
            <description><![CDATA[<h1 id="지리정보시스템gis">지리정보시스템(GIS)</h1>
<p>지도와 그에 따른 텍스트(속성) 정보를 컴퓨터에 입력한 후에, 그 입력된 전자지도를 교통, 환경, 농업, 생활, 시설물 관리 등의 다양한 곳에 응용하는 분야</p>
<p>ex) 구글맵, 카카오맵, 자동차 내비게이션(공간 데이터 + GPS), 구글 어스 등</p>
<p>구글 어스 : 지형에 대한 인공위성 영상, 각 주요 건물에 대한 사진 정보, 해당 위치에 대한 지명 정보 등을 모두 함께 관리하는 통합된 GIS의 사례
<a href="https://www.google.co.kr/intl/ko/earth/">https://www.google.co.kr/intl/ko/earth/</a></p>
<hr>
<h3 id="q-다양한-gis를-구축하기-위해-필요한-것">Q) 다양한 GIS를 구축하기 위해 필요한 것?</h3>
<p>속성 데이터(텍스트 기반 데이터),  공간 데이터(지도에 표현되는 데이터) </p>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/21a919f0-49ed-4362-9c8f-4d1b4e1ac339/image.png" alt=""></p>
<p>과거 :  공간 데이터(지도)는 따로 파일로 가져오고 DBMS에서 테이블의 속성을 가져와서 2개를 조합해서 사용하는 기법 이용</p>
<ul>
<li>데이터의 이중 관리 문제  (지도 데이터 따로, 속성 데이터 따로) </li>
<li>지도 데이터까지 mysql 데이터베이스 안에서 사용하고 싶다!!</li>
<li><blockquote>
<p>mysql 5.0부터 지도 데이터를 저장할 수 있는 데이터 타입을 지원 (geometry)</p>
</blockquote>
</li>
</ul>
<hr>
<h2 id="공간-데이터">공간 데이터</h2>
<p>지구상에 존재하는 지형정보를 표현한 데이터 (강, 도로, 나무 등 모든 표현물을 디지털 지도 상에 옮겨 놓은 데이터) &amp;nbsp *&quot;디지털 지도 = 수치지도&quot;*</p>
<h3 id="공간-데이터-구성">공간 데이터 구성</h3>
<p>점, 선, 면  3개의 개체로서 표현
<img src="https://images.velog.io/images/hyojeong_sss/post/76dd9ec3-b868-407c-a36e-ccaf8663e342/image.png" alt=""></p>
<hr>
<h3 id="mysql에서-공간-데이터의-저장">mysql에서 공간 데이터의 저장</h3>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/049b686a-2e17-45d6-9cb4-823f635484eb/image.png" alt="">geometry 타입 : 지도가 파일 단위로 통째로 들어가는 게 아니라, 지도 안에 있는 점, 선, 면이 각각 저장</p>
<p><img src="https://images.velog.io/images/hyojeong_sss/post/3275d4f3-5f8c-4e55-a5c8-baaff872a1cd/image.png" alt="">강, 건물 각각이 공간 데이터로 각각 들어감. DB안에서 조회하고 처리 가능</p>
<p>Q) 우리나라에서 가장 큰 건물? 
A) 건물 크기 알려주는 공간 쿼리 사용, 실제 고급 어플리케이션 없이도 mysql안에서 처리 가능</p>
<hr>
<pre><code class="language-sql">CREATE TABLE StreamTbl (
    MapNumber CHAR(10),     -- 지도 일련번호
    StreamName CHAR(20),     -- 하천이름
    Stream GEOMETRY );        -- 공간 데이터 (하천 개체)
INSERT INTO StreamTbl VALUES ( &#39;330000001&#39;, &#39;한류천&#39;, ST_GeomFromText(&#39;LINESTRING (-10 30, -50 70, 50 70)&#39;, 0));</code></pre>
<p>하천 테이블 생성 및 하천 데이터 추가
mysql 5.0에서 지원하는 공간 함수 ST_GeomFromText() 사용하여 공간 데이터 입력
<br></p>
<pre><code class="language-sql">SELECT 하천이름 FROM 하천테이블 WHERE 하천길이 &gt; 10KM</code></pre>
<p>mysql에서 공간 데이터 개체가 데이터 형식으로 저장됨으로써 공간 쿼리 사용 가능</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[git 기본 사항]]></title>
            <link>https://velog.io/@hyojeong_sss/git-%EA%B8%B0%EB%B3%B8-%EC%82%AC%ED%95%AD</link>
            <guid>https://velog.io/@hyojeong_sss/git-%EA%B8%B0%EB%B3%B8-%EC%82%AC%ED%95%AD</guid>
            <pubDate>Mon, 08 Mar 2021 17:48:26 GMT</pubDate>
            <description><![CDATA[<h3 id="git-init한-후-해야할-일">git init한 후 해야할 일</h3>
<ol>
<li><p>team repository와 local 저장소 연결</p>
<pre><code>git remote add upstream &lt;team repo 주소&gt;</code></pre></li>
<li><p>본인 repository와 local 저장소 연결</p>
<pre><code>git remote add origin &lt;본인 repo 주소&gt;</code></pre></li>
<li><p>연결 되었는지 확인하기</p>
<pre><code>git remote -v</code></pre></li>
</ol>
<hr>
<h3 id="push하기">push하기</h3>
<ol>
<li>본인의 repo에 먼저 push (팀 repo에 바로 올리면 오류 검출이 어려움)</li>
</ol>
<pre><code>git add .</code></pre><pre><code>git commit -m &quot;&quot;</code></pre><pre><code>git push origin master</code></pre><ol start="2">
<li><p>본인의 repo에 들어가서 pull request 날리기</p>
</li>
<li><p>팀 repo에 들어가서 merge
다른 사람에게 merge해달라고 부탁하기</p>
</li>
</ol>
<hr>
<h3 id="team-repo에서-pull-받기">team repo에서 pull 받기</h3>
<ul>
<li>team repository에 올린 것을 받아오기<pre><code>git pull upstream master</code></pre></li>
</ul>
<h3 id="pull-한-후-충돌이-일어났을-때">pull 한 후 충돌이 일어났을 때</h3>
<p>충돌난 코드 정리 후</p>
<pre><code>git add .</code></pre><pre><code>git commit -m &quot;&quot;</code></pre><pre><code>git push origin master</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[파이썬 소개]]></title>
            <link>https://velog.io/@hyojeong_sss/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%86%8C%EA%B0%9C</link>
            <guid>https://velog.io/@hyojeong_sss/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%86%8C%EA%B0%9C</guid>
            <pubDate>Mon, 08 Mar 2021 17:33:27 GMT</pubDate>
            <description><![CDATA[<h3 id="프로그래밍-언어의-개념과-종류">프로그래밍 언어의 개념과 종류</h3>
<ul>
<li>프로그래밍 언어 : 컴퓨터가 이해하는 말로 컴퓨터에서 작동하는 소프트웨어를 만드는 도구 (C/C++, Java, HTML, PHP, Python 등)</li>
<li>프로그래머 : 프로그래밍 언어를 사용해 소프트웨어나 앱을 만드는 사람<br>

</li>
</ul>
<h3 id="파이썬-역사">파이썬 역사</h3>
<ul>
<li>C언어로 제작, 1991년 발표<br>
</li>
</ul>
<hr>
<h3 id="파이썬-특징">파이썬 특징</h3>
<ol>
<li>강력한 기능을 무료로 사용</li>
<li>읽기 쉽고 사용하기 쉬움</li>
<li>사물인터넷(IOT)과의 연동성</li>
<li>외부 라이브러리들이 풍부</li>
<li>웹 프레임워크 사용 가능<br>

</li>
</ol>
<h3 id="파이썬-단점">파이썬 단점</h3>
<ol>
<li>느린 속도<ul>
<li>파이썬은 컴파일러 언어가 아닌 스크립트 언어! 컴파일러 언어보다 느림</li>
</ul>
</li>
<li>모바일 컴퓨팅 분야에 지원이 약함, 하드웨어 제어 등과 관련된 부분 사용 어려움   <br>

</li>
</ol>
<p><strong>Q) <em>컴파일러 언어</em> 와 <em>스크립트 언어</em> 란 무엇일까?</strong></p>
<ul>
<li><p><strong>컴파일러 언어</strong> (Like 번역)
소스 코드를 실행 가능한 기계어로 일괄 번역한 후 번역이 완료된 파일(.exe, .class 등의 파일)을 실행하는 언어
소스 코드를 기계어로 번역하는 과정을 컴파일이라고 하며, 이 작업을 하는 프로그램을 컴파일러라고 함</p>
</li>
<li><p><strong>스크립트 언어(인터프리터 언어)</strong> (Like 통역)
소스 코드를 한 줄씩 읽어 실행되어 별도의 실행 파일이 생성되지 않는데, 이때 한 줄씩 처리하는 프로그램을 인터프리터라고 함</p>
</li>
<li><p><strong>차이점</strong>
일반적으로 컴파일러 언어는 소스 코드를 일괄적으로 기계어로 번역해 놓기 때문에 실행 속도가 스크립트 언어보다 빠름. 하지만 컴파일러 언어는 배우는 데 시간이 오래 걸리는 반면, 스크립트 언어는 대부분 빠른 시간에 배울 수 있다는 장점이 있음</p>
<br>
</li>
</ul>
<hr>
<h3 id="파이썬-설치">파이썬 설치</h3>
<p><strong>Q) 실행 -&gt; CMD -&gt; SET &gt; PATH  의 의미?!</strong></p>
<ul>
<li>PATH란? &amp;nbsp&amp;nbsp 특정한 파일이 있는 위치를 나타내는 주소</li>
</ul>
<p>윈도우에는 PATH라는 이름의 환경변수가 존재한다. 이 변수는 어떤 디렉토리에서도 실행할 수 있는 파일들을 찾기 위한 경로를 미리 설정해 두는데 쓰인다.
현재 작업 디렉토리에는 존재하지 않는 실행파일의 경로가 윈도우의 PATH 환경변수에 지정되어 있다면 어떤 위치에서도 해당 실행파일을 실행시킬 수 있다.</p>
<p>이러한 PATH는 GUI환경에서는 개념이 희박하지만, 명령줄 실행 환경(CLI)에서는 필요하다.
명령 프롬프트에서 set 명령을 실행시키면 현재 PATH로 지정되어 있는 폴더들의 목록이 나온다.
이때, “PATH=…” 부분을 보면, 이 부분은 다음의 디렉토리들이 PATH로 현재 지정되어 있다는 의미이다. 즉, 실행 파일을 현재 디렉토리에서 찾다가 없으면 “PATH=…”에 기재되어 있는 디렉토리들도 찾아본다는 뜻이다.
<br></p>
<p><strong>PATH 설정을 파이썬 설치시 체크해주는 이유</strong> 는 Python 3.8을 컴퓨터가 현재 cmd.exe의 어느 디렉토리에 있다 하더라도, 파이썬을 실행시킬 수 있도록 해주는 것이기 때문이다. 즉, 환경변수를 설정해주는 것이다.</p>
]]></description>
        </item>
    </channel>
</rss>