<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>무한서고</title>
    <link>https://omnil.tistory.com/</link>
    <description>각종 자격증(정보처리기사 등), 안드로이드, 아두이노, AVR, 프로그래밍, 딥러닝, 재택알바 등 IT와 다양한 과학/공학에 관한 블로그</description>
    <language>ko</language>
    <pubDate>Wed, 12 Aug 2026 22:57:34 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>미렌스</managingEditor>
    <item>
      <title>오라클 클라우드 인프라스트럭쳐(Oracle Cloud Infrastructure) 세팅하기</title>
      <link>https://omnil.tistory.com/270</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;오라클&amp;nbsp;클라우드&amp;nbsp;인프라스트럭쳐(Oracle&amp;nbsp;Cloud&amp;nbsp;Infrastructure)&amp;nbsp;세팅하기&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;0. 서론&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 간만의 포스팅이긴 한데... 요 근래 AWS가 정책이 매우 괴랄하게 변했다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;25년 7월 15일에 엄청난 개악(?)을 단행했는데...&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;기간 반토막: 12개월 월 750시간 프리티어를 주던 정책을 6개월로 줄임&lt;/li&gt;
&lt;li&gt;대신 용돈 줌: 새로 가입하면 $200 크레딧(현금 포인트)을 주고 &quot;이걸로 6개월 동안 마음껏 써봐!&quot;라는 식으로 바뀜&lt;/li&gt;
&lt;li&gt;거기다가 요새는 가장 기본 프리티어인 t2.micro 조차도 용량을 수정하기 매우 어렵게 완전히 꽁꽁 숨겨놨다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;덕분에 나름 꼼꼼히 보면서 다시 만들었어도, 기본 8gb 용량이라 제대로 아나콘다 하나 설치를 못한다...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 인스턴스 뿌시고, 다시 만들어봤더니... 이야 한달만에 크레딧 다 쓰고 유료 전환하라고 메일이 와서... 이번에 그냥 다른 대안을 찾아보다가 오라클 클라우드(OCI)를 선택했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OCI는 하드 총량도 200Gb나 주고, 기본 성능도 t2.micro보다는 좋다고하고, 무엇보다 &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&quot;평생 무료&quot;&lt;/span&gt;&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거기에 더불어서 꽤나 좋은 '암페어' 모델도 평생 무료다(그래서 이건 진짜 매번 생성불가에다가, 이미 다른 '매크로'들이 호시탐탐 노리고 있다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일년마다 프리티어를 새로 만드는 짓거리를 하지 않아도 되는 셈...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 사람이란게 한번 익숙해지면, 새로운 것을 받아들이는덴 참 시간이 걸리고 어려운지라, 오늘 복습도 할겸 한번 끄적거려본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 회원가입하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 회원가입은 기본적인 거니까 쭉쭉 진행을 하면 되는데... 여기서 제일 중요한게 회원가입단계에서 바로 '리전'을 선택하게 되어있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 aws랑 다르게 oci는 한번 리전을 설정하면 유료로 돌리기 전에는 바꿀 수 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 '서울'이나 '춘천'을 노리게 되는데... 서울은 진짜 너무 빡세서 리스트에조차 없다. '춘천'도 빡빡하긴 마찬가지...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 &lt;b&gt;서울/춘천&lt;/b&gt; 둘 다 안되면 적어도 &lt;b&gt;Japan East (Tokyo)&lt;/b&gt;나 &lt;b&gt;Japan West (Osaka)&lt;/b&gt;라도 노리자..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 회원가입을 하고 나면, 의외로 회원가입에 시간이 꽤나 걸린다. 최장 24시간까지 걸린다는 흉흉한 소문도 들어봤고...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내 경우엔 한 10분? 로딩 화면에 있다가 15분 정도 시간 더 걸릴거라는 페이지로 넘어가며 '메일'을 보냈다고 알람이 왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 메일을 받았으면 내 계정은 잘 만들어 진 셈.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 여기는 따로 mfa를 설정하는게 아니라 아예 가입하면서 mfa를 설정할 수 밖에 없게 만들어 놓는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고.. 여기 프리티어지만, 진짜 무서운게 aws보다 더 빡빡하게 신용카드 결제 가능 여부를 관리한다는 점이다.. 매달 확인한다는 '썰'이 있는데...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 프리티어니까 적당히 잘 했으면 이제 인스턴스를 만들러 가보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 인스턴스 만들기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아... 여기서부터 꽤나 힘들다. aws처럼 이 친구들도 엄청나게 복잡하게 화면을 구성해 놨기 때문...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;게다가 여전히 aws 처럼 수시로 ui를 바꿔 댈 테니 여기서는 스크린샷은 최대한 자제하고 '느낌'으로 전달하려고한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스턴스 만들때 의외로 단계가 꽤나 된다?는 느낌을 받았다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1]&amp;nbsp;Basic&amp;nbsp;Information&lt;/b&gt; &lt;br /&gt;&amp;nbsp;1. 이름 및 위치 (Name &amp;amp; Placement) &lt;br /&gt;&amp;nbsp;Name: 원하는 대로 (예: main-server) &lt;br /&gt;&amp;nbsp;Placement: 기본값 유지 (AD-1 하나밖에 없을 겁니다) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;2. 이미지 및 셰입 (Image and Shape) &lt;br /&gt;&amp;nbsp;이 부분을 반드시 수정(Edit)해야 합니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;- Image (운영체제): &lt;br /&gt;&amp;nbsp;기본값: Oracle Linux &lt;br /&gt;&amp;nbsp;추천: Canonical Ubuntu 24.04.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;- Shape (하드웨어): &lt;br /&gt;&amp;nbsp;기본값: VM.M.Standard.E2.1.Micro (aws에서의 t2.micro 모델)&lt;br /&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;일단 기본값 자체도 그다지 나쁘지는 않다고 한다.(심지어 내가 돌리려는게 꽤나 큰 모델이나 프로젝트도 아니고...)&lt;br /&gt;&amp;nbsp;그러나 ARM 프로세서로 OCPU: 4, Memory: 24GB까지 쓸 수 있는 하드웨어도 &quot;평생 무료&quot;라고 한다. 그래서 지금 이 인스턴스는 엄청난 인기! 그래서 한번에 생성은 거의 불가능하다. 보통 이 인스턴스를 쓰고 싶어도 일단 기본값으로 만들어 놓고(얘는 쉽게 생성됨) 거기서 매크로를 돌리는게 일반적이라고 하니...&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;일단 변경 방법은 다음과 같다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Change Shape 클릭&lt;/li&gt;
&lt;li&gt;Ampere 시리즈 선택 (ARM 프로세서)&lt;/li&gt;
&lt;li&gt;VM.M.Standard.A1.Flex 체크&lt;br /&gt;-(여기서부턴 리스트에서 선택인지, 슬라이드 바가 나오는지는 '신비의 전설' 수준이라 명확하진 않지만 어찌되었든)&lt;/li&gt;
&lt;li&gt;OCPU: 4 / Memory: 24 GB로 선택&lt;/li&gt;
&lt;li&gt;Select Shape 클릭&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당연히 나는 안만들어져서, 기본 마이크로로 만들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2] 시큐리티&lt;/b&gt; &lt;br /&gt;아무것도 건드리지 말것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3] 네트워킹 (Networking)&lt;/b&gt; &lt;br /&gt;- vnic 이름 만들어주고(이건 나중에 바꿀 수도 있고.. 뭐 대충 아무렇게나..)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Create new virtual cloud network 선택 &lt;br /&gt;아래쪽에 Automatically assing Public IPV4 address 가 체크되면 땡큐인데.. 오라클 홈페이지가 진짜 엄청나게 예민해서 비활성화 되는 경우도 있다. 안되면 나중에 수동으로 붙일 수 있으니 일단 넘어가기&lt;br /&gt;&lt;br /&gt;아 그리고 aws랑 다르게 포트(80, 443 등) 여는 건 따로 설정해야 함..&lt;br /&gt;&lt;br /&gt;- SSH 키 추가 (Add SSH keys) &lt;br /&gt;당연히 너무나도 잘들 아실테지만.. 이거 잃어버리면 서버 못 들어갑니다.&lt;br /&gt;&lt;br /&gt;Generate a key pair for me 선택 (기본값)&lt;br /&gt;Save&amp;nbsp;private&amp;nbsp;key&amp;nbsp;버튼을&amp;nbsp;눌러서&amp;nbsp;.key&amp;nbsp;파일&amp;nbsp;다운로드. &lt;br /&gt;public key도 받아도 상관은 없음..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4] 부트 볼륨 (Boot volume)&lt;/b&gt; &lt;br /&gt;프리티어는 총 200GB까지 공짜!&lt;br /&gt;근데 여기도 기본 50Gb?로 설정되어 있으니까&lt;br /&gt;Specify a custom boot volume size 눌러서 100GB 정도로 넉넉하게 잡으면 될듯요. (200GB 다 쓰면 나중에 서버 하나 더 만들 때 용량 부족합니다. 뭐 만일을 위해서 좀 남겨두는거고.. 실상 100Gb도 충분하기도 하고...)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 다 세팅을 하고 나면, 리뷰?로 한번 모든 정보를 싹 보여주고 'Create'가 나오는데.. 그냥 마이크로 했으면 바로&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Case A: &quot;Provisioning&quot; (주황색) 상태가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일 것이고, 욕심을 내서 암페어를 골랐다면, 인터넷 창 아래에 빨간 색으로 오류메시지 즉,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Case B: &quot;Out of host capacity&quot; 에러가 뜬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 될 확률이 높죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Case B면, 그냥 속편하게 마이크로로 셰입 바꾸고 만드는게 속 편합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 해서 인스턴스를 만들었습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 퍼블릭&amp;nbsp;아이피&amp;nbsp;붙이기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 느낌적인 느낌으로 설명드릴께요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방금 인스턴스를 만들었죠? 그러면 바로 인스턴스 창이 브라우저에 뜰 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 이 인스턴스 창에서 파란색 링크된 인스턴스 클릭(이 부분은 생략될 수도 있습니다. 만들어지고 바로 '디테일'창으로 들어와졌다면요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스턴스 명 아래 여러 탭이 보이는데, 그중에 네트워킹 탭 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크롤 내려서 Attached VNICs 에서 name 아래 파란 링크 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상단 탭에서 'IP administration'클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하단 표에서 오른쪽 끝 점 세개 클릭 Edit&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ephemeral&amp;nbsp;Public&amp;nbsp;IP&amp;nbsp;선택하고&amp;nbsp;Update&amp;nbsp;누르면&amp;nbsp;끝!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수 분 내로(거의 즉시?) 퍼블릭 아이피가 붙습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이제 퍼블릭 아이피도 얻었겠다, 일단 ssh로 접속해볼까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ssh -i &quot;C:\Users\사용자명\Downloads\ssh-key-2026-01-30.key&quot; ubuntu@&quot;퍼블릭 IP 주소&quot;&lt;br /&gt;&lt;br /&gt;위 명령어를 복사해서 붙여넣되, [키파일경로] 부분만 실제 파일 경로로 바꿔주세요. &lt;br /&gt;(팁:&amp;nbsp;ssh&amp;nbsp;-i&amp;nbsp;치고&amp;nbsp;한&amp;nbsp;칸&amp;nbsp;띄운&amp;nbsp;뒤,&amp;nbsp;다운로드&amp;nbsp;폴더에&amp;nbsp;있는&amp;nbsp;.key&amp;nbsp;파일을&amp;nbsp;터미널&amp;nbsp;창으로&amp;nbsp;드래그&amp;nbsp;앤&amp;nbsp;드롭하면&amp;nbsp;경로가&amp;nbsp;자동으로&amp;nbsp;입력됩니다.) &lt;br /&gt;&lt;br /&gt;오라클 우분투의 기본 아이디는 ubuntu입니다. (opc 아닙니다.) &lt;br /&gt;&lt;br /&gt;성공&amp;nbsp;신호 &lt;br /&gt;처음&amp;nbsp;접속하면&amp;nbsp;&quot;Are&amp;nbsp;you&amp;nbsp;sure&amp;nbsp;you&amp;nbsp;want&amp;nbsp;to&amp;nbsp;continue&amp;nbsp;connecting?&quot;&amp;nbsp;이라고&amp;nbsp;물어봅니다. &lt;br /&gt;&lt;br /&gt;yes&amp;nbsp;라고&amp;nbsp;타이핑하고&amp;nbsp;엔터&amp;nbsp;치세요. &lt;br /&gt;&lt;br /&gt;ubuntu@&quot;vnic 이름&quot;:~$ 라는 초록색 글씨가 뜨면 접속 성공입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 포트개방&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aws랑은 다르게 오라클은 조금 보안이 빡세서, 단계가 두개가 필요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1단계: 오라클&amp;nbsp;웹&amp;nbsp;콘솔&amp;nbsp;설정&amp;nbsp;(문&amp;nbsp;열기)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS의 Security Group 설정과 똑같습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Networking 탭: 아까 그 인스턴스 상세 화면에서 중앙의 Networking 탭 클릭.&lt;/li&gt;
&lt;li&gt;표에서 Subnet이라 써있고, 그 오른쪽에 파란색으로 링크 된 부분 클릭&lt;/li&gt;
&lt;li&gt;상단 탭에서 시큐리티 클릭&lt;/li&gt;
&lt;li&gt;시큐리티 리스트가 나오는데, 여기서 디폴트 시큐리티 리스트(파란색 링크) 클릭&lt;/li&gt;
&lt;li&gt;상단 탭에서 Security rules클릭&lt;/li&gt;
&lt;li&gt;Ingress rules가 나오는데, 여기서 Add ingress rules 눌러서&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Source CIDR: 0.0.0.0/0 (전 세계 허용)&lt;/li&gt;
&lt;li&gt;Destination Port Range: 80,443,8080,8888,8501,5000&lt;/li&gt;
&lt;li&gt;두 개만 써주고 나머지는 그냥 디폴트 값으로 둔 상태에서&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Add Ingress Rules 클릭&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;2단계: 서버 내부 설정&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이게 제일 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오라클 우분투 이미지는 기본적으로 iptables라는 빡센 방화벽이 켜져 있어서, 위에서 열어도 접속이 안 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 어떻게 해야하나... 하면 그냥 터미널에서&amp;nbsp;쿨하게 방화벽 규칙을 싹 밀어버리고(허용하고) 저장합시다. (어차피 앞단의 오라클 콘솔이 막아주니까요.) &lt;br /&gt;&lt;br /&gt;아래 명령어 3줄을 한 줄씩 복사해서 붙여넣으세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;# 1. 현재 걸려있는 모든 차단 규칙 삭제 (프리패스) &lt;br /&gt;sudo iptables -F&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;# 2. 앞으로의 모든 접속 허용으로 변경 &lt;br /&gt;sudo&amp;nbsp;iptables&amp;nbsp;-P&amp;nbsp;INPUT&amp;nbsp;ACCEPT &lt;br /&gt;sudo&amp;nbsp;iptables&amp;nbsp;-P&amp;nbsp;FORWARD&amp;nbsp;ACCEPT &lt;br /&gt;sudo iptables -P OUTPUT ACCEPT&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;# 3. 재부팅해도 초기화 안 되게 저장 (이거 안 하면 껐다 켜면 다시 막힘) &lt;br /&gt;sudo&amp;nbsp;netfilter-persistent&amp;nbsp;save &lt;br /&gt;끝났습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 포트도 다 열었구요~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 이제 aws처럼 웹서버로 씁시다~&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이젠, 이 블로그의 다른 포스팅에서처럼 아나콘다를 깔고, 주피터 서버를 만들면 이제 나만의 작은 주피터 서버가 생성되는 것이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 사이에 좀 많은 변화가 있어서 이참에 조금 정리해 두려고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;FTP 포트&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 과거랑 가장 큰 차이는 FTP 포트(21)가 딱히 안전성이 좋지 않아서 굳이 사용하지 않을거라는 점? 그래서 위에서 포트개방때도 딱히 안열었었죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;아나콘다 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 아나콘다 설치는 &lt;a href=&quot;https://omnil.tistory.com/72&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://omnil.tistory.com/72&lt;/a&gt;이 링크에서 자세히 설명하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요 근래 아나콘다 설치 후 source ~/.bashrc해도 기본 패스가 잘 안잡히는 경우가 있는데, 이때는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;export PATH=~/anaconda3/bin:$PATH&lt;/li&gt;
&lt;li&gt;conda init&lt;/li&gt;
&lt;li&gt;source ~/.bashrc&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한번 더 강제로 돌려주면 잘 돌아갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주피터 서버&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이게 사실상 제일 크게 변한 부분입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과거에는 주피터 서버로 모든걸 관리했는데, 이제 이 부분이 주피터 랩으로 넘어가면서 명령어에 약간의 변화가 생겼습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;jupyter&amp;nbsp;lab&amp;nbsp;--generate-config&lt;br /&gt;로 config 파일 만들어주고요&lt;/li&gt;
&lt;li&gt;cd&amp;nbsp;.jupyter&lt;br /&gt;로 이동해서&lt;/li&gt;
&lt;li&gt;vi&amp;nbsp;jupyter_lab_config.py&lt;br /&gt;config 파일 열고&lt;/li&gt;
&lt;li&gt;i 눌러서 insert모드 들어가서 enter 두번 치고&lt;br /&gt;c.ServerApp.ip&amp;nbsp;=&amp;nbsp;'0.0.0.0'&lt;br /&gt;c.ServerApp.port&amp;nbsp;=&amp;nbsp;8888&lt;br /&gt;c.ServerApp.open_browser&amp;nbsp;=&amp;nbsp;False&lt;br /&gt;c.ServerApp.notebook_dir&amp;nbsp;=&amp;nbsp;'/home/ubuntu/'&lt;br /&gt;c.ServerApp.allow_remote_access&amp;nbsp;=&amp;nbsp;True&lt;br /&gt;이렇게 써주고, esc 눌러준 다음 :wq 눌러서 저장하고 나와주시면 됩니다.&lt;/li&gt;
&lt;li&gt;jupyter&amp;nbsp;lab&amp;nbsp;password&lt;br /&gt;이걸로 패스워드 진짜 쉽게 설정할 수 있구요&lt;/li&gt;
&lt;li&gt;screen&amp;nbsp;-S&amp;nbsp;jupyter&lt;br /&gt;jupyter&amp;nbsp;notebook&lt;br /&gt;ctrl+a+d&lt;br /&gt;로 스크린 켜고, 웹 브라우저에서 '퍼블릭 IP:8888'로 접속하면 바로 주피터 노트북이 열릴겁니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 마무리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네, 이렇게 나름 쉽다면 쉽게? OCI를 설정해봤습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;평생 무료란게 정말 마음에 드네요.&lt;/p&gt;</description>
      <category>Software/AWS</category>
      <category>aws</category>
      <category>OCI</category>
      <category>개인서버</category>
      <category>서버</category>
      <category>오라클</category>
      <category>오라클클라우드</category>
      <category>웹서비스</category>
      <category>주피터</category>
      <category>클라우드</category>
      <category>파이썬</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/270</guid>
      <comments>https://omnil.tistory.com/270#entry270comment</comments>
      <pubDate>Fri, 30 Jan 2026 19:29:59 +0900</pubDate>
    </item>
    <item>
      <title>마비노기 모바일 PC버전 다운로드 안될 때</title>
      <link>https://omnil.tistory.com/220</link>
      <description>&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;마비노기 모바일 PC버전 다운로드 안될 때&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;마비노기 모바일이 아주 요새 핫하다해서 모바일로 즐기던 중 아무래도 PC가 하기 편하지 않을까 싶어 PC버전을 다운로드 받으려는데!&lt;br&gt;&lt;br&gt;홈페이지에서 첫 페이지에서 'GAME START'버튼이 안뜨고, 심지어 다운로드 페이지에 들어가도 '다운로드' 링크가 안뜬다면!!&lt;br&gt;&lt;br&gt;해상도의 문제일 수 있습니다.&lt;br&gt;&lt;br&gt;마비노기 모바일 홈페이지가 진짜 왜 그렇게 만들었는진 모르겠는데 반응형 웹사이트로 이 버튼이 뜨게/안뜨게 해놨더라구요.&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;span style=&quot;color: #EE2323;&quot;&gt;간단하게, 브라우저에서 '확대/축소'하셔서 화면을 조금 축소해주면 바로 버튼들이 나타납니다!!&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;키보드에서 'ctrl'누르고 마우스 휠 돌리셔도 같은효과입니다!&lt;br&gt;&lt;br&gt;저같이 며칠동안 PC버전 시작도 못해보시는 일 없기를 바랍니다...&lt;/p&gt;</description>
      <category>TIPS/Errors&amp;amp;Solutions</category>
      <category>Mabinogi</category>
      <category>PC</category>
      <category>PC버전</category>
      <category>게임</category>
      <category>넥슨</category>
      <category>마비노기</category>
      <category>마비노기 모바일</category>
      <category>마비노기모바일</category>
      <category>모바일</category>
      <category>해상도</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/220</guid>
      <comments>https://omnil.tistory.com/220#entry220comment</comments>
      <pubDate>Tue, 8 Apr 2025 12:58:06 +0900</pubDate>
    </item>
    <item>
      <title>[TIPS/ERRORS] 쉐보레 차량의 사이드 깜빡이가 갑자기 빠르게 점멸하다 꺼진다면?</title>
      <link>https://omnil.tistory.com/217</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;쉐보레 차량의 사이드 깜빡이가 갑자기 빠르게 점멸하다 꺼진다면?&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;차에 노란색 경고등이 들어왔을 때 그런다&lt;br&gt;&lt;br&gt;예시로 타이어 공기압 부족 등이 있다&lt;br&gt;&lt;br&gt;&lt;/p&gt;</description>
      <category>TIPS/Errors&amp;amp;Solutions</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/217</guid>
      <comments>https://omnil.tistory.com/217#entry217comment</comments>
      <pubDate>Thu, 19 Dec 2024 09:36:50 +0900</pubDate>
    </item>
    <item>
      <title>Gap not found</title>
      <link>https://omnil.tistory.com/216</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;Gap not found&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;오류상세-&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;갭을 찾을 수 없음(Gap not found)&lt;br&gt;&lt;br&gt;#1028&lt;br&gt;&lt;br&gt;라벨 유형에 맞게 센서 설정을 조정하거나 센서를 청소하세요.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;오류정보-&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;SATO CL4NX 라벨기에서 라벨과 라벨사이 갭을 찾지 못하여 발생하는 오류이다.&lt;br&gt;&lt;br&gt;오류 발생시 갭을 찾지못하고 라벨이 계속 나오다가 에러가 발생한다.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;해결-&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;(리본방식이 아닌 감열방식에서의 해결법이다)&lt;br&gt;&lt;br&gt;'설정&amp;gt;인쇄&amp;gt;고급&amp;gt;캘리브레이션'으로 들어가 '갭 레벨'을 선택하여 들어간다.&lt;br&gt;&lt;br&gt;Emit을 4 이상으로 설정한뒤 v표시를 눌러 설정한다.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;추가사항-&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;기본값은&lt;br&gt;&lt;br&gt;Emit: 4&lt;br&gt;Receive: 40&lt;br&gt;&lt;br&gt;으로 보인다.&lt;br&gt;&lt;br&gt;그러나 상황마다 장소마다 라벨마다 설정된 기본값이 다를 수 있으니, 이때는 다른 라벨기의 값은 어떤지 참조하여 설정한다.&lt;/p&gt;</description>
      <category>TIPS/Errors&amp;amp;Solutions</category>
      <category>error</category>
      <category>Gap</category>
      <category>Sato</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/216</guid>
      <comments>https://omnil.tistory.com/216#entry216comment</comments>
      <pubDate>Mon, 18 Nov 2024 19:49:47 +0900</pubDate>
    </item>
    <item>
      <title>[윈도우11(windows11)] 공유프린터 연결시 자격증명에러 발생</title>
      <link>https://omnil.tistory.com/209</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[윈도우11(windows11)] 공유프린터 연결시 자격증명에러 발생&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1744&quot; data-origin-height=&quot;884&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cocynz/btsJInchFi7/xMKaXNz89HMh4mCk8y7s5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cocynz/btsJInchFi7/xMKaXNz89HMh4mCk8y7s5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cocynz/btsJInchFi7/xMKaXNz89HMh4mCk8y7s5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcocynz%2FbtsJInchFi7%2FxMKaXNz89HMh4mCk8y7s5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1744&quot; height=&quot;884&quot; data-origin-width=&quot;1744&quot; data-origin-height=&quot;884&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;br /&gt;문제 요약&lt;/h3&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;br /&gt;* 문제&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;Windows 11에서 공유 프린터에 연결하려고 할 때 &quot;제공한 자격 증명에 이 프린터에 액세스할 수 있는 권한이 충분하지 않습니다. 새 자격 증명을 지정하시겠습니까?&quot;라는 오류 메시지가 나타남&lt;/p&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;br /&gt;* 원인&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;컴퓨터의 고급 공유 설정이 암호로 보호된 공유로 설정되어 있기 때문&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;해결 방법&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;고급 공유 설정에서 암호로 보호된 공유를 해제&lt;/p&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;br /&gt;* 해결 방법 상세 안내&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;* 설정 열기: 시작 메뉴에서 설정을 검색하여 열거나, Windows 키 + I를 누릅니다.&lt;br /&gt;* 네트워크 및 인터넷 선택: 설정 창에서 &quot;네트워크 및 인터넷&quot; 메뉴를 선택합니다.&lt;br /&gt;* 고급 공유 설정 변경: 네트워크 및 인터넷 설정에서 &quot;고급 네트워크 설정&quot;을 찾아 클릭합니다. 이후 &quot;고급 공유 설정&quot;을 찾아 클릭합니다.&lt;br /&gt;* 암호로 보호된 공유 해제: 고급 공유 설정 창에서 &quot;모든 네트워크&quot;탭에서 &quot;암호로 보호된 공유&quot; 옵션을 끕니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2852&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ItzYL/btsJI4i1sa7/RTVdSzkuSKXLE336urDffk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ItzYL/btsJI4i1sa7/RTVdSzkuSKXLE336urDffk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ItzYL/btsJI4i1sa7/RTVdSzkuSKXLE336urDffk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FItzYL%2FbtsJI4i1sa7%2FRTVdSzkuSKXLE336urDffk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2872&quot; height=&quot;2852&quot; data-origin-width=&quot;2872&quot; data-origin-height=&quot;2852&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;* 자격증명관리자 추가: 윈도우 검색에 &quot;자격증명 관리자&quot;를 검색하여 자격증명관리자에서 &quot;Windows 자격 증명 추가&quot;를 눌러 공유프린터 IP, 비밀번호를 입력 후 다시 연결하면 됩니다. 혹은 네트워크가 등록되어있다면 실행에 &quot;₩₩네트워크이름(혹은 IP주소)&quot;를 검색한 뒤 &quot;네트워크 자격 증명 입력&quot; 창에서 사용자 이름(해당 네트워크 이름)과 암호를 입력 후 &quot;내 자격 증명 기억&quot;에 체크를 하고 로그인합니다.&lt;/p&gt;</description>
      <category>OS/Windows</category>
      <category>공유설정</category>
      <category>공유프린터</category>
      <category>네트워크</category>
      <category>암호로보호된공유</category>
      <category>윈도우</category>
      <category>윈도우11</category>
      <category>자격증명</category>
      <category>자격증명관리자</category>
      <category>자격증명에러</category>
      <category>프린터</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/209</guid>
      <comments>https://omnil.tistory.com/209#entry209comment</comments>
      <pubDate>Tue, 24 Sep 2024 04:23:24 +0900</pubDate>
    </item>
    <item>
      <title>[윈도우/윈도우즈] 부팅 시 넘버락(numlock) 켜지게하기</title>
      <link>https://omnil.tistory.com/208</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[윈도우/윈도우즈(windows)] 부팅 시 넘버락(numlock) 켜지게하기&lt;/h2&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;윈도우 부팅 시 보통은 넘버락이 켜지게 되어있으나 어떤경우에는 넘버락이 안켜진 채 부팅되는 걸 본 적이 있는가?&lt;br /&gt;&lt;br /&gt;이것도 윈도우 레지스트리에서 세팅할 수 있는 값이다.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;br /&gt;수정해야 할 레지스트리 경로 및 값&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;* 레지스트리 편집기 사용법&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;1) Window키+R혹은 화면 왼쪽아래 돋보기를 눌러 &quot;실행&quot;을 검색하여 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;2) 여기에 &quot;regedit&quot;을 입력하여 실행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹은&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;1) 화면 왼쪽 아래 돋보기를 눌러 &quot;레지스트리 편집기&quot;를 검색하여 실행한다.&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;br /&gt;* 경로:&lt;/h4&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; * HKEY_CURRENT_USER\Control Panel\Keyboard&lt;br /&gt;&amp;nbsp;&amp;nbsp; * HKEY_USERS\.DEFAULT\Control Panel\Keyboard&lt;/p&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;br /&gt;* 수정할 값:&lt;/h4&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; * InitialKeyboardIndicators 값을 &quot;2&quot;로 설정&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;br /&gt;수정하는 이유 및 효과&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;* NumLock 자동 활성화: 위와 같이 레지스트리 값을 변경하면 윈도우 부팅 시 NumLock이 자동으로 활성화됩니다.&lt;br /&gt;* 편의성 증대: 매번 수동으로 NumLock을 켜는 번거로움을 해소할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>OS/Windows</category>
      <category>numlock</category>
      <category>windows</category>
      <category>넘락</category>
      <category>레지스트리</category>
      <category>레지스트리편집기</category>
      <category>부팅</category>
      <category>윈도우</category>
      <category>윈도우즈</category>
      <category>키보드</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/208</guid>
      <comments>https://omnil.tistory.com/208#entry208comment</comments>
      <pubDate>Mon, 23 Sep 2024 04:22:47 +0900</pubDate>
    </item>
    <item>
      <title>점화식에서의 특성방정식(characteristic equation)</title>
      <link>https://omnil.tistory.com/205</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;점화식에서의&amp;nbsp;특성방정식(characteristic&amp;nbsp;equation)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;포스팅 개요&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과거 피보나치 수열의 일반항 구하는 포스팅(&lt;a href=&quot;https://omnil.tistory.com/174&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;u&gt;&amp;gt;&amp;gt;피보나치 수열의 일반항과 비율의 극한(황금비)&amp;lt;&amp;lt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;)을 작성하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 작성하던 중에는 크게 못느꼈는데, 다른 사람에게 설명을 하던 중 특성방정식을 잠깐 빌려와서 근과 계수와의 관계로 풀어내는 과정에서 '왜 $ a_{n+2} = a_{n+1} + a_{n} \Leftrightarrow x^2 = x + 1 $ 인가?'에 대해서 너무나도 당연하게 받아들였다는 것을 깨닫고 추가로 더 공부해본 결과 이를 '특성방정식'이라고 한다는 것을 알게되고, 이에 포스팅을 작성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;점화식에서의&amp;nbsp;특성방정식(characteristic&amp;nbsp;equation)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;점화식을&amp;nbsp;풀&amp;nbsp;때&amp;nbsp;우리는&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;특성방정식(characteristic&amp;nbsp;equation)&lt;/b&gt;&lt;/span&gt;을&amp;nbsp;이용해서&amp;nbsp;해결을&amp;nbsp;하게&amp;nbsp;된다. &lt;br /&gt;(과거&amp;nbsp;고등학교&amp;nbsp;수학에서&amp;nbsp;나왔던&amp;nbsp;점화식의&amp;nbsp;해결법(계차의&amp;nbsp;등비수열로&amp;nbsp;해결)도&amp;nbsp;어떻게보면&amp;nbsp;특성방정식의&amp;nbsp;활용이다.) &lt;br /&gt;&lt;br /&gt;그런데&amp;nbsp;'왜&amp;nbsp;특성방정식을&amp;nbsp;사용해서&amp;nbsp;점화식을&amp;nbsp;푸는가?'에&amp;nbsp;대해서&amp;nbsp;궁금하진&amp;nbsp;않은가?&amp;nbsp;그냥&amp;nbsp;된다니까&amp;nbsp;하기에는&amp;nbsp;조금&amp;nbsp;껄쩍지근하다. &lt;br /&gt;&lt;br /&gt;한줄로&amp;nbsp;정의해보자면 &lt;br /&gt;'점화식&amp;nbsp;자체로는&amp;nbsp;뭔가를&amp;nbsp;찾기&amp;nbsp;힘드니까&amp;nbsp;본질이&amp;nbsp;같은&amp;nbsp;다른&amp;nbsp;것으로&amp;nbsp;바꾸어서&amp;nbsp;해를&amp;nbsp;찾자'이다. &lt;br /&gt;&lt;br /&gt;여기서&amp;nbsp;좀&amp;nbsp;더&amp;nbsp;자세히&amp;nbsp;따져보자면 &lt;br /&gt;'본질이&amp;nbsp;같은'은&amp;nbsp;'같은&amp;nbsp;선형성을&amp;nbsp;가지는'이란&amp;nbsp;의미이고 &lt;br /&gt;'다른&amp;nbsp;것'은&amp;nbsp;'기저(basis)'를&amp;nbsp;뜻한다. &lt;br /&gt;(갑자기&amp;nbsp;대수학에서&amp;nbsp;벡터공간에서&amp;nbsp;쓰는&amp;nbsp;'기저'라는&amp;nbsp;단어가?&amp;nbsp;싶기도&amp;nbsp;하겠지만,&amp;nbsp;사실&amp;nbsp;모든&amp;nbsp;'함수'는&amp;nbsp;벡터공간&amp;nbsp;안에서&amp;nbsp;구현이&amp;nbsp;가능하다는&amp;nbsp;점을&amp;nbsp;보면&amp;nbsp;이해할&amp;nbsp;수&amp;nbsp;있을&amp;nbsp;것이다.) &lt;br /&gt;&lt;br /&gt;진짜&amp;nbsp;결국&amp;nbsp;그냥&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;'쉽게&amp;nbsp;구할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;걸로&amp;nbsp;변형하자!'&lt;/b&gt;&lt;/span&gt;이거다.. &lt;br /&gt;&lt;br /&gt;보통은&amp;nbsp;점화식&amp;nbsp;뿐만&amp;nbsp;아니라&amp;nbsp;미분방정식,&amp;nbsp;선형대수에&amp;nbsp;모두&amp;nbsp;사용가능하기&amp;nbsp;때문에&amp;nbsp;'특성방정식'이라고&amp;nbsp;검색하면&amp;nbsp;사실&amp;nbsp;점화식보다는&amp;nbsp;미분방정식이나&amp;nbsp;선형대수&amp;nbsp;관련한&amp;nbsp;벡터공간&amp;nbsp;관련&amp;nbsp;내용&amp;nbsp;더&amp;nbsp;나아가&amp;nbsp;고유값/고유벡터&amp;nbsp;등이&amp;nbsp;나오게&amp;nbsp;된다.(사실&amp;nbsp;고유값분해를&amp;nbsp;대충이라도&amp;nbsp;이해할&amp;nbsp;수&amp;nbsp;있다면&amp;nbsp;특성방정식이&amp;nbsp;뭐하는&amp;nbsp;놈인지는&amp;nbsp;쉽게&amp;nbsp;이해가&amp;nbsp;간다) &lt;br /&gt;&lt;br /&gt;그러나&amp;nbsp;일단은&amp;nbsp;이렇게&amp;nbsp;복잡한&amp;nbsp;내용&amp;nbsp;이전에&amp;nbsp;여기서는&amp;nbsp;아주&amp;nbsp;간단하게&amp;nbsp;점화식에&amp;nbsp;대해서만&amp;nbsp;설명해보기로&amp;nbsp;한다. &lt;br /&gt;&lt;br /&gt;이제부터&amp;nbsp;이해해야&amp;nbsp;하는&amp;nbsp;키워드는 &lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. 점화식의 구분&lt;/b&gt; &lt;br /&gt;&amp;nbsp;*선형성 &lt;br /&gt;&amp;nbsp;*선형의 또다른 의미 &lt;br /&gt;&lt;b&gt;2. 특성방정식이란&lt;/b&gt; &lt;br /&gt;이다. &lt;br /&gt;&lt;br /&gt;차례대로&amp;nbsp;알아보자&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;br /&gt;&lt;b&gt;1. 선형성(linearity)&lt;/b&gt;이란&amp;nbsp;무엇인가?&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선형성을 만족시키기 위해서는 두 가지 조건인 &lt;b&gt;가산성(Additivity)&lt;/b&gt;와 &lt;b&gt;동차(제차)성(Homogeneity)&lt;/b&gt;을 만족해야한다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;-가산성(Additivity)&lt;/b&gt;은&amp;nbsp;f(a)+f(b)=f(a+b)를&amp;nbsp;만족하는&amp;nbsp;함수를&amp;nbsp;말한다. &lt;br /&gt;다른말로는&amp;nbsp;중첩의&amp;nbsp;원리(principle&amp;nbsp;of&amp;nbsp;superposition)라고도&amp;nbsp;한다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;-동차(제차)성(Homogeneity)&lt;/b&gt;이란 f(ax)=af(x)를 만족하는 함수를 동차성이 있다고 한다.(일부 서적의 번역으로는 제차성이라고한다) &lt;br /&gt;쉽게말해&amp;nbsp;입력이&amp;nbsp;조정된&amp;nbsp;비율만큼&amp;nbsp;동일하게&amp;nbsp;결과도&amp;nbsp;조정된&amp;nbsp;값이&amp;nbsp;나온다는&amp;nbsp;것이다. &lt;br /&gt;선형성과&amp;nbsp;마찬가지로&amp;nbsp;상수항이&amp;nbsp;없는&amp;nbsp;함수에&amp;nbsp;대하여&amp;nbsp;성립하며,&amp;nbsp;상수항(혹은&amp;nbsp;이에&amp;nbsp;준하는&amp;nbsp;상수를&amp;nbsp;출력하는&amp;nbsp;함수)이&amp;nbsp;있는&amp;nbsp;경우&amp;nbsp;동차성에&amp;nbsp;위배된다. &lt;br /&gt;&lt;br /&gt;간단하게&amp;nbsp;선형성과&amp;nbsp;동차성에&amp;nbsp;대해&amp;nbsp;쉽게&amp;nbsp;알&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;예제가&amp;nbsp;있다. &lt;br /&gt;&lt;br /&gt;y=ax+b는&amp;nbsp;선형인가? &lt;br /&gt;&lt;br /&gt;가산성을&amp;nbsp;먼저&amp;nbsp;살펴보자 &lt;br /&gt;f(x1)+f(x2)=f(x1+x2)이면&amp;nbsp;가산성이&amp;nbsp;있는&amp;nbsp;함수이다. &lt;br /&gt;a(x1+x2)+2b $ \neq $ a(x1+x2)+b &lt;br /&gt;가산성에&amp;nbsp;위배된다. &lt;br /&gt;&lt;br /&gt;동차성은&amp;nbsp;어떤지&amp;nbsp;보자 &lt;br /&gt;f(k&amp;nbsp;x1)&amp;nbsp;=&amp;nbsp;kf(x1) &lt;br /&gt;akx1+b $ \neq $ k(ax1+b) &lt;br /&gt;동차성에&amp;nbsp;위배된다. &lt;br /&gt;&lt;br /&gt;결국&amp;nbsp;y=ax+b는&amp;nbsp;선형이&amp;nbsp;아니다. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;근데&amp;nbsp;신기한건&amp;nbsp;엄밀한&amp;nbsp;선형이&amp;nbsp;아닌데도&amp;nbsp;'선형'이라는&amp;nbsp;단어를&amp;nbsp;붙이는&amp;nbsp;경우가&amp;nbsp;있다는&amp;nbsp;것이다. &lt;br /&gt;아니&amp;nbsp;또&amp;nbsp;이것은&amp;nbsp;무엇인가? &lt;br /&gt;선형이&amp;nbsp;아닌데&amp;nbsp;선형이라고? &lt;br /&gt;&lt;br /&gt;아까&amp;nbsp;선형성의&amp;nbsp;정의에서&amp;nbsp;'가산성'을&amp;nbsp;보았다.&amp;nbsp;여기서&amp;nbsp;파생되어서&amp;nbsp;&lt;b&gt;덧셈으로&amp;nbsp;연결되는&amp;nbsp;함수들을&amp;nbsp;보고&amp;nbsp;'함수들이&amp;nbsp;선형&amp;nbsp;결합을&amp;nbsp;한다'&lt;/b&gt;라고&amp;nbsp;말한다. &lt;br /&gt;&lt;br /&gt;그리고&amp;nbsp;이게&amp;nbsp;줄어들어서&amp;nbsp;&lt;b&gt;'선형'&lt;/b&gt;이&amp;nbsp;된&amp;nbsp;것이다. &lt;br /&gt;&lt;br /&gt;그래서&amp;nbsp;다항함수는?&amp;nbsp;선형&amp;nbsp;함수이다.&amp;nbsp;만약&amp;nbsp;상수항이&amp;nbsp;없다면&amp;nbsp;엄밀한&amp;nbsp;'선형'함수이고,&amp;nbsp;상수항이&amp;nbsp;있다면&amp;nbsp;선형(결합을&amp;nbsp;한)함수이다. &lt;br /&gt;&lt;br /&gt;따라서&amp;nbsp;&lt;b&gt;특정&amp;nbsp;계수의&amp;nbsp;곱을&amp;nbsp;통한&amp;nbsp;덧셈으로&amp;nbsp;정의되는&amp;nbsp;일반적인&amp;nbsp;점화식의&amp;nbsp;경우&amp;nbsp;선형&lt;/b&gt;이다. &lt;br /&gt;&lt;br /&gt;그러면&amp;nbsp;이렇게&amp;nbsp;선형이라는&amp;nbsp;말을&amp;nbsp;막쓰면,&amp;nbsp;'엄밀한&amp;nbsp;선형'인지&amp;nbsp;'일반적&amp;nbsp;선형'인지는&amp;nbsp;또&amp;nbsp;어떻게&amp;nbsp;알&amp;nbsp;것인가? &lt;br /&gt;&lt;br /&gt;그래서&amp;nbsp;선형이란&amp;nbsp;말&amp;nbsp;뒤에&amp;nbsp;'동차'&amp;nbsp;혹은&amp;nbsp;'비동차'라는&amp;nbsp;말을&amp;nbsp;써준다. &lt;br /&gt;&lt;br /&gt;이렇게&amp;nbsp;되면&amp;nbsp;'선형&amp;nbsp;동차&amp;nbsp;점화식'&amp;nbsp;혹은&amp;nbsp;'선형&amp;nbsp;비동차&amp;nbsp;점화식'이라는&amp;nbsp;말이&amp;nbsp;생겨날&amp;nbsp;수&amp;nbsp;있는데,&amp;nbsp;결국&amp;nbsp;이&amp;nbsp;단어로&amp;nbsp;구분이&amp;nbsp;완벽하게&amp;nbsp;되는&amp;nbsp;것이다. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;선형&amp;nbsp;동차&amp;nbsp;점화식&lt;/b&gt;:&amp;nbsp;모든&amp;nbsp;항이&amp;nbsp;선형&amp;nbsp;결합을&amp;nbsp;한&amp;nbsp;상태이며,&amp;nbsp;상수항(혹은&amp;nbsp;그에&amp;nbsp;준하는&amp;nbsp;상수를&amp;nbsp;출력하는&amp;nbsp;함수)이&amp;nbsp;없는&amp;nbsp;점화식 &lt;br /&gt;선형&amp;nbsp;비동차&amp;nbsp;점화식:&amp;nbsp;모든&amp;nbsp;항이&amp;nbsp;선형&amp;nbsp;결합을&amp;nbsp;한&amp;nbsp;상태이며,&amp;nbsp;상수항(혹은&amp;nbsp;그에&amp;nbsp;준하는&amp;nbsp;상수를&amp;nbsp;출력하는&amp;nbsp;함수)이&amp;nbsp;있는&amp;nbsp;점화식 &lt;br /&gt;&lt;br /&gt;자&amp;nbsp;이제&amp;nbsp;점화식의&amp;nbsp;종류에&amp;nbsp;대해서&amp;nbsp;알아보았다. &lt;br /&gt;사실&amp;nbsp;'비'자가&amp;nbsp;붙으면&amp;nbsp;뭐든&amp;nbsp;어려워진다.&amp;nbsp;선형함수보다&amp;nbsp;비선형함수가&amp;nbsp;어렵고,&amp;nbsp;동차보다는&amp;nbsp;비동차가&amp;nbsp;어렵다. &lt;br /&gt;현재&amp;nbsp;이&amp;nbsp;포스팅은&amp;nbsp;'쉽게!'&amp;nbsp;알아보려는게&amp;nbsp;목적이므로&amp;nbsp;앞으로는&amp;nbsp;'선형&amp;nbsp;동차'에&amp;nbsp;대해서만&amp;nbsp;써보려고한다. &lt;br /&gt;이제&amp;nbsp;'특성방정식'이란게&amp;nbsp;뭔지&amp;nbsp;알아보러가자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display: none;&quot; data-ad-unit=&quot;DAN-trwbxvjh5ut5&quot; data-ad-width=&quot;320&quot; data-ad-height=&quot;100&quot;&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;//t1.daumcdn.net/kas/static/ba.min.js&quot;&gt;&lt;/script&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;br /&gt;&lt;b&gt;2. 특성방정식이란?&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선형&amp;nbsp;동차&amp;nbsp;점화식은&amp;nbsp;결국&amp;nbsp;선형성을&amp;nbsp;띈다. &lt;br /&gt;그리고&amp;nbsp;이것은&amp;nbsp;점화식의&amp;nbsp;어떠한&amp;nbsp;해&amp;nbsp;a,&amp;nbsp;b에&amp;nbsp;대하여&amp;nbsp;이&amp;nbsp;둘에&amp;nbsp;특정&amp;nbsp;계수를&amp;nbsp;곱한&amp;nbsp;선형결합역시도&amp;nbsp;점화식을&amp;nbsp;만족시킨다는&amp;nbsp;것이다. &lt;br /&gt;결국&amp;nbsp;어떠한&amp;nbsp;해를&amp;nbsp;찾고&amp;nbsp;이&amp;nbsp;해에&amp;nbsp;곱해지는&amp;nbsp;계수를&amp;nbsp;찾으면&amp;nbsp;점화식을&amp;nbsp;풀어낼&amp;nbsp;수&amp;nbsp;있다(일반항을&amp;nbsp;구할&amp;nbsp;수&amp;nbsp;있다)는&amp;nbsp;것이다. &lt;br /&gt;&lt;br /&gt;그럼&amp;nbsp;일단&amp;nbsp;이&amp;nbsp;'어떠한&amp;nbsp;해'를&amp;nbsp;찾아야하는데,&amp;nbsp;이게&amp;nbsp;그냥&amp;nbsp;점화식만&amp;nbsp;뚫어져라&amp;nbsp;쳐다보면&amp;nbsp;툭&amp;nbsp;답이&amp;nbsp;나오는&amp;nbsp;것도&amp;nbsp;아니고..&amp;nbsp;참&amp;nbsp;힘들다. &lt;br /&gt;그래서&amp;nbsp;이&amp;nbsp;어떠한&amp;nbsp;해를&amp;nbsp;찾기위해&amp;nbsp;우리는&amp;nbsp;주어진&amp;nbsp;점화식을&amp;nbsp;&lt;b&gt;변형&lt;/b&gt;할&amp;nbsp;것이다. &lt;br /&gt;어떻게? &lt;br /&gt;&lt;b&gt;'같지만&amp;nbsp;다르게!'&lt;/b&gt; &lt;br /&gt;같은&amp;nbsp;선형결합을&amp;nbsp;가지지만,&amp;nbsp;이&amp;nbsp;점화식을&amp;nbsp;다른&amp;nbsp;각도로&amp;nbsp;볼&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;새로운&amp;nbsp;'틀'(=기저)을&amp;nbsp;찾아서&amp;nbsp;바꿔주면&amp;nbsp;될&amp;nbsp;것이다. &lt;br /&gt;결국 이 '틀'은 진짜 오만가지 것이 다 되지만, 제일 간단하며 우리가 무언가를 찾아내기 쉬운 틀은 $ x^n $일 것이다.&lt;br /&gt;(결국 점화식이란건 하나 전의 자신, 그리고 두개 전의 자신을 선형결합한 것이므로, 이 '하나 전, 두개전'에 해당하는 '이동'을 해도 자기자신 그대로인 함수면 점화식을 잘 나타낼 수 있지 않을까? 바로 그런 함수가 바로 $x^n$인 것이다.)&lt;br /&gt;x를&amp;nbsp;찾아내면&amp;nbsp;점화식의&amp;nbsp;어떠한&amp;nbsp;해를&amp;nbsp;찾아낸&amp;nbsp;것이며,&amp;nbsp;이&amp;nbsp;어떠한&amp;nbsp;해에&amp;nbsp;특정&amp;nbsp;계수를&amp;nbsp;곱한&amp;nbsp;선형결합이&amp;nbsp;점화식을&amp;nbsp;만족시킬&amp;nbsp;것이기&amp;nbsp;때문이다. &lt;br /&gt;그리고 새로운 틀을 $ x^n $으로 정의했으니, 이 틀을 이용해 만든 변화시킨 점화식에서는(해가 두개라고 가정하면) $ k_1 * x_{1}^n + k_2 * x_{2}^n $이 일반적인 해를 나타낸다고 볼 수 있겠다. &lt;br /&gt;그렇다면 결국 $ a_n $이라는 수열을 새로운 틀 $ x^n $으로 놓게 된 것이다. &lt;br /&gt;&lt;br /&gt;좀&amp;nbsp;더&amp;nbsp;이해를&amp;nbsp;쉽게하기위해서&amp;nbsp;하나의&amp;nbsp;예시를&amp;nbsp;가지고&amp;nbsp;논지를&amp;nbsp;진행시켜보자 &lt;br /&gt;&lt;br /&gt;$ a_n = a_{n-1} + a_{n-2} $&lt;br /&gt;&lt;br /&gt;라는&amp;nbsp;점화식이&amp;nbsp;있다고하자(상수항이&amp;nbsp;없는&amp;nbsp;이유는?&amp;nbsp;우리는&amp;nbsp;현재&amp;nbsp;선형&amp;nbsp;동차&amp;nbsp;점화식에&amp;nbsp;대해서&amp;nbsp;보고있다.) &lt;br /&gt;이&amp;nbsp;점화식에서는&amp;nbsp;차수(order)가&amp;nbsp;2이다. &lt;br /&gt;갑자기&amp;nbsp;뜬금없이&amp;nbsp;차수?&amp;nbsp;선형&amp;nbsp;동차&amp;nbsp;점화식이&amp;nbsp;몇개의&amp;nbsp;항으로&amp;nbsp;연결되었는가를&amp;nbsp;나타내는&amp;nbsp;것으로,&amp;nbsp;선형적인&amp;nbsp;다항함수의&amp;nbsp;차수와&amp;nbsp;그&amp;nbsp;의미가&amp;nbsp;같다. &lt;br /&gt;&lt;br /&gt;이를 새로운 틀 $ x^n $으로 치환하면 &lt;br /&gt;$ x^n = x^{n-1} + x^{n-2} $&lt;br /&gt;차수로 n을 제한하면(n의 최대값은 차수가 된다)&lt;br /&gt;$ x^2 = x + 1 $ 이 된다. &lt;br /&gt;(위에서도&amp;nbsp;논의했듯이&amp;nbsp;항이&amp;nbsp;두개로&amp;nbsp;연결된&amp;nbsp;점화식은&amp;nbsp;두개의&amp;nbsp;해를&amp;nbsp;가지며,&amp;nbsp;두개의&amp;nbsp;해를&amp;nbsp;가지기&amp;nbsp;위해서는&amp;nbsp;다항함수의&amp;nbsp;차수=수열의&amp;nbsp;항수&amp;nbsp;이다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 여기까지의 논지가 바로 이전 포스팅(&lt;a href=&quot;https://omnil.tistory.com/174&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;피보나치 수열의 일반항 구하기&lt;/a&gt;)에서 근과 계수와의 관계를 사용하기 위해 살짝 빌려왔던 개념되겠다. 모르고 그냥 받아들여도 크게 문제없지만 알면 더 신기한 그런거다.&lt;br /&gt;&lt;br /&gt;각설하고, 더 논지를 진행시켜보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$ x^2 - x -1 = 0 $의 형태로 바꾸어 방정식을 만들어주고 &lt;br /&gt;&lt;br /&gt;여기서&amp;nbsp;해를&amp;nbsp;구하면 &lt;br /&gt;$ x = \frac{1+\sqrt{5}}{2} \mathrm{ or } \frac{1-\sqrt{5}}{2} $&lt;br /&gt;이&amp;nbsp;나오며 &lt;br /&gt;&lt;br /&gt;이 두개의 해의 특정 상수배씩의 선형결합이 이 점화식의 일반항이 된다. (더 나아가서, 같은 말로 '특정한 벡터'를 고유값(eigen value, 아이젠 밸류)과 고유벡터(eigen vector, 아이젠 벡터)로 분해하였을 때, 두개의 고유벡터에 특정 상수배(고유값)씩의 선형결합이 '특정한 벡터'가 된다는 것과 동일하다.)&lt;br /&gt;&lt;br /&gt;$ a_n = k_1 * x_{1}^n + k_2 * x_{2}^n $&lt;br /&gt;&lt;br /&gt;이때 특정 상수배($ k_1,&amp;nbsp; k_2 $)를 구하는 방법은, 초기 조건을 가지고 구하면 된다. &lt;br /&gt;&lt;br /&gt;결국 $ a_0 = 0 $, $ a_1 = 1 $ 을 이용하면 &lt;br /&gt;&lt;br /&gt;$ a_0 = 0 = k_1 + k_2 $&lt;br /&gt;$ a_1 = 1 = k_1 * (\frac{1+\sqrt{5}}{2})^1 + k_2 * (\frac{1-\sqrt{5}}{2})^1 $&lt;br /&gt;&lt;br /&gt;$ k_1 = \frac{1}{\sqrt{5}} $, $k_2 = -\frac{1}{\sqrt{5}} $&lt;br /&gt;&lt;br /&gt;따라서&amp;nbsp;이&amp;nbsp;점화식의&amp;nbsp;일반항은 &lt;br /&gt;&lt;br /&gt;$ a_n = \frac{1}{\sqrt{5}} * (\frac{1+\sqrt{5}}{2})^n - \frac{1}{\sqrt{5}} * (\frac{1-\sqrt{5}}{2})^n $&lt;br /&gt;&lt;br /&gt;어디서&amp;nbsp;많이&amp;nbsp;본&amp;nbsp;일반항&amp;nbsp;아닌가? &lt;br /&gt;&lt;br /&gt;맞다.&amp;nbsp;피보나치&amp;nbsp;수열의&amp;nbsp;일반항이다. &lt;br /&gt;&lt;br /&gt;전&amp;nbsp;포스팅에서는&amp;nbsp;특성방정식을&amp;nbsp;그대로&amp;nbsp;이용하지&amp;nbsp;않고,&amp;nbsp;특성방정식의&amp;nbsp;아주&amp;nbsp;일부분만&amp;nbsp;잠깐&amp;nbsp;빌려다가&amp;nbsp;쓰고(특성&amp;nbsp;방정식에서&amp;nbsp;'틀'을&amp;nbsp;바꿔&amp;nbsp;수열을&amp;nbsp;잠깐&amp;nbsp;다항함수의&amp;nbsp;방정식&amp;nbsp;형태로&amp;nbsp;바꾼&amp;nbsp;뒤&amp;nbsp;근과&amp;nbsp;계수와의&amp;nbsp;공식으로&amp;nbsp;수열의&amp;nbsp;계수를&amp;nbsp;바꾼&amp;nbsp;정도)&amp;nbsp;계차의&amp;nbsp;공비를&amp;nbsp;구하는&amp;nbsp;식으로&amp;nbsp;점화식을&amp;nbsp;풀어내었다. &lt;br /&gt;&lt;br /&gt;솔직히&amp;nbsp;전&amp;nbsp;포스팅에서는&amp;nbsp;이정도로&amp;nbsp;자세하게&amp;nbsp;특성방정식의&amp;nbsp;개념과&amp;nbsp;그&amp;nbsp;활용을&amp;nbsp;사용하지&amp;nbsp;않았기에&amp;nbsp;'일단&amp;nbsp;받아들여보세요~'하고&amp;nbsp;진행하였지만(사실&amp;nbsp;그&amp;nbsp;부분만&amp;nbsp;참고&amp;nbsp;넘어가면&amp;nbsp;이후에&amp;nbsp;유도하는데는&amp;nbsp;전혀&amp;nbsp;문제가&amp;nbsp;없다)&amp;nbsp;이후&amp;nbsp;좀&amp;nbsp;더&amp;nbsp;자세한&amp;nbsp;설명이&amp;nbsp;필요해보이기에&amp;nbsp;추가&amp;nbsp;포스팅한다.&lt;/p&gt;</description>
      <category>Study/Mathematics</category>
      <category>characteristic equation</category>
      <category>eigen value</category>
      <category>eigen vector</category>
      <category>고유값</category>
      <category>고유벡터</category>
      <category>선형</category>
      <category>선형동차특성방정식</category>
      <category>선형성</category>
      <category>점화식</category>
      <category>특성방정식</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/205</guid>
      <comments>https://omnil.tistory.com/205#entry205comment</comments>
      <pubDate>Thu, 25 Jan 2024 13:28:57 +0900</pubDate>
    </item>
    <item>
      <title>안드로이드 갤럭시(galaxy) 예약 문자 확인 방법</title>
      <link>https://omnil.tistory.com/204</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;안드로이드&amp;nbsp;갤럭시(galaxy)&amp;nbsp;예약&amp;nbsp;문자&amp;nbsp;확인&amp;nbsp;방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안드로이드 갤럭시 문자는 예약 문자라는 아주 편리한 기능이 있죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데, 이게 원래 아는 사람한테 보낼때는 과거 문자 내역에서 예약으로 뜨는 걸 볼 수 있지만, 아예 생판 처음 보내는 사람한테는 예약 문자를 걸면 이게 갑자기 사라져버리는 상황이 연출됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;완전히 완벽하게 보내서 확인이나 수정이 필요 없을때는 문제가 없지만, 수정이 필요하거나 다시 한 번 확인이 필요한 경우에는 갑자기 답답해지죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 이거는 다시 확인할 수 없나!? 하면 할 수 있습니다!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 한번 알아볼까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 자 일단 &quot;메시지&quot; 앱으로 들어갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 오른쪽 제일 위에 돋보기 모양이 있습니다. 돋보기 모양을 눌러줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) 검색창이 열립니다. 여기서 아까 예약문자를 걸었던 내용을 검색해줍니다. 가령 &quot;좀 있다 10시에 봐~&quot;라는 문자를 예약을 걸었으면 &quot;10시&quot;만 입력해도 됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4) 입력과 동시에 검색을 시작하죠! 혹~시 안뜬다면 &quot;자판에서&quot; 돋보기 모양을 한번 더 클릭해주세요. 아래쪽에 검색결과가 나타나는데 여기서 예약 문자도 나타납니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5) 예약문자를 누르면 대화창이 생성되며 예약문자가 뜹니다! 예약문자는 문자 옆에 시계표시가 있어요! 여기서 확인하고, 수정 및 삭제가 가능합니다!(문자 자체를 길게 누르면 문자의 수정이 가능하며, 시계를 누르면 예약 메시지 &quot;지금보내기&quot;, &quot;삭제&quot;, &quot;편집&quot;이 가능합니다!)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자! 엄청쉽죠!? 근데 이거 모르면 당황합니다! 인터넷에서 아무리 찾아도 안나와서 제가 직접 찾아낸 꿀!팁! 입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러분에게 도움이 되기를 간절히 바랍니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 이만 물러갑니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좋은하루 되세요!&lt;/p&gt;</description>
      <category>TIPS/Tips</category>
      <category>Galaxy</category>
      <category>갤럭시</category>
      <category>문자</category>
      <category>삭제</category>
      <category>수정</category>
      <category>안드로이드</category>
      <category>예약</category>
      <category>예약문자</category>
      <category>확인</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/204</guid>
      <comments>https://omnil.tistory.com/204#entry204comment</comments>
      <pubDate>Wed, 19 Apr 2023 07:46:08 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] 3색 LED 켜기!</title>
      <link>https://omnil.tistory.com/196</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[Arduino/아두이노]&amp;nbsp;3색&amp;nbsp;LED&amp;nbsp;켜기!&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요! 여러분!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오랜만에 다시 아두이노 포스팅으로 돌아왔습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저번시간까지 아두이노를 컴퓨터와 연결하고, 예제 프로젝트를 실행해보고(블링크(Blink)), 외부라이브러리까지 추가해보았는데요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 대망의 아두이노 외에 다른 '부품'(혹은 '소자' 라고도 하죠?)을 써보는 프로젝트를 해보도록 하겠습니다! 와~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대망의 첫 부품은 아주아주 간단한 3색 LED입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그냥 LED도 아니고, 왜 3색이냐구요..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어차피 그냥 LED와 3색 LED가 큰 차이가 없기 때문입니다. 그냥 R/G/B, 레드/그린/블루 LED 3개를 쓰나, 3색 LED 하나를 쓰나!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 이제 아주 간단한 3색 LED를 만들어 보기 위해 차근차근 알아가 보도록 하겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항상 이제부터는 아두이노와 물리적인 부품들을 연결할 것이기 때문에, &lt;b&gt;부품의 &lt;span style=&quot;color: #ee2323;&quot;&gt;스펙&lt;/span&gt;&lt;/b&gt;을 알아보고 &lt;b&gt;아두이노와 어떻게 &lt;span style=&quot;color: #ee2323;&quot;&gt;연결(배선)&lt;/span&gt;할지&lt;/b&gt;를 알아본 뒤, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;코딩&lt;/b&gt;&lt;/span&gt;을 통하여 프로젝트를 완성할 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 일단 3색 LED 부품의 스펙을 먼저 알아보고 가겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 3색 LED 스펙-&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제가 사용하는 3색 LED 부품은 HW-479이지만, 다른 부품을 사용해도 상관이 없는게, 이 3색 LED는 무조건 4개의 핀으로 이루어져 있으며, 하나는 -로 표기되어있는 GND, 나머지 세 핀이 각 각 R, G, B를 입력받는 핀입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;541&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kozrd/btrYTV1d4a2/8DKkXk0I1MaO349j5liPGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kozrd/btrYTV1d4a2/8DKkXk0I1MaO349j5liPGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kozrd/btrYTV1d4a2/8DKkXk0I1MaO349j5liPGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKozrd%2FbtrYTV1d4a2%2F8DKkXk0I1MaO349j5liPGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;767&quot; height=&quot;541&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;541&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각, 앞면과 뒷면 이미지인데요! 각 핀이 어떤건지 너무 잘 나와있죠? 여기서 우리는 -에 아두이노 GND를, RGB에 각각 해당하는 핀을 연결할 겁니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 오늘은 대망의 첫 부품을 가지고 진행하는 프로젝트인 만큼, 아두이노와 부품의 연결에 제일 중요한 두가지를 알아보려고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 &lt;b&gt;케이블(선)&lt;/b&gt;과 &lt;b&gt;브레드보드(빵판)&lt;/b&gt; 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 케이블&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;케이블은 말 그대로 부품과 아두이노를 연결는 선 입니다.!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아두이노는 좋은 점이 '점퍼 케이블'이라고하는, 케이블 양 끝에 점퍼가 있는 케이블로 쉽게 연결을 할 수 있다는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따로 납땜을 하지 않아도 된다는 것이지요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;케이블에는 두가지 종류가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;F-M(암-수) 케이블, 그리고 M-M(수-수) 케이블입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3856&quot; data-origin-height=&quot;1064&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2x03m/btrYTp2AMBK/1gHIEwIkSomk89nPtkqO1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2x03m/btrYTp2AMBK/1gHIEwIkSomk89nPtkqO1K/img.png&quot; data-alt=&quot;F-M 케이블&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2x03m/btrYTp2AMBK/1gHIEwIkSomk89nPtkqO1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2x03m%2FbtrYTp2AMBK%2F1gHIEwIkSomk89nPtkqO1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3856&quot; height=&quot;1064&quot; data-origin-width=&quot;3856&quot; data-origin-height=&quot;1064&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;F-M 케이블&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3560&quot; data-origin-height=&quot;856&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgUwo2/btrY2noyYEE/kFrLKwW20MBL69upENbg01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgUwo2/btrY2noyYEE/kFrLKwW20MBL69upENbg01/img.png&quot; data-alt=&quot;M-M 케이블&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgUwo2/btrY2noyYEE/kFrLKwW20MBL69upENbg01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgUwo2%2FbtrY2noyYEE%2FkFrLKwW20MBL69upENbg01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3560&quot; height=&quot;856&quot; data-origin-width=&quot;3560&quot; data-origin-height=&quot;856&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;M-M 케이블&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 브레드보드(빵판)&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3856&quot; data-origin-height=&quot;1376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ANbF0/btrYV95yvn4/FBKSLcmlw8blWyr2mvKfJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ANbF0/btrYV95yvn4/FBKSLcmlw8blWyr2mvKfJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ANbF0/btrYV95yvn4/FBKSLcmlw8blWyr2mvKfJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FANbF0%2FbtrYV95yvn4%2FFBKSLcmlw8blWyr2mvKfJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3856&quot; height=&quot;1376&quot; data-origin-width=&quot;3856&quot; data-origin-height=&quot;1376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브레드보드의 경우 크기는 매우 다양할 수 있습니다. 보통이 30 홀(hole)짜리 브레드보드를 쓰게되구요, 그거보다 작은 브레드보드도 있고, 저처럼 60 홀 짜리도 있고, 이보다 더 큰 것도 있습니다. 여기는 구멍이 나있어서 부품을 막 꽂을 수 있도록 되어있는데 여기서도 규칙이 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3856&quot; data-origin-height=&quot;1376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lqOAv/btrYXkeQJbf/UvGlNyTuxnccWOkOfQWjWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lqOAv/btrYXkeQJbf/UvGlNyTuxnccWOkOfQWjWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lqOAv/btrYXkeQJbf/UvGlNyTuxnccWOkOfQWjWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlqOAv%2FbtrYXkeQJbf%2FUvGlNyTuxnccWOkOfQWjWK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3856&quot; height=&quot;1376&quot; data-origin-width=&quot;3856&quot; data-origin-height=&quot;1376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자 위의 그림처럼, ABCDE끼리는 세로로 서로 연결되어있습니다.(가로로는 서로 끊어져 있습니다)[빨간선]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;FGHIJ끼리도 세로로 연결되어있습니다.(가로로는 서로 끊어져 있습니다)[빨간선]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ABCDE와 FGHIJ는 끊어져있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제일 위에는 전원 선입니다. GND(-)[파란색] 라인과 전원(+)[빨간색] 라인이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전원 선의 경우 가로로 쭉 이어져 있습니다. 당연히 +와 -간은 서로 끊어져 있구요.[주황선]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;60홀의 경우 30홀을 기준으로 좌우가 끊어져있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 개념이 어렵더라도 한번 읽고 머리에 기억해두면 이후에 소자를 연결하거나 할때 '왜 이렇게 꽂는지'에 대해서 이해하기 쉬워지니 그냥 가볍게 읽고 넘어가 봅시다! 간단하게 말하자면 저런 규칙이 있어서 브레드 보드를 쓸 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 브레드보드의 어원은 말 그대로 초기 비전문가들이 빵(브레드) 자르는 판(보드)에다가 회로를 구성했기에 브레드보드로 이름 붙었다네요! 빵판이라고도하죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;* 그리고 여기서 아두이노와 부품을 연결하는 방식 두가지!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나는 F-M케이블(암-수케이블)로 아두이노와 직접 연결!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또하나는 M-M케이블(수-수케이블)로 빵판(브레드보드)를 이용하여 연결!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 두가지 방법이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 3색 LED에는 내부적으로 내장 저항이 있어서 아두이노와 직접 F-M케이블로 연결해도 되지만, 보통 소자들은 내부적으로 저항이 없기 때문에, 브레드보드(빵판)에 부품을 꽂고, 저항을 꽂고, 거기에 M-M케이블로 연결하는 것이 보통입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇기에 오늘은 브레드보드를 이용하여 아두이노와 소자를 케이블로 연결해보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 아두이노와 연결(배선)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배선 첫 시간이니 배선에 대해서 말씀드리자면, 가능한한 색을 다르게 써서 보기 편하게, 헛갈리지 않게 하는것이 중요합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 전원 선(+선)은 빨간색, 접지 선(-선, GND선)은 까만색이 기본이고, 그 외에는 구분이 잘 가고 직관적인 색이면 됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 저희는 전원 선이 따로 없기 때문에 RGB에 각각 빨간색, 초록색, 파란색 선을 쓸 것이고 GND에 검은색 선을 쓸 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3색 LED이기 때문에 각 R, G, B에 입력신호를 줄 pin이 하나씩 있어야 겠죠? 그러니 일단 선 세개를 쓸 것이구요, 입력할때 전기를 넣어 줬으면 이 전기가 빠져나갈 곳이 있어야 하니 GND pin도 하나 있어야 하겠습니다. 결국 3색 LED는 선 4개로 아두이노와 연결하여 쓸 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한번 부품도로 그려보면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1610&quot; data-origin-height=&quot;490&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s9AHE/btrZje6TzSD/Q81zXn4TCpBvQz9aFtgYuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s9AHE/btrZje6TzSD/Q81zXn4TCpBvQz9aFtgYuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s9AHE/btrZje6TzSD/Q81zXn4TCpBvQz9aFtgYuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs9AHE%2FbtrZje6TzSD%2FQ81zXn4TCpBvQz9aFtgYuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1610&quot; height=&quot;490&quot; data-origin-width=&quot;1610&quot; data-origin-height=&quot;490&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같이 되겠습니다. 별건 아니고요, 이 그림에서는 3색 LED 핀 순서가 R - B G 이기때문에 이런 식의 배선이 되었습니다만,&amp;nbsp;실제 부품에서는 부품 핀 순서가 - R G B 순서이므로 이렇게 꽂아주시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아두이노에 연결할때는 아두이노 우노 기준으로 9번핀에 R, 10번핀에 B, 11번핀에 G를 할당해 주었고, GND(-)는 아두이노 GND핀에 바로 연결하였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 부품을 꽂아봅시다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3568&quot; data-origin-height=&quot;1696&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boRBee/btrZjAu6R6e/I9YkKiRM0DZAda9iTKHSR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boRBee/btrZjAu6R6e/I9YkKiRM0DZAda9iTKHSR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boRBee/btrZjAu6R6e/I9YkKiRM0DZAda9iTKHSR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboRBee%2FbtrZjAu6R6e%2FI9YkKiRM0DZAda9iTKHSR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3568&quot; height=&quot;1696&quot; data-origin-width=&quot;3568&quot; data-origin-height=&quot;1696&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;'기기나 기판에 장치나 부품 따위를 실제로 사용할 수 있도록 설치'하는 것을 '실장하다'라고 하는데요, 실제로 부품을 실장해보면 위의 이미지와 같을 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;R, G, B, - 3색 LED 핀에 각각 9, 10, 11, GND를 연결해 주었습니다. 이로써 아두이노와 부품간 배선이 끝났습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 코딩&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 개인적으로 이 영역을 가장 좋아합니다. 이미 연결된 상태에서 코딩으로 이 부품을 자유자재로 다룰 수 있기 때문이죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자 일단 기본적인 세팅을 해 봅시다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전까지 저희가 열심히 설치했던 아두이노 IDE를 켜주세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 켜면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;211&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVoGjm/btrZiP7zzgs/Zmbxa6JQra3yFsHRqbtlv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVoGjm/btrZiP7zzgs/Zmbxa6JQra3yFsHRqbtlv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVoGjm/btrZiP7zzgs/Zmbxa6JQra3yFsHRqbtlv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVoGjm%2FbtrZiP7zzgs%2FZmbxa6JQra3yFsHRqbtlv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;401&quot; height=&quot;211&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;211&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 setup 구간(함수)와 loop 구간(함수)로 구성되어 있는 것을 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아두이노의 가장 핵심적인 부분인데요, 아두이노는 처음 프로그램이 실행되면서 setup 함수에 있는 내용을 한번 쭉 실행한 뒤에 그뒤로는 loop 함수만 반복적으로 실행합니다. 즉, setup에는 말 그대로 이 프로그램에 대한 초기 셋팅들을 해주고 loop에서 아두이노가 계속적으로 처리할 내용을 적어주는거죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 아두이노는 setup -&amp;gt; loop -&amp;gt; loop -&amp;gt; loop ... 이렇게 실행하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 먼저 setup 영역부터 코딩해볼까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 아두이노는 각 핀에 대해서 정의를 내려줘야합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;'이 핀은 내가 전원을 내보낼 핀이야', '이 핀은 내가 전원을 읽을 핀이야' 이런식으로요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 정의를 해주는 함수는 pinMode()입니다. 이 함수는 값이 두개가 필요합니다. 핀 넘버와 핀 모드죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핀 넘버는 말그대로 저희가 사용할 pin입니다. 아두이노에 숫자로 써져있는거죠. 오늘 저희가 사용할 핀은 9, 10, 11번 핀입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핀 모드는 내가 출력할거면 OUTPUT, 내가 읽을거면 INPUT을 쓰면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이제 바로 코딩해보도록하겠습니다. 전원선과 GND선은 따로 핀모드 설정이 필요없기 때문에 RGB에 대응하는 9,10,11번 핀만 핀모드를 설정하겠습니다.&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;void setup(){
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 그럼 이제 loop함수로 가볼까요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장간단하게 1초동안 빨간 불을 켜고, 바로 다음 1초동안 초록 불을 켜고, 바로 다음 1초동안 파란불을 켜보도록하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;void loop(){
  digitalWrite(11, LOW);
  digitalWrite(9, HIGH);
  delay(1000);
  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);
  delay(1000);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
  delay(1000);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 digitalWrite는 0, 1 즉 켜고 끄는 걸로 해당 핀에 신호를 주겠다는 명령어이구요, delay는 ms단위로 쉬겠다는 의미입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 완성된 코드는 다음과 같습니다!&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;void setup(){
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
}

void loop(){
  digitalWrite(11, LOW);
  digitalWrite(9, HIGH);
  delay(1000);
  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);
  delay(1000);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
  delay(1000);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 결과&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 그럼 배선과 코딩한 것을 바탕으로 결과를 한번 볼까요!?&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=zDtQI6KxGK0&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/cxPysJ/hySduTVtdE/NLI5m8InFWZBjO2CIW76P0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-original-url=&quot;&quot; data-video-title=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/zDtQI6KxGK0&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 잘 돌아가는 것을 확인했습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 현 상황에서 배선도 완료되어있고, 작동도 제대로 되고 있는 것을 확인했으니, 이제 코딩으로 다양한 활용이 가능해집니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더욱 자세한건 다음번에 알아보아요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아참, 우리가 지금 한 것은 켜고 끄기만 하는 digitalWrite였는데요, 여기서 analogWrite는 0~255사이의 값을 PWM 방식으로 차등적으로 적용할 수 있습니다. 즉, '강도 조절'이 가능해진다는 말인데요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 바탕으로 각 불이 점점 밝게 들어왔다가 꺼지는 것도 가능하답니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;힌트는 여기까지! 다음번에 또 보아요~&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>3색 LED</category>
      <category>arduino</category>
      <category>digitalWrite</category>
      <category>LED</category>
      <category>배선</category>
      <category>빵판</category>
      <category>아두이노</category>
      <category>아두이노기초</category>
      <category>아두이노프로젝트</category>
      <category>코딩</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/196</guid>
      <comments>https://omnil.tistory.com/196#entry196comment</comments>
      <pubDate>Sat, 8 Apr 2023 08:57:50 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] delay함수 없이 LED 깜빡이기</title>
      <link>https://omnil.tistory.com/202</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;delay함수&amp;nbsp;없이&amp;nbsp;LED&amp;nbsp;깜빡이기&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;가끔씩&amp;nbsp;우리는&amp;nbsp;아두이노에서&amp;nbsp;병렬처리(한번에&amp;nbsp;두&amp;nbsp;가지&amp;nbsp;이상의&amp;nbsp;작업을&amp;nbsp;동시에&amp;nbsp;수행하는&amp;nbsp;것)가&amp;nbsp;필요할&amp;nbsp;때가&amp;nbsp;있습니다. &lt;br /&gt;아두이노의&amp;nbsp;loop는&amp;nbsp;사실상&amp;nbsp;ms단위로&amp;nbsp;작동하기&amp;nbsp;때문에&amp;nbsp;구문을&amp;nbsp;나열해도&amp;nbsp;거의&amp;nbsp;동시에&amp;nbsp;처리되는&amp;nbsp;것처럼&amp;nbsp;보이긴&amp;nbsp;합니다. &lt;br /&gt;그렇기에&amp;nbsp;평상시에는&amp;nbsp;크게&amp;nbsp;병렬처리에&amp;nbsp;대해서&amp;nbsp;생각할&amp;nbsp;필요가&amp;nbsp;없는데요. &lt;br /&gt;그러나&amp;nbsp;LED핀을&amp;nbsp;깜빡이는데&amp;nbsp;가장&amp;nbsp;간편하게&amp;nbsp;사용하는&amp;nbsp;delay()함수가&amp;nbsp;들어가게&amp;nbsp;되면,&amp;nbsp;여기서부터&amp;nbsp;골치가&amp;nbsp;아파집니다. &lt;br /&gt;왜냐하면&amp;nbsp;delay()함수를&amp;nbsp;사용하게&amp;nbsp;되면&amp;nbsp;아두이노가&amp;nbsp;프로그램을&amp;nbsp;일시&amp;nbsp;중지되기&amp;nbsp;때문이죠. &lt;br /&gt;따라서&amp;nbsp;delay()함수가&amp;nbsp;작동하게&amp;nbsp;되면&amp;nbsp;지정한&amp;nbsp;시간만큼&amp;nbsp;프로그램이&amp;nbsp;일시&amp;nbsp;중지되고,&amp;nbsp;그&amp;nbsp;사이에는&amp;nbsp;다른&amp;nbsp;구문을&amp;nbsp;작동할&amp;nbsp;수가&amp;nbsp;없습니다. &lt;br /&gt;예를들어&amp;nbsp;delay()함수&amp;nbsp;작동&amp;nbsp;중&amp;nbsp;버튼&amp;nbsp;눌림&amp;nbsp;체크가&amp;nbsp;불가능&amp;nbsp;하다거나,&amp;nbsp;다른&amp;nbsp;명령어&amp;nbsp;작동이&amp;nbsp;불가능하죠. &lt;br /&gt;&lt;br /&gt;오늘&amp;nbsp;올릴&amp;nbsp;포스팅은&amp;nbsp;delay()함수를&amp;nbsp;사용하지&amp;nbsp;않고&amp;nbsp;LED를&amp;nbsp;깜박이는&amp;nbsp;방법에&amp;nbsp;대해&amp;nbsp;작성할&amp;nbsp;겁니다. &lt;br /&gt;&lt;br /&gt;간단하게&amp;nbsp;개요부터&amp;nbsp;말씀드리자면, &lt;br /&gt;1)&amp;nbsp;delay()를&amp;nbsp;사용하지&amp;nbsp;않고 &lt;br /&gt;2)&amp;nbsp;LED를&amp;nbsp;켜고(끄고)&amp;nbsp;시간(ms&amp;nbsp;단위)을&amp;nbsp;기록하고(millis()&amp;nbsp;함수) &lt;br /&gt;3)&amp;nbsp;이&amp;nbsp;시간이&amp;nbsp;원하는&amp;nbsp;시간이&amp;nbsp;지났는지&amp;nbsp;확인하고 &lt;br /&gt;4)&amp;nbsp;시간이&amp;nbsp;지났으면&amp;nbsp;LED를&amp;nbsp;끕(켭)니다. &lt;br /&gt;&lt;br /&gt;이렇게되면,&amp;nbsp;delay()로&amp;nbsp;아두이노를&amp;nbsp;일시중지&amp;nbsp;시키지&amp;nbsp;않고&amp;nbsp;loop()함수가&amp;nbsp;살아서&amp;nbsp;계속&amp;nbsp;반복적인&amp;nbsp;작업이&amp;nbsp;이루어지므로&amp;nbsp;LED가&amp;nbsp;깜빡거리는&amp;nbsp;동안&amp;nbsp;다른&amp;nbsp;작업이&amp;nbsp;가능해집니다. &lt;br /&gt;&lt;br /&gt;쉬운&amp;nbsp;예시로&amp;nbsp;전자레인지에&amp;nbsp;피자데우기를&amp;nbsp;들&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;자,&amp;nbsp;전자레인지에&amp;nbsp;피자를&amp;nbsp;넣고&amp;nbsp;전자레인지를&amp;nbsp;작동시킵니다. &lt;br /&gt;여기서 &lt;br /&gt;1)&amp;nbsp;delay()함수로&amp;nbsp;10초간&amp;nbsp;기다리라고&amp;nbsp;하는&amp;nbsp;말의&amp;nbsp;의미는&amp;nbsp;전자레인지&amp;nbsp;앞에서&amp;nbsp;10초가&amp;nbsp;다&amp;nbsp;지나가기를&amp;nbsp;가만히&amp;nbsp;기다리라는&amp;nbsp;의미입니다.&amp;nbsp;결국&amp;nbsp;그동안에&amp;nbsp;다른&amp;nbsp;일은&amp;nbsp;못하죠! &lt;br /&gt;2)&amp;nbsp;그러나&amp;nbsp;우리가&amp;nbsp;만약에&amp;nbsp;두가지&amp;nbsp;일을&amp;nbsp;하고&amp;nbsp;싶다면&amp;nbsp;어떻게&amp;nbsp;하나요?&amp;nbsp;전자레인지에는&amp;nbsp;시간&amp;nbsp;카운터가&amp;nbsp;달려있기에&amp;nbsp;전자레인지를&amp;nbsp;돌리고&amp;nbsp;짧은시간&amp;nbsp;다른&amp;nbsp;용무를&amp;nbsp;보고와서&amp;nbsp;전자레인지&amp;nbsp;시계를&amp;nbsp;확인하고,&amp;nbsp;10초가&amp;nbsp;지났는지&amp;nbsp;확인하고,&amp;nbsp;만약&amp;nbsp;10초가&amp;nbsp;지났으면&amp;nbsp;꺼내서&amp;nbsp;먹으면&amp;nbsp;됩니다!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;1. 배선&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;우리는&amp;nbsp;아주&amp;nbsp;간단하게&amp;nbsp;실험해&amp;nbsp;볼&amp;nbsp;것이므로&amp;nbsp;내장된&amp;nbsp;Blink예제를&amp;nbsp;사용해보도록하죠!(즉,&amp;nbsp;따로&amp;nbsp;배선이&amp;nbsp;필요&amp;nbsp;없습니다) &lt;br /&gt;Blink예제는&amp;nbsp;&lt;a href=&quot;https://omnil.tistory.com/192&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;gt;&amp;gt;링크&amp;lt;&amp;lt;&lt;/a&gt;&amp;nbsp;포스팅에서&amp;nbsp;다루었습니다.&amp;nbsp;링크의&amp;nbsp;포스팅을&amp;nbsp;따라&amp;nbsp;블링크&amp;nbsp;예제를&amp;nbsp;불러와봅시다!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;2. 코딩&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;블링크&amp;nbsp;예제의&amp;nbsp;코드는&amp;nbsp;아래와&amp;nbsp;같습니다.(상단의&amp;nbsp;주석부분은&amp;nbsp;제거하였습니다.)&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;// 보드의 파워나 리셋 버튼을 눌렀을 때 이 setup 함수는 한번만 작동합니다.
void setup() {
  // digital pin인 LED_BUILTIN을 output으로 초기화 합니다.
  pinMode(LED_BUILTIN, OUTPUT);
}

// 이 loop 함수는 계속 계속 영원히 반복하여 작동합니다.
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // LED 켜기 (HIGH는 전압 레벨)
  delay(1000);                      // 1초간 기다리기
  digitalWrite(LED_BUILTIN, LOW);   // 전압을 LOW로 설정하여 LED 끄기
  delay(1000);                      // 1초간 기다리기
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;자,&amp;nbsp;여기서&amp;nbsp;delay(1000)&amp;nbsp;즉,&amp;nbsp;1초간&amp;nbsp;아무것도&amp;nbsp;안하고&amp;nbsp;아두이노한테&amp;nbsp;기다리라고&amp;nbsp;하는&amp;nbsp;부분을&amp;nbsp;바꿔봅시다! &lt;br /&gt;&lt;br /&gt;위의&amp;nbsp;예시에서&amp;nbsp;전자레인지의&amp;nbsp;시간만&amp;nbsp;중간중간&amp;nbsp;확인&amp;nbsp;가능하다면,&amp;nbsp;굳이&amp;nbsp;전자레인지&amp;nbsp;앞에서&amp;nbsp;지켜보고&amp;nbsp;있을&amp;nbsp;필요가&amp;nbsp;없다고했죠? &lt;br /&gt;그러니&amp;nbsp;시간을&amp;nbsp;확인할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;함수를&amp;nbsp;알아봅시다! &lt;br /&gt;&lt;br /&gt;millis()라고&amp;nbsp;하는&amp;nbsp;함수는&amp;nbsp;아두이노가&amp;nbsp;실행된&amp;nbsp;시점부터&amp;nbsp;내부적으로&amp;nbsp;카운팅하고&amp;nbsp;있는&amp;nbsp;밀리초의&amp;nbsp;시간을&amp;nbsp;반환하는&amp;nbsp;함수입니다. &lt;br /&gt;즉,&amp;nbsp;이&amp;nbsp;millis()를&amp;nbsp;쓰면&amp;nbsp;중간중간&amp;nbsp;시간확인이&amp;nbsp;가능하다는&amp;nbsp;말이죠! &lt;br /&gt;&lt;br /&gt;프로그램의&amp;nbsp;골자를&amp;nbsp;생각해봅시다. &lt;br /&gt;1)&amp;nbsp;전자레인지를&amp;nbsp;돌리고&amp;nbsp;시간을&amp;nbsp;본다&amp;nbsp;=&amp;gt;&amp;nbsp;LED를&amp;nbsp;켜고&amp;nbsp;millis()로&amp;nbsp;시간을&amp;nbsp;확인한다(변수에&amp;nbsp;저장한다) &lt;br /&gt;2)&amp;nbsp;시간을&amp;nbsp;확인한다&amp;nbsp;=&amp;gt;&amp;nbsp;현재&amp;nbsp;시간이&amp;nbsp;처음&amp;nbsp;LED를&amp;nbsp;켠&amp;nbsp;시간에&amp;nbsp;비해&amp;nbsp;얼마나&amp;nbsp;지났는지&amp;nbsp;확인한다(현재시간&amp;nbsp;-&amp;nbsp;LED&amp;nbsp;켠&amp;nbsp;시간) &lt;br /&gt;3)&amp;nbsp;정해진&amp;nbsp;시간이&amp;nbsp;지났으면&amp;nbsp;피자를&amp;nbsp;꺼내먹는다&amp;nbsp;=&amp;gt;&amp;nbsp;[(현재시간&amp;nbsp;-&amp;nbsp;LED&amp;nbsp;켠&amp;nbsp;시간)&amp;nbsp;&amp;gt;&amp;nbsp;정해진&amp;nbsp;시간]이면&amp;nbsp;LED를&amp;nbsp;끈다 &lt;br /&gt;&lt;br /&gt;간단하죠?&amp;nbsp;loop함수&amp;nbsp;내부&amp;nbsp;로직을&amp;nbsp;아래와&amp;nbsp;같이&amp;nbsp;짜봅시다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;// 1)
unsigned long startMillis;

digitalWrite(LED_BUILTIN, HIGH);
startMillis = millis();
// 2)&amp;amp;3)
if(millis()-startMillis &amp;gt;= 1000){
  startMillis = millis();
  digitalWrite(LED_BUILTIN, LOW);
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;자,&amp;nbsp;모든&amp;nbsp;조건을&amp;nbsp;만족하게&amp;nbsp;프로그래밍을&amp;nbsp;이렇게&amp;nbsp;하면...&amp;nbsp;작동하지&amp;nbsp;않습니다! &lt;br /&gt;왤까요? &lt;br /&gt;loop함수는&amp;nbsp;아두이노가&amp;nbsp;작동하는한&amp;nbsp;끊임없이&amp;nbsp;반복된다고&amp;nbsp;했습니다. &lt;br /&gt;그런데&amp;nbsp;이&amp;nbsp;loop함수&amp;nbsp;내부에서&amp;nbsp;시작한&amp;nbsp;시간을&amp;nbsp;변수에&amp;nbsp;저장시키면,&amp;nbsp;매&amp;nbsp;loop함수가&amp;nbsp;작동할&amp;nbsp;때마다&amp;nbsp;변수에&amp;nbsp;새로운&amp;nbsp;값이&amp;nbsp;저장되기에&amp;nbsp;정확히&amp;nbsp;시작한&amp;nbsp;시간을&amp;nbsp;알&amp;nbsp;수&amp;nbsp;없죠! &lt;br /&gt;그러면&amp;nbsp;대안은?&amp;nbsp;가장간단한건&amp;nbsp;loop함수&amp;nbsp;밖에서&amp;nbsp;시작시간을&amp;nbsp;설정해주거나,&amp;nbsp;loop내에서도&amp;nbsp;일정한&amp;nbsp;조건일&amp;nbsp;때만&amp;nbsp;변수에&amp;nbsp;값을&amp;nbsp;넣어주는&amp;nbsp;겁니다. &lt;br /&gt;게다가&amp;nbsp;loop함수&amp;nbsp;내부에서&amp;nbsp;digitalWrite(LED_BUILTIN,&amp;nbsp;HIGH)&amp;nbsp;구문이&amp;nbsp;있기때문에&amp;nbsp;사실&amp;nbsp;LED_BUILTIN은&amp;nbsp;계속&amp;nbsp;켜져있을&amp;nbsp;겁니다. &lt;br /&gt;일단은&amp;nbsp;가장&amp;nbsp;간단하게&amp;nbsp;갑시다!&amp;nbsp;loop함수&amp;nbsp;밖에서&amp;nbsp;시작시간과&amp;nbsp;LED&amp;nbsp;켜기를&amp;nbsp;설정해줍시다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;unsigned long startMillis = millis(); // 전역변수는 함수 밖에 있어야 합니다.

void setup() {
  // digital pin인 LED_BUILTIN을 output으로 초기화 합니다.
  pinMode(LED_BUILTIN, OUTPUT);
  // 1)
  digitalWrite(LED_BUILTIN, HIGH);
}

// 이 loop 함수는 계속 계속 영원히 반복하여 작동합니다.
void loop() {
  if(millis()-startMillis &amp;gt;= 1000){
    startMillis = millis();
    digitalWrite(LED_BUILTIN, LOW);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;자,&amp;nbsp;이러면&amp;nbsp;작동합니다! &lt;br /&gt;그러나&amp;nbsp;딱&amp;nbsp;한번만&amp;nbsp;작동합니다! &lt;br /&gt;왤까요? &lt;br /&gt;말그대로 &lt;br /&gt;1]&amp;nbsp;시작하면서&amp;nbsp;LED켜고&amp;nbsp;시간측정해! &lt;br /&gt;2]&amp;nbsp;타이머가&amp;nbsp;1초가&amp;nbsp;지나가면&amp;nbsp;꺼! &lt;br /&gt;끝이기&amp;nbsp;때문이죠.&amp;nbsp;1초가&amp;nbsp;지나면&amp;nbsp;꺼진상태가&amp;nbsp;그대로&amp;nbsp;유지됩니다. &lt;br /&gt;그러면&amp;nbsp;어떻게&amp;nbsp;이&amp;nbsp;친구를&amp;nbsp;깜빡거리게(토글)&amp;nbsp;할&amp;nbsp;수&amp;nbsp;있을까요? &lt;br /&gt;가장&amp;nbsp;간단한건&amp;nbsp;'1초일땐&amp;nbsp;꺼,&amp;nbsp;2초일땐&amp;nbsp;켜,&amp;nbsp;3초일땐&amp;nbsp;꺼...'지만,&amp;nbsp;이러면&amp;nbsp;모든&amp;nbsp;시간을&amp;nbsp;다&amp;nbsp;기록해줘야하죠..? &lt;br /&gt;조금&amp;nbsp;더&amp;nbsp;머리를&amp;nbsp;써&amp;nbsp;봅시다. &lt;br /&gt;지금&amp;nbsp;현재&amp;nbsp;LED&amp;nbsp;상태를&amp;nbsp;기억했다가&amp;nbsp;1초가&amp;nbsp;됐을&amp;nbsp;때&amp;nbsp;현재&amp;nbsp;LED상태를&amp;nbsp;보고&amp;nbsp;반대상태로&amp;nbsp;만들어주면&amp;nbsp;매&amp;nbsp;초마다&amp;nbsp;코딩을&amp;nbsp;하지&amp;nbsp;않아도&amp;nbsp;되지&amp;nbsp;않을까요!? &lt;br /&gt;바로&amp;nbsp;실험해봅시다! &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;// 전역변수는 함수 밖에 있어야 합니다.
bool ledState; // led상태를 알 수 있는 변수를 하나 만듭니다. bool은 int와 다르게 참/거짓의 딱 두가지 값만 가질 수 있습니다. 우리는 결국 led가 켜졌냐/꺼졌냐 만 사용할 것이므로 bool을 사용합니다.
unsigned long startMillis = millis(); // 그리고 led 상태를 기록한 시간을 기록합시다.

void setup() {
  // digital pin인 LED_BUILTIN을 output으로 초기화 합니다.
  pinMode(LED_BUILTIN, OUTPUT);
  // 1)
  ledState = HIGH; // 그리고 바로 led를 켜지 말고, '상태'를 입력해주죠. 현재 led는 '켜짐상태'입니다.
}

// 이 loop 함수는 계속 계속 영원히 반복하여 작동합니다.
void loop() {
  if(millis()-startMillis &amp;gt;= 1000){ // led상태를 기록한 시간(startMillis)와 현재 시간(millis())를 비교해서 1초(1000ms)가 지났는지 판단합니다. 지났으면 if문 안으로! 만약 1초가 지나지 않았으면 이 if문은 통과합니다!
    if(ledState == HIGH){ // 현재 led상태를 확인합니다. 현재 led가 '켜짐상태'이면 '꺼짐상태'로, '꺼짐상태'이면 '켜짐상태'로 바꿔줄 겁니다.
      ledState = LOW; // 현재 led 상태가 '켜짐상태'였기에 '꺼짐상태'로 바꿔줍니다.
    }
    else{ // 아니면! 즉, 현재 led상태가 '꺼짐상태' 면
      ledState = HIGH; // 현재 led 상태를 '켜짐상태'로 바꿔줍니다.
    }
    startMillis = millis(); // 그리고 상태를 바꿔줬으니 바로 상태를 기록한 시간을 다시 기록합니다.
  }

  digitalWrite(LED_BUILTIN, ledState); // 마지막으로 '상태'를 LED에 진짜로 반영해줍니다!
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;자,&amp;nbsp;이&amp;nbsp;구문은&amp;nbsp;제대로&amp;nbsp;잘&amp;nbsp;작동합니다!&amp;nbsp;1초마다&amp;nbsp;LED_BUILTIN이&amp;nbsp;켜졌다&amp;nbsp;꺼졌다&amp;nbsp;하는군요! &lt;br /&gt;전체적으로&amp;nbsp;작동로직을&amp;nbsp;한번&amp;nbsp;살펴볼까요? &lt;br /&gt;처음&amp;nbsp;시작하면&amp;nbsp;setup함수&amp;nbsp;내부에서&amp;nbsp;LED를&amp;nbsp;'켜짐상태'로&amp;nbsp;설정하고,&amp;nbsp;그&amp;nbsp;시간을&amp;nbsp;기록합니다. &lt;br /&gt;그리고&amp;nbsp;loop함수로&amp;nbsp;넘어오죠. &lt;br /&gt;loop함수에서는&amp;nbsp;시작한시간과&amp;nbsp;현재시간을&amp;nbsp;비교하는데,&amp;nbsp;시작하고&amp;nbsp;1초도&amp;nbsp;지나지&amp;nbsp;않았습니다. &lt;br /&gt;따라서&amp;nbsp;첫&amp;nbsp;if문은&amp;nbsp;바로&amp;nbsp;통과! &lt;br /&gt;그&amp;nbsp;이후&amp;nbsp;loop함수&amp;nbsp;마지막에&amp;nbsp;digitalWrite로&amp;nbsp;LED_BUILTIN에&amp;nbsp;실제적으로&amp;nbsp;'상태'를&amp;nbsp;반영해줍니다. &lt;br /&gt;결국&amp;nbsp;LED는&amp;nbsp;켜지고,&amp;nbsp;1초뒤에&amp;nbsp;첫번째&amp;nbsp;if문&amp;nbsp;안으로&amp;nbsp;들어갑니다. &lt;br /&gt;첫번째&amp;nbsp;if문&amp;nbsp;안에서&amp;nbsp;현재&amp;nbsp;led상태가&amp;nbsp;HIGH이므로&amp;nbsp;두번째&amp;nbsp;if문으로&amp;nbsp;들어가&amp;nbsp;ledState를&amp;nbsp;LOW로&amp;nbsp;바꿔주고,&amp;nbsp;상태를&amp;nbsp;바꾼&amp;nbsp;시간을&amp;nbsp;다시&amp;nbsp;기록하고&amp;nbsp;if문을&amp;nbsp;빠져나와&amp;nbsp;digitalWrite로&amp;nbsp;LED_BUILTIN에&amp;nbsp;실제적으로&amp;nbsp;'상태'를&amp;nbsp;반영해줍니다. &lt;br /&gt;그리고&amp;nbsp;이&amp;nbsp;반복이죠!&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;3. 더 나아가기&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;사실&amp;nbsp;위의&amp;nbsp;프로그램(스케치)은&amp;nbsp;loop함수&amp;nbsp;작동시마다&amp;nbsp;계속&amp;nbsp;digitalWrite를&amp;nbsp;부릅니다.&amp;nbsp;즉,&amp;nbsp;1초마다&amp;nbsp;한번씩만&amp;nbsp;바꿔주면&amp;nbsp;되는걸,&amp;nbsp;1초가&amp;nbsp;되기&amp;nbsp;전에&amp;nbsp;계속&amp;nbsp;'켜&amp;nbsp;켜&amp;nbsp;켜&amp;nbsp;켜&amp;nbsp;켜&amp;nbsp;켜&amp;nbsp;켜&amp;nbsp;켜'하고&amp;nbsp;반복신호를&amp;nbsp;주는거죠.(그리고&amp;nbsp;사실&amp;nbsp;이게&amp;nbsp;병렬처리가&amp;nbsp;되는&amp;nbsp;이유기도&amp;nbsp;합니다.&amp;nbsp;시간&amp;nbsp;체크하는&amp;nbsp;동안&amp;nbsp;계속해서&amp;nbsp;신호를&amp;nbsp;주는거죠.) &lt;br /&gt;1초마다&amp;nbsp;신호를&amp;nbsp;주고,&amp;nbsp;더&amp;nbsp;짧은&amp;nbsp;코드를&amp;nbsp;공개합니다. &lt;br /&gt;이번엔&amp;nbsp;주석을&amp;nbsp;지울테니&amp;nbsp;보고&amp;nbsp;더&amp;nbsp;생각해보세요! &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;bool ledState = LOW;
unsigned long startMillis = millis();

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  if(millis()-startMillis &amp;gt;= 1000){
    digitalWrite(LED_BUILTIN, ledState=!ledState);
    startMillis = millis();
  }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>arduino</category>
      <category>Delay</category>
      <category>LED</category>
      <category>millis</category>
      <category>아두이노</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/202</guid>
      <comments>https://omnil.tistory.com/202#entry202comment</comments>
      <pubDate>Wed, 5 Apr 2023 09:41:59 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] 함수설명: delay()</title>
      <link>https://omnil.tistory.com/201</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;함수설명: delay()&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매개변수로 지정된 시간(밀리초(millisecond, ms)) 동안 프로그램을 일시 중지합니다. (1초(s)는 1000밀리초(ms)입니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문법(syntax):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;delay(ms)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;매개변수(parameters):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ms: 일시 중지할 시간(밀리초)입니다. 허용되는 데이터 유형: unsigned long(부호없는 정수).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;리턴값(returns):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;없음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예제 코드:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 출력 핀을 토글하기 전에 프로그램을 1초 동안 일시 정지합니다.&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;int ledPin = 13; // 디지털 핀 13에 연결된 LED

void setup() {
  pinMode(ledPin, OUTPUT); // 디지털 핀을 출력으로 설정합니다.
}

void loop() {
  digitalWrite(ledPin, HIGH); // LED를 켭니다.
  delay(1000); // 1초간 기다립니다.
  digitalWrite(ledPin, LOW); // LED를 끕니다.
  delay(1000); // 1초간 기다립니다.
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;참고:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;delay() 함수로 깜박이는 LED를 쉽게 만들 수 있고 많은 스케치에서 스위치 디바운싱과 같은 작업에 짧은 지연을 사용하지만, 스케치에서 delay()을 사용하면 상당한 단점이 있습니다. delay 함수 작동 중에는 센서 판독, 수학적 계산 또는 핀 조작을 계속할 수 없으므로 사실상 대부분의 다른 활동이 중단됩니다. 타이밍 제어에 대한 다른 접근 방식은 충분한 시간이 경과할 때까지 millis() 함수를 폴링하여 반복하는 &lt;a href=&quot;https://omnil.tistory.com/202&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;gt;&amp;gt;delay함수 없이 LED 깜빡이기&amp;lt;&amp;lt;&lt;/a&gt;를 참조하십시오. 일반적으로 Arduino 스케치가 매우 간단하지 않는 한 10밀리초 이상의 이벤트 타이밍에 delay()함수를 사용하지 않습니다.&lt;br /&gt;&lt;br /&gt;그러나 delay() 함수가 인터럽트를 비활성화하지 않기 때문에 delay() 함수가 Atmega 칩을 제어하는 동안에도 특정 작업이 계속 진행됩니다. RX 핀에 나타나는 직렬 통신이 기록되고, PWM(아날로그 쓰기) 값과 핀 상태가 유지되며, 인터럽트가 정상적으로 작동합니다.&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>arduino</category>
      <category>Delay</category>
      <category>millis</category>
      <category>아두이노</category>
      <category>지연</category>
      <category>함수</category>
      <category>함수설명</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/201</guid>
      <comments>https://omnil.tistory.com/201#entry201comment</comments>
      <pubDate>Mon, 6 Mar 2023 07:45:01 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] 함수설명: digitalWrite()</title>
      <link>https://omnil.tistory.com/199</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;함수설명:digitalWrite()&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디지털 핀에 HIGH(1) 또는 LOW(0) 값을 기록합니다.&lt;br /&gt;핀이 pinMode()를 사용하여 출력으로 구성된 경우, 해당 전압은 HIGH의 경우 5V(또는 3.3V 보드의 경우 3.3V), LOW의 경우 0V(접지)로 설정됩니다.&lt;br /&gt;input 모드로 설정된 핀에 대하여 사용 시 pullup 저항을 활성화 하지만, 가능하면 명시적인 INPUT_PULLUP을 사용하여 설정할 것을 추천드립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문법(syntax):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;digitalWrite(pin, value)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;매개변수(parameters):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pin: 출력모드로 설정 된 아두이노 핀 번호&lt;br /&gt;value: HIGH(1) 혹은 LOW(0)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;리턴값(returns):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;없음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예제 코드:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 디지털 핀 13을 OUTPUT으로 설정하고, HIGH와 LOW로 토글(toggle, 전환)합니다.&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;void setup() {
pinMode(13, OUTPUT); // 디지털 핀 13을 OUTPUT으로 설정
}

void loop() {
digitalWrite(13, HIGH); // 디지털 핀 13을 on으로 설정
delay(1000); // 1초 기다리기
digitalWrite(13, LOW); // 디지털 핀 13을 off로 설정
delay(1000); // 1초 기다리기
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;참고:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 예제 코드에서 //(슬래시 두개)는 주석(컴파일 시 실제 코드로 인식 하지 않겠다는 의미)이며, 다른 글에서 설명하겠지만,&amp;nbsp;delay() 함수는 말 그대로 '기다리는'함수이며, 그 안에 들어가는 값은 밀리세컨드 단위입니다. 즉 1000ms=1s 입니다.&lt;br /&gt;아날로그 입출력 또한 가능합니다.&lt;br /&gt;아날로그 입력의 경우 A0, A1 등으로 표시된 핀에서 가능하고, 출력은 ~(틸드)표시가 붙은 디지털 핀에서 가능합니다.&lt;br /&gt;또한 반대로 아날로그 출력 핀(A0, A1, etc)을 디지털 핀으로 활용도 가능합니다.&lt;br /&gt;예외적으로 아두이노 나노, 프로미니, 미니의 A6과 A7 핀은 오로지 아날로그 입력 핀으로만 사용할 수 있습니다.&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>arduino</category>
      <category>Delay</category>
      <category>digitalWrite</category>
      <category>pinMode</category>
      <category>아두이노</category>
      <category>출력</category>
      <category>핀</category>
      <category>함수</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/199</guid>
      <comments>https://omnil.tistory.com/199#entry199comment</comments>
      <pubDate>Tue, 21 Feb 2023 07:01:09 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] 함수설명: pinMode()</title>
      <link>https://omnil.tistory.com/198</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;함수설명: pinMode()&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;설명:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지정한&amp;nbsp;핀이&amp;nbsp;입력&amp;nbsp;또는&amp;nbsp;출력으로&amp;nbsp;작동하도록&amp;nbsp;구성합니다.&amp;nbsp;핀의&amp;nbsp;기능에&amp;nbsp;대한&amp;nbsp;자세한&amp;nbsp;내용은&amp;nbsp;&lt;a href=&quot;https://omnil.tistory.com/197&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;gt;&amp;gt;아두이노의&amp;nbsp;핀에&amp;nbsp;대하여&amp;lt;&amp;lt;&lt;/a&gt;&amp;nbsp;페이지를&amp;nbsp;참조하세요. &lt;br /&gt;&lt;br /&gt;INPUT_PULLUP&amp;nbsp;모드로&amp;nbsp;내부&amp;nbsp;풀업&amp;nbsp;저항을&amp;nbsp;활성화할&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;또한&amp;nbsp;INPUT&amp;nbsp;모드는&amp;nbsp;내부&amp;nbsp;풀업을&amp;nbsp;명시적으로&amp;nbsp;비활성화합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문법(syntax):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pinMode(pin,&amp;nbsp;mode)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;매개변수(parameter):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pin:&amp;nbsp;모드를&amp;nbsp;설정할&amp;nbsp;아두이노&amp;nbsp;핀&amp;nbsp;번호 &lt;br /&gt;mode:&amp;nbsp;INPUT,&amp;nbsp;OUTPUT&amp;nbsp;또는&amp;nbsp;INPUT_PULLUP의&amp;nbsp;세가지&amp;nbsp;중&amp;nbsp;하나를&amp;nbsp;선택.&amp;nbsp;각&amp;nbsp;모드에&amp;nbsp;대한&amp;nbsp;자세한&amp;nbsp;내용은&amp;nbsp;&lt;a href=&quot;https://omnil.tistory.com/197&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;gt;&amp;gt;아두이노의&amp;nbsp;핀에&amp;nbsp;대하여&amp;lt;&amp;lt;&lt;/a&gt;&amp;nbsp;페이지를&amp;nbsp;참조하세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;리턴값(returns):&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;없음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예제 코드:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 디지털 핀 13을 OUTPUT으로 설정하고, HIGH와 LOW로 토글(toggle, 상호전환)합니다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;void&amp;nbsp;setup()&amp;nbsp;{ 
&amp;nbsp;&amp;nbsp;pinMode(13,&amp;nbsp;OUTPUT);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;디지털&amp;nbsp;핀&amp;nbsp;13을&amp;nbsp;OUTPUT으로&amp;nbsp;설정 
} 

void&amp;nbsp;loop()&amp;nbsp;{ 
&amp;nbsp;&amp;nbsp;digitalWrite(13,&amp;nbsp;HIGH);&amp;nbsp;//&amp;nbsp;디지털&amp;nbsp;핀&amp;nbsp;13을&amp;nbsp;on으로&amp;nbsp;설정 
&amp;nbsp;&amp;nbsp;delay(1000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;1초&amp;nbsp;기다리기 
&amp;nbsp;&amp;nbsp;digitalWrite(13,&amp;nbsp;LOW);&amp;nbsp;&amp;nbsp;//&amp;nbsp;디지털&amp;nbsp;핀&amp;nbsp;13을&amp;nbsp;off로&amp;nbsp;설정 
&amp;nbsp;&amp;nbsp;delay(1000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;1초&amp;nbsp;기다리기 
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;참고:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 예제 코드에서 //(슬래시 두개)는 주석(컴파일 시 실제 코드로 인식 하지 않겠다는 의미)이며, 다른 글에서 설명하겠지만, &lt;a href=&quot;https://omnil.tistory.com/199&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;gt;&amp;gt;digitalWrite()&amp;lt;&amp;lt;&lt;/a&gt;는 핀에 해당 값을 출력하는 함수, digitalRead는 핀의 현재 상태를 읽는 함수입니다. &lt;br /&gt;또한 &lt;a href=&quot;https://omnil.tistory.com/201&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;gt;&amp;gt;delay()&amp;lt;&amp;lt;&lt;/a&gt; 함수는 말 그대로 '지연(기다리는)'함수이며, 그 안에 들어가는 값은 밀리세컨드 단위입니다. 즉 1000ms=1s 입니다. &lt;br /&gt;아날로그&amp;nbsp;입출력&amp;nbsp;또한&amp;nbsp;가능합니다. &lt;br /&gt;아날로그&amp;nbsp;입력의&amp;nbsp;경우&amp;nbsp;A0,&amp;nbsp;A1&amp;nbsp;등으로&amp;nbsp;표시된&amp;nbsp;핀에서&amp;nbsp;가능하고,&amp;nbsp;출력은&amp;nbsp;~(틸드)표시가&amp;nbsp;붙은&amp;nbsp;디지털&amp;nbsp;핀에서&amp;nbsp;가능합니다. &lt;br /&gt;또한&amp;nbsp;반대로&amp;nbsp;아날로그&amp;nbsp;출력&amp;nbsp;핀(A0,&amp;nbsp;A1,&amp;nbsp;etc)을&amp;nbsp;디지털&amp;nbsp;핀으로&amp;nbsp;활용도&amp;nbsp;가능합니다.&lt;br /&gt;예외적으로&amp;nbsp;아두이노&amp;nbsp;나노,&amp;nbsp;프로미니,&amp;nbsp;미니의&amp;nbsp;A6과&amp;nbsp;A7&amp;nbsp;핀은&amp;nbsp;오로지&amp;nbsp;아날로그&amp;nbsp;입력&amp;nbsp;핀으로만&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있습니다.&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>digitalRead</category>
      <category>digitalWrite</category>
      <category>input</category>
      <category>INPUT_PULLUP</category>
      <category>mode</category>
      <category>output</category>
      <category>PIN</category>
      <category>pinMode</category>
      <category>아두이노</category>
      <category>함수</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/198</guid>
      <comments>https://omnil.tistory.com/198#entry198comment</comments>
      <pubDate>Mon, 20 Feb 2023 07:01:32 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] 아두이노의 핀에 대하여</title>
      <link>https://omnil.tistory.com/197</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;아두이노의&amp;nbsp;핀에&amp;nbsp;대하여&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvLgKp/btrZNt9Oek7/EkBCwkf4T813j7xQi2mcK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvLgKp/btrZNt9Oek7/EkBCwkf4T813j7xQi2mcK0/img.png&quot; data-alt=&quot;빨간색 화살표가 가리키는 것처럼 아두이노에 있는 구멍 하나하나를 핀(pin)이라고 합니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvLgKp/btrZNt9Oek7/EkBCwkf4T813j7xQi2mcK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvLgKp%2FbtrZNt9Oek7%2FEkBCwkf4T813j7xQi2mcK0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;606&quot; height=&quot;404&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;빨간색 화살표가 가리키는 것처럼 아두이노에 있는 구멍 하나하나를 핀(pin)이라고 합니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;Arduino&amp;nbsp;핀은&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;디지털 핀&lt;/b&gt;과 &lt;b&gt;아날로그 핀&lt;/b&gt;으로 구분되며,&lt;/span&gt;&amp;nbsp;&lt;b&gt;입력&lt;/b&gt;(INPUT)이나&amp;nbsp;&lt;b&gt;출력&lt;/b&gt;(OUTPUT)으로&amp;nbsp;구성할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;이&amp;nbsp;글은&amp;nbsp;디지털&amp;nbsp;핀에&amp;nbsp;대해서&amp;nbsp;말하지만,&amp;nbsp;대부분의&amp;nbsp;아두이노(Atmega)&amp;nbsp;아날로그&amp;nbsp;핀은&amp;nbsp;디지털&amp;nbsp;핀과&amp;nbsp;정확히&amp;nbsp;같은&amp;nbsp;방식으로&amp;nbsp;구성되고&amp;nbsp;사용될&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;디지털&amp;nbsp;핀(혹은&amp;nbsp;아날로그&amp;nbsp;핀)의&amp;nbsp;모드는&amp;nbsp;세가지&amp;nbsp;입니다. &lt;br /&gt;가장&amp;nbsp;기본적인&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;INPUT&lt;/span&gt;(입력),&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;OUTPUT&lt;/span&gt;(출력)과&amp;nbsp;특수한&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;INPUT_PULLUP&lt;/span&gt;입니다. &lt;br /&gt;INPUT &lt;br /&gt;INPUT_PULLUP &lt;br /&gt;OUTPUT &lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;INPUT으로&amp;nbsp;구성된&amp;nbsp;핀의&amp;nbsp;속성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;Arduino(Atmega)&amp;nbsp;핀은&amp;nbsp;기본적(default)으로&amp;nbsp;input&amp;nbsp;mode(입력&amp;nbsp;모드)입니다.&amp;nbsp;따라서&amp;nbsp;만약&amp;nbsp;이&amp;nbsp;핀들을&amp;nbsp;입력&amp;nbsp;모드로&amp;nbsp;사용할&amp;nbsp;것이라면&amp;nbsp;pinMode()&amp;nbsp;함수를&amp;nbsp;이용하여&amp;nbsp;명시적으로&amp;nbsp;선언할&amp;nbsp;필요가&amp;nbsp;없습니다. &lt;br /&gt;INPUT으로&amp;nbsp;구성된&amp;nbsp;핀은&amp;nbsp;고임피던스&amp;nbsp;상태라고&amp;nbsp;하며&amp;nbsp;이는&amp;nbsp;회로에&amp;nbsp;크게&amp;nbsp;영향을&amp;nbsp;미치지&amp;nbsp;않습니다.&amp;nbsp;그러나&amp;nbsp;매우&amp;nbsp;작은&amp;nbsp;전류만으로&amp;nbsp;INPUT&amp;nbsp;상태&amp;nbsp;(켜짐/꺼짐&amp;nbsp;or&amp;nbsp;ON/OFF&amp;nbsp;or&amp;nbsp;HIGH/LOW&amp;nbsp;or&amp;nbsp;0/1)가&amp;nbsp;변할&amp;nbsp;수&amp;nbsp;있기&amp;nbsp;때문에&amp;nbsp;pullup(풀업)&amp;nbsp;혹은&amp;nbsp;pulldown(풀다운)&amp;nbsp;회로를&amp;nbsp;구성하는&amp;nbsp;것이&amp;nbsp;좋습니다. &lt;br /&gt;일반적인&amp;nbsp;INPUT&amp;nbsp;모드에서는&amp;nbsp;센서가&amp;nbsp;꺼졌을&amp;nbsp;때&amp;nbsp;0(LOW),&amp;nbsp;켜졌을&amp;nbsp;때&amp;nbsp;1(HIGH)입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;br /&gt;INPUT_PULLUP으로&amp;nbsp;구성된&amp;nbsp;핀의&amp;nbsp;속성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;INPUT_PULLUP&amp;nbsp;모드의&amp;nbsp;경우&amp;nbsp;INPUT&amp;nbsp;모드에&amp;nbsp;자체적으로&amp;nbsp;PULLUP&amp;nbsp;저항을&amp;nbsp;적용하는&amp;nbsp;모드입니다.&amp;nbsp;INPUT_PULLUP으로&amp;nbsp;구성된&amp;nbsp;핀에&amp;nbsp;센서를&amp;nbsp;연결할&amp;nbsp;때는&amp;nbsp;반드시&amp;nbsp;다른&amp;nbsp;쪽&amp;nbsp;끝은&amp;nbsp;접지에&amp;nbsp;연결해야&amp;nbsp;합니다. &lt;br /&gt;Atmega&amp;nbsp;칩에는&amp;nbsp;기본적으로&amp;nbsp;20K(키로옴)의&amp;nbsp;풀업&amp;nbsp;저항이&amp;nbsp;내장되어있습니다. &lt;br /&gt;INPUT_PULLUP&amp;nbsp;모드에서는&amp;nbsp;센서가&amp;nbsp;커졌을&amp;nbsp;때&amp;nbsp;1(HIGH),&amp;nbsp;켜졌을&amp;nbsp;때&amp;nbsp;0(LOW)입니다. &lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;OUTPUT으로&amp;nbsp;구성된&amp;nbsp;핀의&amp;nbsp;속성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;pinMode()&amp;nbsp;함수를&amp;nbsp;사용하여&amp;nbsp;OUTPUT으로&amp;nbsp;구성된&amp;nbsp;핀은&amp;nbsp;저임피던스&amp;nbsp;상태라고&amp;nbsp;합니다.&amp;nbsp;이는&amp;nbsp;다른&amp;nbsp;회로에&amp;nbsp;상당한&amp;nbsp;양의&amp;nbsp;전류를&amp;nbsp;제공할&amp;nbsp;수&amp;nbsp;있음을&amp;nbsp;의미합니다.&amp;nbsp;Atmega&amp;nbsp;핀은&amp;nbsp;최대&amp;nbsp;40mA(밀리암페어)의&amp;nbsp;전류를&amp;nbsp;다른&amp;nbsp;장치/회로에&amp;nbsp;공급(양전류&amp;nbsp;제공)하거나&amp;nbsp;싱크(음전류&amp;nbsp;제공)할&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;이&amp;nbsp;전류는&amp;nbsp;LED를&amp;nbsp;밝게&amp;nbsp;켜거나(직렬&amp;nbsp;저항을&amp;nbsp;잊지&amp;nbsp;마십시오)&amp;nbsp;많은&amp;nbsp;센서를&amp;nbsp;작동하기에&amp;nbsp;충분한&amp;nbsp;전류이지만&amp;nbsp;대부분의&amp;nbsp;릴레이,&amp;nbsp;솔레노이드&amp;nbsp;또는&amp;nbsp;모터를&amp;nbsp;작동하기에는&amp;nbsp;충분한&amp;nbsp;전류가&amp;nbsp;아닙니다. &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;아두이노&amp;nbsp;핀의&amp;nbsp;단락이나&amp;nbsp;고전류&amp;nbsp;장치의&amp;nbsp;구동을&amp;nbsp;시도하면&amp;nbsp;핀의&amp;nbsp;출력&amp;nbsp;트랜지스터가&amp;nbsp;손상되거나&amp;nbsp;파괴되거나&amp;nbsp;아트메가&amp;nbsp;칩&amp;nbsp;전체가&amp;nbsp;손상될&amp;nbsp;수&amp;nbsp;있습니다.&amp;nbsp;종종&amp;nbsp;이로&amp;nbsp;인해&amp;nbsp;마이크로컨트롤러에&amp;nbsp;&quot;데드&quot;&amp;nbsp;핀이&amp;nbsp;발생하지만&amp;nbsp;나머지&amp;nbsp;칩은&amp;nbsp;여전히&amp;nbsp;적절하게&amp;nbsp;작동합니다.&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>input</category>
      <category>INPUT_PULLUP</category>
      <category>output</category>
      <category>모드</category>
      <category>아두이노</category>
      <category>입력</category>
      <category>출력</category>
      <category>풀다운</category>
      <category>풀업</category>
      <category>핀</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/197</guid>
      <comments>https://omnil.tistory.com/197#entry197comment</comments>
      <pubDate>Sun, 19 Feb 2023 14:05:17 +0900</pubDate>
    </item>
    <item>
      <title>피타고라스와 작두콩(잠두): 제 1계명 &amp;quot;콩을 먹지 말라&amp;quot;</title>
      <link>https://omnil.tistory.com/195</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;피타고라스와&amp;nbsp;작두콩(잠두):&amp;nbsp;제&amp;nbsp;1계명&amp;nbsp;&quot;콩을&amp;nbsp;먹지&amp;nbsp;말라&quot;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 아주 흥미로운 사실에 대해 알아보려고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러분들은 피타고라스를 알고 계신가요?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bieOWt/btrYSDToMcG/CK8akaf9hEncXEJcnYyLA0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bieOWt/btrYSDToMcG/CK8akaf9hEncXEJcnYyLA0/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bieOWt/btrYSDToMcG/CK8akaf9hEncXEJcnYyLA0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbieOWt%2FbtrYSDToMcG%2FCK8akaf9hEncXEJcnYyLA0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;724&quot; height=&quot;720&quot; data-origin-width=&quot;724&quot; data-origin-height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피타고라스는 기원전 570년 경 태어난 사람으로 알려져 있는데요, 우리에게는 삼각형의 빗변의 제곱은 밑변의 제곱과 높이의 제곱의 합과 같다는 '피타고라스 정리'라는 것으로 제일 유명하죠.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;pythagoras-g5800a1f3e_1920.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wybYo/btrYRuCT7rC/tQOH8suPsjESonrQSggc40/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wybYo/btrYRuCT7rC/tQOH8suPsjESonrQSggc40/img.jpg&quot; data-alt=&quot;아주 유명한 피타고라스 정리: a^2+b^2=c^2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wybYo/btrYRuCT7rC/tQOH8suPsjESonrQSggc40/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwybYo%2FbtrYRuCT7rC%2FtQOH8suPsjESonrQSggc40%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1440&quot; data-filename=&quot;pythagoras-g5800a1f3e_1920.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1440&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;아주 유명한 피타고라스 정리: a^2+b^2=c^2&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 이런 피타고라스가 한 종교의 교주였다는 사실을 알고 계셨나요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피타고라스는 피타고라스 학파를 만들며 여러 계명들을 만들었는데요, 그 중에 제일 재밌는 계명이 제 1계명입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 &quot;콩을 먹지 말라&quot;는 건데요, 대체 왜 이 계명이 생겼을까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;썰은 정말 다양합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피타고라스가 채식주의자임에도 콩을 금지한 이유는 소화가 잘 안되어서 라거나, 이상한 종교적 믿음으로 콩과 사람이 비슷해서 등등 얼핏 듣기에는 잘 이해가 가지 않는 썰들이 있습니다. 특히나 채식주의자에게 콩은 단백질 보급의 주요 원천이기에 그 옛날에 채식주의자가 콩을 금지했다는건 경험적으로도 뭔가 안맞는 이야기이기도 하구요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 여기에는 나름 아주 매력적인 썰이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 피타고라스가 콩을 먹으면 아팠었기 때문이라는 썰입니다. 결국 무슨 질환을 가지고 있었다는 것이었겠죠?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도대체 이게 왜 매력적인 썰일까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 파트별로 나눠서 살펴보죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;콩, 질환, 고찰 그리고 결론 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 콩&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;broad-bean-g604224be0_1920.jpg&quot; data-origin-width=&quot;1285&quot; data-origin-height=&quot;1920&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TeRt2/btrYUaiCEY0/vM2bR5PQKraBVoxQYtkpeK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TeRt2/btrYUaiCEY0/vM2bR5PQKraBVoxQYtkpeK/img.jpg&quot; data-alt=&quot;작두콩, 잠두, 누에콩, 파바빈, fava bean, broad bean&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TeRt2/btrYUaiCEY0/vM2bR5PQKraBVoxQYtkpeK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTeRt2%2FbtrYUaiCEY0%2FvM2bR5PQKraBVoxQYtkpeK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1285&quot; height=&quot;1920&quot; data-filename=&quot;broad-bean-g604224be0_1920.jpg&quot; data-origin-width=&quot;1285&quot; data-origin-height=&quot;1920&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;작두콩, 잠두, 누에콩, 파바빈, fava bean, broad bean&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 시절 지중해에서 나는 콩들은 '작두콩' 혹은 '잠두'(혹은 누에콩,&amp;nbsp;파바빈,&amp;nbsp;fava&amp;nbsp;bean,&amp;nbsp;broad&amp;nbsp;bean)라고 불리는 콩들이었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;185&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/catlPC/btrYTqzpx7a/kYQqd3gW0YkLXfGcTUAEJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/catlPC/btrYTqzpx7a/kYQqd3gW0YkLXfGcTUAEJ0/img.png&quot; data-alt=&quot;Vicin의 화학구조식 출처: Wikipedia&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/catlPC/btrYTqzpx7a/kYQqd3gW0YkLXfGcTUAEJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcatlPC%2FbtrYTqzpx7a%2FkYQqd3gW0YkLXfGcTUAEJ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;250&quot; height=&quot;185&quot; data-origin-width=&quot;250&quot; data-origin-height=&quot;185&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Vicin의 화학구조식 출처: Wikipedia&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 작두콩에는 Vicin(비신)이라는 성분이 있는데, 이 비신이라는 성분은 자체로는 아무런 해가 없습니다만, 이게 대장에서 정상세균총(micro flora)에 의해 가수분해되면, aglycon(아글리콘: 글루코오스(6탄당) 형태가 빠진)인 divicin(디비신)이라는 성분으로 대사되고, 이 성분은 활성산소(free radical) 생성 물질이 됩니다. 그리고 이 산화 능력은 체내 자체적인 환원 물질인 glutathione(글루타치온)에 작용, 이를 소모하게 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상인에게는 비록 이 물질이 생성된다하더라도 빠르게 글루타치온을 재생성 할 수 있기 때문에 문제가 되지 않지만, 몇몇 사람에게는 이게 큰 문제를 일으킬 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 중 가장 유명한 것이 G6PD 결핍증입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 질환&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;G6PD 결핍증(glucose-6-phosphate dehydrogenase deficiency, 6-인산포도당탈수소효소 결핍증)은 오탄당 인산경로(pentose phosphate pathway)에 쓰이는 G6PD가 결핍되어 생기는 질환입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히나 적혈구의 대사에서 중요한 효소지요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;산화적 손상을 일으키는 자유라디칼을 제거하는 '글루타치온(Glutathione)'을 환원시키는데 NADPH가 사용되는데, 적혈구에서는 이 오탄당 인산경로가 유일한 NADPH 공급원입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 여기서 이 환원적 환경을 만들어 낼 수 있는 G6PD가 결핍되게되면 결과적으로 적혈구는 매우 불안정한 상태가 됩니다. 약간의 자극에서 적혈구 세포막이 터질 수 있고, 결국 이는 용혈성 빈혈로 나타나게 되죠. 특히나 적혈구가 산화적 상태로 불안정하다는 것을 주목해야 합니다. 결국 외부에서 산화적 스트레스가 오면 아주 쉽게 적혈구가 용혈 될 수 있다는 것이죠.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;271&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buEWnb/btrYRVmDjdp/KGWzXMxmchTJ6bgXZM7Rr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buEWnb/btrYRVmDjdp/KGWzXMxmchTJ6bgXZM7Rr1/img.png&quot; data-alt=&quot;출처: Wikipedia(이미지 일부 발췌)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buEWnb/btrYRVmDjdp/KGWzXMxmchTJ6bgXZM7Rr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuEWnb%2FbtrYRVmDjdp%2FKGWzXMxmchTJ6bgXZM7Rr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;271&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;271&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처: Wikipedia(이미지 일부 발췌)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다시 생각해보면, 결론적으로 피타고라스는 이 질병을 가지고 있었을 것이며, 그렇기에 대사과정에서 활성산소를 만들어내는 작두콩을 먹으면 용혈성 빈혈로 매우 아팠을 것입니다.(이를 잠두중독증(favism(파비즘))이라 하며, 잠두(누에콩)의 이름인 fava bean에서 유래했습니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 피타고라스는 왜 이 질병을 가지고 있었을까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 고찰&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;hd-wallpaper-g5e7974d4e_1920.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1uX2k/btrYRgdNDV3/QsjM5343kfQOSyCZ7TkdgK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1uX2k/btrYRgdNDV3/QsjM5343kfQOSyCZ7TkdgK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1uX2k/btrYRgdNDV3/QsjM5343kfQOSyCZ7TkdgK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1uX2k%2FbtrYRgdNDV3%2FQsjM5343kfQOSyCZ7TkdgK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-filename=&quot;hd-wallpaper-g5e7974d4e_1920.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 G6PD 결핍증은 X염색체 연관으로 유전됩니다. 즉, 여자는 보인자, 남자는 무조건 증상이 발현된다는 말이지요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 한 지역에서 유전병이 계속 지속되는 이유는, 그 유전병을 가짐으로 인해서 얻는 이득이 있을 때 사라지지 않고 유전병이 유지되는 경향이 있습니다. 겸상 적혈구 빈혈증도 말라리아에 대해서 저항성이 있기 때문에 정상적인 적혈구를 가진 사람보다 생존에 유리해서 계속해서 그 유전병이 남아있죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;똑같이 G6PD결핍증도 적혈구를 약하게 만들기 때문에 말라리아에 저항성이 생깁니다. 정확히는 말라리아가 원충으로 적혈구에 들어갔을 때 거기서 성숙을 못하게 적혈구를 쉽게 파괴시켜버리기 때문에 말라리아에 대해 저항성이 생기는거죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히나 과거 지중해에서 말라리아가 호발했기 때문에(이는 지중해성 빈혈 등 빈혈 관련 유전병이 지중해에서 유래한 것이 많다는 것이 반증하기도 합니다.) 오히려 정상인보다 G6PD 결핍증을 가진 사람이 생존에 더 유리했을 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 결론&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 이 모든 내용을 조합해보자면, &lt;b&gt;말라리아가 호발하던 지중해에서 태어난 피타고라스는 G6PD 결핍증을 가지고 있었고 작두콩을 먹고 잠두중독증(favism)으로 매우 아팠었을 겁니다. 그래서 교주가 된 이후에 제 1계명을 &quot;콩을 먹지 말라&quot;고 했겠죠.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 또하나 재밌는 사실은 피타고라스의 죽음도 콩과 연관되어 있다는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;피타고라스의 죽음도 썰이 정말 많지만, 재밌는 점은 모두다 콩과 관련되어있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도망가던 중에 콩 밭을 지나다가 그자리에서 쓰러져 죽었다던가, 결국 콩 밭을 지나지 못하고 잡혀서 죽었다던가 하는 이야기지요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 주제 어떻게 흥미로우셨나요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음에 더 재밌는 주제로 찾아오겠습니다!&lt;/p&gt;</description>
      <category>Study/Medicine</category>
      <category>favism</category>
      <category>G6PD</category>
      <category>G6PD결핍증</category>
      <category>누에콩</category>
      <category>말라리아</category>
      <category>작두콩</category>
      <category>잠두</category>
      <category>잠두중독증</category>
      <category>파바빈</category>
      <category>피타고라스</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/195</guid>
      <comments>https://omnil.tistory.com/195#entry195comment</comments>
      <pubDate>Wed, 8 Feb 2023 08:44:18 +0900</pubDate>
    </item>
    <item>
      <title>[가벼운 외국어] 초기 시작 가이드!!</title>
      <link>https://omnil.tistory.com/194</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[가벼운&amp;nbsp;외국어]&amp;nbsp;초기&amp;nbsp;시작&amp;nbsp;가이드!!&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;얼마전부터 가벼운 외국어 학습지로 프랑스어를 시작하였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;분명히 이것저것 제공하는 것도 많고, 정말 가볍게 하루 20분 남짓으로 일주일에 평일 딱 5일만 공부하는 건 너무 좋습니다만, 문제는 너무 제공하는것이 많은데 비해 제대로 된 가이드가 없어서 조금 아쉽다는 생각이 들었죠..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서! 뚜둔! 직접 공부하면서 경험한 내용을 여기서 풀어보겠습니다!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 초반에 가이드가 좀 부실하여 여기저기 많이 헤맸지만, 제 경험을 바탕으로 더 수월하게 공부하실 수 있기를 바랍니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 프랑스어가 기준이니까 프랑스어를 기준으로 설명하겠지만 다른 언어들도 어느정도 비슷하지 않을까 싶습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 그럼 시작해보죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1) 대망의 결제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 귀차니즘을 이겨내고, 새로운 도전에 대한 갈망으로 이런저런 고민을 거듭하다 나름 비싸다면 비싼 돈을 들여 '가벼운 외국어'를 결제한 당신! 짝짝짝! 시작이 반이라는 말처럼 정말 큰 한보를 내디디신 겁니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데, 딱 결제를 하고 막상 뭘 해야 할지 모르는 사태가 벌어집니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 택배가 온다고는 했는데, 그럼 택배가 올때까지 기다려야 하는건가...?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아닙니다! 강의는 결제한 그 순간부터 볼 수 있습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 교재없이 강의부터?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 조금 기분이 좀 그렇죠..?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2) 발음 강의부터!&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 그럴땐 각 언어마다 '파닉스' 혹은 '발음' 강의가 있을 것입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 파닉스도 교재가 있긴 합니다만, '발음'강의이기 때문에 수업을 들을 때 교재가 아주 큰 비중을 차지하지는 않습니다! 또한 일단 수강하고 나중에 교재를 받고나서 복습차원에서도 좋지요! 발음은 정말 중요하니까요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 일단 결제를 바로 하자마자, 발음 강의부터 들읍시다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리의 열정이 택배를 기다리며 사그라들기 전 일단 더 불을 피우는거죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;발음 강의도 한두강으로 끝나는게 아니라, 강의가 10강 내외로 꽤 됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 프랑스어의 경우 파닉스 강의가 두개나 되죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 제 추천은 일단 '나의 가벼운 프랑스어 파닉스북' 강의를 먼저 들으시는 걸 추천드립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 다 들으면 '파비앙의 프랑스어 원어민 발음' 강의를 이어서 들으셔서 복습과 함께 원어민 선생님의 발음도 한번 더 듣구요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 교재가 오면 다시 '나의 가벼운 프랑스어 파닉스북' 강의를 들으시면서 복습을 하시거나, 교재만 가지고 한번 빠르게 복습을 해보시는 걸 추천드립니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3) 그다음은?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음부터는 그래도 가이드가 좀 있습니다. 첫 택배를 받으시면 그 안에 작은 리플렛으로 '활용 백서'라는게 있습니다. 이걸 읽으시면 그 다음부터는 좀 가이드가 되는데, 사실 이 전이 가이드가 없어서 제가 포스팅을 쓰게 됐죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 간단하게 말씀드리면, 프랑스어는 '나의 가벼운 프랑스어 Level 1'부터 'Level 4'까지가 스타터팩입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스타터팩만 결제하신분은 이렇게까지만 들으시면 되고, '회화팩'을 결제하신 분은 이 과정을 수료하신 뒤 '가벼운 프랑스어 회화 패턴 A1'으로 회화로 들어가게 됩니다. 그리고 이때는 '회화 패턴 A1 트레이닝'이라는 강의가 있어서 같이 병행하시고, 다 들으시면 'A2'로 승급!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가적으로 '기적팩'을 결제하시면 이 다음 단계인 'B1'까지 들으시면 됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4) 마무으리..&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 어떻게 보자면 정규 과정? 이라고 볼 수 있는 Level 1~4, A1~2, B1까지 설명을 드렸는데, 사실 이 포스팅을 처음 쓰게 된 계기는 처음에 결제하고 택배오기까지 뭘 어떻게 해야할지 몰라서 그냥 넋놓고 기다리다 결국 택배를 받고 첫 강의를 들었는데 뭘 들어야 할지 모르겠으며, 당장 Level 1 첫강의를 켜자마자 발음을 그냥 확~ 넘어가시는 바람에 진짜 한번에 강의 세개를 동시에 들어가면서 고생했던 기억이있어서 쓰게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저의 작은 글이지만, 앞으로 외국어 공부하시는 분들에게 도움이 되길 바라며! 모두모두 화이팅입니다!&lt;/p&gt;</description>
      <category>Languages/French</category>
      <category>가벼운외국어</category>
      <category>가벼운프랑스어</category>
      <category>가벼운학습지</category>
      <category>강의</category>
      <category>발음</category>
      <category>파닉스</category>
      <category>학습지</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/194</guid>
      <comments>https://omnil.tistory.com/194#entry194comment</comments>
      <pubDate>Thu, 24 Nov 2022 17:52:54 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] 라이브러리 추가하기!</title>
      <link>https://omnil.tistory.com/193</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[Arduino/아두이노]&amp;nbsp;라이브러리&amp;nbsp;추가하기!&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요~ 오랜만에 다시 포스팅으로 돌아왔습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저번시간까지 프로젝트 진행을 위한 아주 기본적인 세팅을 모두 다 끝마쳤는데요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 여기서 한발 더 나가서, 프로젝트에 사용하는 라이브러리까지 IDE에 추가하여 완전한 프로젝트를 진행할 수 있게 해보도록 하겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 라이브러리란, 가장 쉽게 얘기해서 '미리 코딩된 코드'라고 볼수있죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 하나하나 아주 세심하게 바닥에서 부터 만들어가야하는 것이 아니라, 이미 누군가가 모래성을 만들어 놓은 것을 저장한것이라고 보면 됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 우리는 이 모래성을 가지고 와서 거기다가 집도 짓고, 첨탑도 세우고 할 수 있는 거죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아주 강력하지요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 이제부터 라이브러리를 추가해보도록 하겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라이브러리를 추가하는 방법에는 두가지가 있는데요, 하나는 압축파일을 그대로 불러오는 방식과, 폴더를 이동시키는 방식 두가지가 있습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차례대로 알아볼께요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 아두이노 보드를 연결해주시고, 기본 세팅을 마치시고~ 이제 시작합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 압축파일을 라이브러리로 추가하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 보통 인터넷에서 라이브러리를 다운받으면 압축파일 상태일것입니다. 그러면 이 상태에서 압축을 풀지 마시고, 바로 아두이노 IDE&amp;gt;Sketch&amp;gt;Include Library&amp;gt;Add .ZIP Library...를 선택합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;307&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beWwaa/btrQZzZwiu2/xBkQ9Vynw5PS2XtgK8Y2gK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beWwaa/btrQZzZwiu2/xBkQ9Vynw5PS2XtgK8Y2gK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beWwaa/btrQZzZwiu2/xBkQ9Vynw5PS2XtgK8Y2gK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeWwaa%2FbtrQZzZwiu2%2FxBkQ9Vynw5PS2XtgK8Y2gK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;567&quot; height=&quot;307&quot; data-origin-width=&quot;567&quot; data-origin-height=&quot;307&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 그러면 바로 파일 선택창이 나오는데, 여기서 다운받은 폴더로 가셔서 압축파일 상태의 라이브러리를 선택해줍니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 저는 LiquidCrystal_I2C라고하는, LCD를 좀 더 쉽게 사용하는 라이브러리를 추가해보도록하겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일위치는 바탕화면입니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;959&quot; data-origin-height=&quot;559&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ouDuY/btrQ0Ryawdg/9vPRKq53vh5mdF9kXvTmzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ouDuY/btrQ0Ryawdg/9vPRKq53vh5mdF9kXvTmzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ouDuY/btrQ0Ryawdg/9vPRKq53vh5mdF9kXvTmzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FouDuY%2FbtrQ0Ryawdg%2F9vPRKq53vh5mdF9kXvTmzK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;959&quot; height=&quot;559&quot; data-origin-width=&quot;959&quot; data-origin-height=&quot;559&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) 자, 이렇게 선택하고, 열기를 눌러주면, 아래쪽에 검은 화면이 나오면서 Library Installed라고 뜰 겁니다. 이러면 라이브러리 설치가 완료 된 것이지요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1232&quot; data-origin-height=&quot;250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmyovJ/btrQ4bvBuSx/w6Q6yS2CetbzUo3k7GHIok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmyovJ/btrQ4bvBuSx/w6Q6yS2CetbzUo3k7GHIok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmyovJ/btrQ4bvBuSx/w6Q6yS2CetbzUo3k7GHIok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmyovJ%2FbtrQ4bvBuSx%2Fw6Q6yS2CetbzUo3k7GHIok%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1232&quot; height=&quot;250&quot; data-origin-width=&quot;1232&quot; data-origin-height=&quot;250&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4) 혹시 'Error: Request installZip failed with message: 13 INTERNAL: Library install failed: reading directory C:\Users\user\AppData\Local\Temp\arduino-cli-lib-3127149921\LiquidCrystal_I2C-master.zip content: %!!(MISSING)w(*fs.PathError=&amp;amp;{readdir C:\Users\user\AppData\Local\Temp\arduino-cli-lib-3127149921\LiquidCrystal_I2C-master.zip 3})' 이와 같은 에러가 발생한다면, 라이브러리 압축파일 안에, 다시 압축이 되지 않았는지 확인해보세요!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;570&quot; data-origin-height=&quot;149&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XPSG5/btrQZP2bqFV/xNA9G72Z4ofWc9VRTUsTYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XPSG5/btrQZP2bqFV/xNA9G72Z4ofWc9VRTUsTYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XPSG5/btrQZP2bqFV/xNA9G72Z4ofWc9VRTUsTYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXPSG5%2FbtrQZP2bqFV%2FxNA9G72Z4ofWc9VRTUsTYK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;570&quot; height=&quot;149&quot; data-origin-width=&quot;570&quot; data-origin-height=&quot;149&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라이브러리는 압축파일상태에서 압축을 열어보면(압축을 풀려고 더블 클릭 해보면) 파일과 폴더들이 보여야 합니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;64&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coz4bK/btrQZ4x0Rxr/FOBqUu0y4Ic9ATV7Us4sTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coz4bK/btrQZ4x0Rxr/FOBqUu0y4Ic9ATV7Us4sTK/img.png&quot; data-alt=&quot;압축 파일을 열었을 때 이렇게 나오면 안되구요!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coz4bK/btrQZ4x0Rxr/FOBqUu0y4Ic9ATV7Us4sTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcoz4bK%2FbtrQZ4x0Rxr%2FFOBqUu0y4Ic9ATV7Us4sTK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;661&quot; height=&quot;64&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;64&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;압축 파일을 열었을 때 이렇게 나오면 안되구요!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;205&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceQKzs/btrQ0vB78fI/JATw43l9IekKjSdQCHG2r1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceQKzs/btrQ0vB78fI/JATw43l9IekKjSdQCHG2r1/img.png&quot; data-alt=&quot;요렇게 나와야 합니다!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceQKzs/btrQ0vB78fI/JATw43l9IekKjSdQCHG2r1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceQKzs%2FbtrQ0vB78fI%2FJATw43l9IekKjSdQCHG2r1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;629&quot; height=&quot;205&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;205&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;요렇게 나와야 합니다!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 폴더를 옮기기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 만약 압축을 풀었다! 그러면 어떻게 해야하나!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹은, 지금 있는 라이브러리가 폴더로 밖에 없어요~!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하는 상황이시라면, 이럴때도 방법이 있죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 일반적으로 사용하는 방법은 아니기에 조금은 복잡할 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차근차근 설명을 따라오시죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 아두이노를 설치하게 되면 기본적으로 '문서' 폴더(기본 윈도우 폴더입니다!)에 Arduino라는 폴더가 생깁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 처음 설치했을 때는 여기 들어가면 아무것도 보이지 않지만, 라이브러리를 위의 압축방식으로 설치하게되면 바로 'Libraries'라고하는 폴더가 생성됩니다. 그리고 그 안에 압축파일이 풀린 상태로 폴더로 있는 것을 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) 여기서 착안하여, 아무것도 없는 Arduino 폴더에서 'Libraries'라는 폴더를 새로 만들고(이미 있다면 그 폴더로 들어가셔서) 여기에 압축이 풀린 폴더를 그대로 옮겨 놓으시면 됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4) 위에서 zip파일로 설치한 것과 똑같이 라이브러리 코드를 사용하실 수 있습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이렇게 라이브러리 파일이 설치되면, 프로그래밍 코드를 작성할 때 라이브러리 코드를 이용할 수 있게 됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제, 라이브러리를 이용해서 코딩을 해 볼까요!?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음에 보아요~~&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>arduino</category>
      <category>LCD</category>
      <category>Library</category>
      <category>LiquidCrystal_I2C</category>
      <category>라이브러리</category>
      <category>아두이노</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/193</guid>
      <comments>https://omnil.tistory.com/193#entry193comment</comments>
      <pubDate>Sat, 12 Nov 2022 18:21:26 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] 아두이노 기본 프로젝트로 보드 작동 확인해보기</title>
      <link>https://omnil.tistory.com/192</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[Arduino/아두이노]&amp;nbsp;아두이노&amp;nbsp;기본&amp;nbsp;프로젝트로&amp;nbsp;보드&amp;nbsp;작동&amp;nbsp;확인해보기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요~ 오늘은 세번째 시간으로 아두이노 IDE에서 제공하는 기본 프로젝트를 아두이노에 보내서 실행시켜보고, 제대로 실행되는지 확인해보며, 추가적으로 이때 발생할 수 있는 에러에 대해서 알아보도록 하겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 현재 시작하는 부분은 아래와 같이 아두이노 IDE에 보드와 포트가 잡힌 상태입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjnzCd/btrQKbvU5Ld/gfUc6LJ7l7spKi90lmKOm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjnzCd/btrQKbvU5Ld/gfUc6LJ7l7spKi90lmKOm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjnzCd/btrQKbvU5Ld/gfUc6LJ7l7spKi90lmKOm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjnzCd%2FbtrQKbvU5Ld%2FgfUc6LJ7l7spKi90lmKOm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 기본프로젝트 만들기!&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아두이노 IDE에서는 아주 간단한 여러가지 기본 프로젝트들을 제공합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 그중 대부분은 추가적인 부품들을 요구합니다. 가장 간단한건 LED 혹은 버저를 이용한 프로젝트 일 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 이 중 아주 간단하게 아두이노 자체 램프를 깜빡거리는 아주아주 간단한 프로젝트가 하나 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 'Blink'라는 프로젝트인데요. 이 프로젝트를 이용하면 내 보드가 아두이노 IDE와 잘 연결되었는지, 혹은 내 아두이노 IDE에서 보드로 제대로 프로그램이 전달되고 실행되는지를 확인해 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 바로 Blink 프로젝트를 만들어볼까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 File&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink를 클릭합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buDres/btrQE5dq4x7/SOc2eR0odzv1tvB9BV23kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buDres/btrQE5dq4x7/SOc2eR0odzv1tvB9BV23kK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buDres/btrQE5dq4x7/SOc2eR0odzv1tvB9BV23kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuDres%2FbtrQE5dq4x7%2FSOc2eR0odzv1tvB9BV23kK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이렇게 누르면 바로 새 창이 하나 뜨면서 블링크 프로젝트가 하나 생성될 것입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k4fai/btrQJcbjVZN/eIX7g2xb1ySywrXMgD7pT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k4fai/btrQJcbjVZN/eIX7g2xb1ySywrXMgD7pT0/img.png&quot; data-alt=&quot;새로 생성된 블링크 스케치&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k4fai/btrQJcbjVZN/eIX7g2xb1ySywrXMgD7pT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk4fai%2FbtrQJcbjVZN%2FeIX7g2xb1ySywrXMgD7pT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;새로 생성된 블링크 스케치&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자 프로젝트 코드는 생성되었습니다. 그럼 이걸 우리는 어떻게 아두이노로 보낼까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 코드 검증하고 보드로 업로드하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 코드가 먼저 생성되었으면 우리는 '검증(Verify)'이라는 체크 버튼을 통해서 이 코드가 제대로 잘 작성 된 것인지 확인해 볼 것입니다. 전문적인 프로그래밍 용어로는 '컴파일(Compile)'이라고도 하죠!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5rVX2/btrQITiZF1E/Yvfr8rKzGDjm5jjhLPLVTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5rVX2/btrQITiZF1E/Yvfr8rKzGDjm5jjhLPLVTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5rVX2/btrQITiZF1E/Yvfr8rKzGDjm5jjhLPLVTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5rVX2%2FbtrQITiZF1E%2FYvfr8rKzGDjm5jjhLPLVTk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이 버튼을 누르면 아래쪽에 검은 화면이 생기면서 오른쪽 아래 흰색 공간에서 무언가가 차오르다가 'Done compiling.'이라는 문구가 나올 겁니다. 이게 바로 컴파일이 다 되었다는 것이죠. 이렇게 떴을 경우 현재 우리가 작성한 코드는 에러가 없으며 제대로 실행가능한 코드입니다~ 라는 뜻이 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bL2BTH/btrQIt5JJJG/nrNksr7Xo6uGk6W8TWKHjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bL2BTH/btrQIt5JJJG/nrNksr7Xo6uGk6W8TWKHjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bL2BTH/btrQIt5JJJG/nrNksr7Xo6uGk6W8TWKHjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbL2BTH%2FbtrQIt5JJJG%2FnrNksr7Xo6uGk6W8TWKHjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약에 에러가 발생하면(저는 일부러 delay함수에서 d를 지워보았습니다) 아래쪽에 빨간글씨가 뜨면서 어디가 에러가 발생했는지 알려주죠!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtLHEM/btrQI3Tg9fN/mTEkZI8J3SiNWrYwjF32j1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtLHEM/btrQI3Tg9fN/mTEkZI8J3SiNWrYwjF32j1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtLHEM/btrQI3Tg9fN/mTEkZI8J3SiNWrYwjF32j1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtLHEM%2FbtrQI3Tg9fN%2FmTEkZI8J3SiNWrYwjF32j1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 어찌됐든 성공적으로 verify가 끝났으면, 이제 아두이노 보드로 이 실행파일을 옮겨줘서 아두이노가 실행하게 해야겠죠?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 쓰이는 버튼이 업로드(Upload)버튼입니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kwKK6/btrQI36MxAk/Beft5YutnWOLuzXOKiU0Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kwKK6/btrQI36MxAk/Beft5YutnWOLuzXOKiU0Kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kwKK6/btrQI36MxAk/Beft5YutnWOLuzXOKiU0Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkwKK6%2FbtrQI36MxAk%2FBeft5YutnWOLuzXOKiU0Kk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 업로드 버튼을 누르면 이 소스코드가 실행파일 형태로 바뀌어서 아두이노 보드로 보내지고, 잠시 기다리면 아두이노 보드의 주황색 불빛이 깜빡거리는 걸 보실 수 있습니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l93rd/btrQJpIf6o2/OqKruzByBedPFR13BkUpTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l93rd/btrQJpIf6o2/OqKruzByBedPFR13BkUpTk/img.png&quot; data-alt=&quot;오른쪽 아래 첫번째 하얀 박스인 Uploading...이 Done uploading으로 바뀌면 아두이노에서 불빛이 깜빡이기 시작합니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l93rd/btrQJpIf6o2/OqKruzByBedPFR13BkUpTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl93rd%2FbtrQJpIf6o2%2FOqKruzByBedPFR13BkUpTk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;오른쪽 아래 첫번째 하얀 박스인 Uploading...이 Done uploading으로 바뀌면 아두이노에서 불빛이 깜빡이기 시작합니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1246&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RyP38/btrQJoCDhIs/VDkJvj3jKQKYsSkPT4l50k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RyP38/btrQJoCDhIs/VDkJvj3jKQKYsSkPT4l50k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RyP38/btrQJoCDhIs/VDkJvj3jKQKYsSkPT4l50k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRyP38%2FbtrQJoCDhIs%2FVDkJvj3jKQKYsSkPT4l50k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1246&quot; height=&quot;404&quot; data-origin-width=&quot;1246&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 불빛이 깜빡거리면 성공입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여담으로 Upload 버튼을 누르면 컴파일을 진행하고 나서 바로 업로드를 하는것이니 굳이 Verify 버튼을 누를 필요 없지 않나 하시는 분들!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 소스코드가 간단하니 에러가 발생할 확률이 적지만, 나중에 큰 프로젝트를 하면 지금 내가 짠 코드가 맞는지 틀린지 중간중간 확인해봐야 한답니다! 그때 쓰는것이 바로 Verify!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 여기까지 아두이노 개발 환경을 깔고, 보드와 연결하고, 실제로 개발환경에서 소스코드를 짜서 아두이노 보드로 보내 제대로 실행되는 것까지 살펴보았습니다. 결국 이 말은 이제부터 실제로 컴퓨터에서 짠 소스코드로 아두이노를 제어할 수 있게 되었다는 것이죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제부터는 아두이노 개발 환경으로 여러 코드를 짜고, 아두이노 보드에 또 여러 부품들을 연결하여 소스 코드가 컴퓨터에서만 작동하는 것이 아니라, 실제 오프라인 환경에서도 작동되는 프로젝트를 하실 수 있게 된겁니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제서야 출발선상에 섰네요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음에는 여러 부품들과 관련된 코드들로 찾아뵙도록 하겠습니다~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아, 물론 그전에 아두이노 연결 과정에서 가장 흔하게 발생하는 에러들을 한번 살펴보려고 합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 아두이노 연결 과정에서 가장 흔하게 발생하는 에러들&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1) 보드, 포트 선택 다했는데 아두이노랑 연결이 안된대요~&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 당황스러운 오류 중 하나죠.. 보통 오류 메시지는 아래와 같습니다&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;스케치를&amp;nbsp;업로드&amp;nbsp;하는&amp;nbsp;동안&amp;nbsp;에러가&amp;nbsp;발생하였습니다. &lt;br /&gt;An&amp;nbsp;error&amp;nbsp;occurred&amp;nbsp;while&amp;nbsp;uploading&amp;nbsp;the&amp;nbsp;sketch &lt;br /&gt;시리얼&amp;nbsp;포트&amp;nbsp;'COM1'&amp;nbsp;를&amp;nbsp;여는데&amp;nbsp;에러&amp;nbsp;발생&amp;nbsp;(Port&amp;nbsp;busy) &lt;br /&gt;Error&amp;nbsp;opening&amp;nbsp;serial&amp;nbsp;port&amp;nbsp;'COM1'.&amp;nbsp;(Port&amp;nbsp;busy)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 저번시간에 살짝 언급했던 ch340 호환 보드 즉, 아두이노 정품 보드가 아닌 흔히 말하는 중국산 짭보드(..) 일때 발생하는 에러입니다. 보통 아두이노 나노에서 가장 흔하게 발생하는데요(다른 보드들은 호환을 시켜주는데 아무래도 나노가 AVR이 작아서 그런가 나노에서 가장 흔하게 발생하네요..) 아주 간단하게 ch340드라이버를 깔아주면 해결됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ch340드라이버는 &lt;a href=&quot;https://www.wch.cn/download/CH341SER_EXE.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.wch.cn/download/CH341SER_EXE.html&lt;/a&gt;에서 받으실 수 있습니다. 중국사이트라고 겁먹지 마시고, 바로 다운로드 버튼을 눌러 다운받은 뒤 설치해주시면 됩니다. 크롬의 경우 사이트 접속과 동시에 한국어로 번역해주니 더 편합니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;883&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FG3Ir/btrQFYyvkmx/afdJbKorFznkCvKAdbGFBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FG3Ir/btrQFYyvkmx/afdJbKorFznkCvKAdbGFBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FG3Ir/btrQFYyvkmx/afdJbKorFznkCvKAdbGFBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFG3Ir%2FbtrQFYyvkmx%2FafdJbKorFznkCvKAdbGFBk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;883&quot; height=&quot;440&quot; data-origin-width=&quot;883&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2) 업로드까지 진행했는데, 보드에서 작동이 안돼요~&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;흔하지 않은 오류입니다만, 가끔씩 보드와 다른 AVR이 얹어진 경우 발생하는 에러입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때는 'Tools'&amp;gt;Programmer&amp;gt;Arduino as ISP를 지정해주시거나 이렇게 지정해도 작동하지 않으면 Arduino as ISP (ATmega32U4)를 지정해주시면 해결되는 경우가 많습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rUTYQ/btrQHB38od6/q2jIfPgf6oxo0esBAWkEMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rUTYQ/btrQHB38od6/q2jIfPgf6oxo0esBAWkEMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rUTYQ/btrQHB38od6/q2jIfPgf6oxo0esBAWkEMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrUTYQ%2FbtrQHB38od6%2Fq2jIfPgf6oxo0esBAWkEMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 흔하게 발생하는 에러까지 살펴보았습니다! 이제 우리는 다음강의에서 보아요~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕~&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>arduino</category>
      <category>Blink</category>
      <category>CH340</category>
      <category>error</category>
      <category>Project</category>
      <category>블링크</category>
      <category>아두이노</category>
      <category>에러</category>
      <category>컴파일</category>
      <category>프로젝트</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/192</guid>
      <comments>https://omnil.tistory.com/192#entry192comment</comments>
      <pubDate>Tue, 8 Nov 2022 17:52:18 +0900</pubDate>
    </item>
    <item>
      <title>[Arduino/아두이노] 아두이노 보드 연결하여 기본 세팅 및 포트 설정하기</title>
      <link>https://omnil.tistory.com/191</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[Arduino/아두이노] 아두이노 보드 연결하여 기본 세팅 및 포트 설정하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:795537,&quot;trackingCode&quot;:&quot;AF6917826&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;680&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저번 포스팅인 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://omnil.tistory.com/190&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;[아두이노/Arduino] 아두이노 IDE(통합 개발 환경, Integrated Development Environment) 다운받고 설치하고 실행하기&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;에 이어 두번째 시간! 아두이노 개발환경을 받았으니, 아두이노 보드를 연결하고 포트를 설정하여 기본 프로젝트를 구동시켜보겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 쉬우니 그냥 팔로팔로미!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 아두이노 보드 설명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이제 단순히 소프트웨어 뿐만 아니라 아두이노 라고 하는 하드웨어 보드가 추가되는데요, 그만큼 어떻게보자면 컴퓨터 환경인 온라인과 하드웨어인 오프라인을 넘나들며 설명을 해야 합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 포트설정과 기본 세팅에 앞서 어떤 아두이노 보드를 사용하는지가 조금 중요해 집니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 지금 '&lt;a href=&quot;https://link.coupang.com/a/E66Sp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;아두이노 메가 2560&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;'과 '&lt;a href=&quot;https://link.coupang.com/a/E67p7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;아두이노 우노&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;' 그리고 '&lt;a href=&quot;https://link.coupang.com/a/E664h&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;아두이노 나노&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;' 세가지 보드를 쓰고있습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일부러 판매 사이트로 링크를 걸어놨는데요, 인터넷에서 specification을 찾는 것보다 판매 사이트에서 설명되어있는 부분이 더 자세하기에 링크를 걸었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적인 차이점은 가장 큰것이 크기인데요, 나노가 가장 작고 그다음이 우노 그리고 메가2560이 제일 큽니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당연히 포트 수도 메가2560이 가장 많구요, 마이크로 프로세서(마이크로 컨트롤러 혹은 ARM 혹은 AVR: 넷 다 비슷한 용어입니다.)의 강력함도 메가2560이 가장 크죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 크다고 마냥 좋은건가 하면 아니죠. RC카라던가 라인 트레이서 같이 움직이는 것 안에 내장하여 쓰려면 나노처럼 작고 가벼운 것이 좋겠죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 여기서 가장 큰 부분이 공식 아두이노 보드가 아닌 중국에서 아두이노 호환보드로 제작한 ch340 칩이 약간 문제가 되는데요, 일단은 기본 세팅과 포트설정 후 기본 프로젝트를 구동해 보는 과정에서 에러사항을 한번 살펴보겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 일단 여기서 가장 사람들이 입문으로 많이 쓰는 아두이노 우노로 설정을 진행하도록 하겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;먼저 &lt;span style=&quot;color: #ee2323;&quot;&gt;아두이노 보드&lt;/span&gt;를 &lt;span style=&quot;color: #ee2323;&quot;&gt;컴퓨터&lt;/span&gt;에 &lt;span style=&quot;color: #ee2323;&quot;&gt;연결&lt;/span&gt;&lt;/b&gt;해주세요!(아두이노 보드와 동봉된 USB 선으로 아두이노에는 USB type A(육각형으로 집처럼 생긴 모양)를 컴퓨터에는 USB type B(우리가 아는 usb 모양)를 연결해주시면 됩니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://link.coupang.com/a/E7ckA&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;이렇게 생긴 선&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;일겁니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 보드 선택하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 처음으로 아두이노 IDE를 키셨다면 바로 아래와 같은 화면이 나올 것 입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H3SWN/btrQD9SXVdH/8jfSdpnsABJYBCIosIVWqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H3SWN/btrQD9SXVdH/8jfSdpnsABJYBCIosIVWqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H3SWN/btrQD9SXVdH/8jfSdpnsABJYBCIosIVWqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH3SWN%2FbtrQD9SXVdH%2F8jfSdpnsABJYBCIosIVWqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 여기서 오른쪽 아래 표시된 것과 같이 'No board selected'라고 표시됩니다. 즉, 아두이노 보드가 선택되지 않았다는 것인데요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 저희는 메뉴에 'Tools'&amp;gt;'Board'&amp;gt;'Arduino AVR Boards'를 차례대로 선택하면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dPRNj5/btrQBKfJboe/PL3TYzg7P14HE8EJE1AIy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dPRNj5/btrQBKfJboe/PL3TYzg7P14HE8EJE1AIy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dPRNj5/btrQBKfJboe/PL3TYzg7P14HE8EJE1AIy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdPRNj5%2FbtrQBKfJboe%2FPL3TYzg7P14HE8EJE1AIy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와같이 엄청나게 많은 아두이노 보드들이 보이게 됩니다. 저는 'Uno' 였으니까 위에서 두번째 'Arduino Uno'를 선택해줄 거구요, 나노나 메가도 메뉴에 보이는 Arduino Nano, Arduino Mega를 각각 선택해주시면 되겠습니다. 그외에도 여러 보드를 선택할 수 있으니, 결국 내가 지금 가지고 있는 보드가 무엇인지 확인하는게 가장 중요하겠죠!?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이렇게 선택하면 아까 보았던 상태표시줄 우측이 선택한 보드명으로 바뀌는 것을 볼 수 있습니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d358kS/btrQEsdMrbo/KH5WKHwibxuEBdZmTkmS3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d358kS/btrQEsdMrbo/KH5WKHwibxuEBdZmTkmS3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d358kS/btrQEsdMrbo/KH5WKHwibxuEBdZmTkmS3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd358kS%2FbtrQEsdMrbo%2FKH5WKHwibxuEBdZmTkmS3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 이 보드를 잘 못 설정하게 되면 각 AVR마다 명령어 체계가 약간은 다른데 그것을 보정할 수 없어 컴파일이 안되거나, 실행이 되지 않습니다! 혹시 컴파일이 안되거나 보드로 실행이 안되는 경우는 한번 이 보드 설정을 제대로 하셨나 확인해보시는 것도 한가지 방법입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 여기서 잘 살펴보면 'not connected'라고도 나와있는 걸 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 물리적으로 현재 아두이노 우노 보드와 컴퓨터가 연결되어 있음에도 볼 수 있는데요, 그 이유는 포트 설정이 되지 않아, 아두이노 IDE가 아두이노 보드가 현재 컴퓨터에 연결되었음을 알지 못하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 포트 선택하기!&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;눈치채신 분들도 있겠지만, 포트는 'Tools'의 'Board' 아래 있습니다. 근데 혹시나 'Port'가 안보이시는 분들은 IDE를 끄고, 아두이노 보드를 먼저 컴퓨터에 연결하신 다음 아두이노 IDE를 다시 실행시켜 주시고 2번 보드 설정부터 다시 해주시면 됩니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oD7EI/btrQFZPJ4V4/ayXGe2aaF2UPxKWkQoDMY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oD7EI/btrQFZPJ4V4/ayXGe2aaF2UPxKWkQoDMY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oD7EI/btrQFZPJ4V4/ayXGe2aaF2UPxKWkQoDMY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoD7EI%2FbtrQFZPJ4V4%2FayXGe2aaF2UPxKWkQoDMY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이렇게 포트를 누르면 자동으로 아두이노 보드가 연결된 포트(COM5)를 보여줍니다. 여기서 포트 명(COM5)는 크게 의미는 없습니다. 보통 대부분의 사람들은 COM3로 뜨지만, 포트가 다른데 연결되어있거나 하면 포트명은 달라질 수 있습니다. 그러나 중요한건 여기서 괄호 안에 본인이 사용하는 아두이노 보드명이 일치하는지만 잘 확인하시고, 일치한다면 그 포트로 사용해주시면 됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자 이렇게 포트까지 설정해주면, 아두이노 보드와 연결이 되게되고, 오른쪽 아래가 'Arduino Uno on COM5'라고 바뀌게 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ROCDY/btrQDFq1Xwk/w7i5rU1nvIf0NZDx6PrSck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ROCDY/btrQDFq1Xwk/w7i5rU1nvIf0NZDx6PrSck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ROCDY/btrQDFq1Xwk/w7i5rU1nvIf0NZDx6PrSck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FROCDY%2FbtrQDFq1Xwk%2Fw7i5rU1nvIf0NZDx6PrSck%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;713&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;713&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 이제 보드와 IDE가 연결되었습니다. 아주 기본적인 프로젝트를 할 수 있게 되었네요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좀 더 하고 싶지만, 일단 포스팅 길이가 너무 길어질 것 같아 다음으로 넘겨야겠네요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음시간에는 아주 기본적인 프로젝트를 하나 만들고 컴파일해서 아두이노 보드로 보내고, 보드에서 작동하는지 확인하며, 그 과정에서 일어날 수 있는 아주 기본적이지만 당혹스러운(그리고 자주 나타나는) 문제들을 짚어보겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음에 보아요~&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;이&amp;nbsp;포스팅은&amp;nbsp;쿠팡&amp;nbsp;파트너스&amp;nbsp;활동의&amp;nbsp;일환으로,&amp;nbsp;이에&amp;nbsp;따른&amp;nbsp;일정액의&amp;nbsp;수수료를&amp;nbsp;제공받습니다.&lt;/span&gt;&lt;/p&gt;

&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:795537,&quot;trackingCode&quot;:&quot;AF6917826&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;680&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>arduino</category>
      <category>Board</category>
      <category>Port</category>
      <category>uno</category>
      <category>나노</category>
      <category>메가</category>
      <category>보드</category>
      <category>아두이노</category>
      <category>우노</category>
      <category>포트</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/191</guid>
      <comments>https://omnil.tistory.com/191#entry191comment</comments>
      <pubDate>Mon, 7 Nov 2022 20:44:27 +0900</pubDate>
    </item>
    <item>
      <title>[아두이노/Arduino] 아두이노 IDE(통합 개발 환경) 다운받고 설치하고 실행하기</title>
      <link>https://omnil.tistory.com/190</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[아두이노/Arduino] 아두이노 IDE(통합 개발 환경, Integrated Development Environment) 다운받고 설치하고 실행하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요! 한동안 아두이노를 가지고 개발을 하다가 아주 잠~시 개발을 멈추고 다른일을 하다 다시 아두이노를 시작해보려고 합니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전에는 너무나도 당연하게 아두이노 통합 개발 환경이 깔려있었고, 당연하게 모든 설정이 다 되어있었다면, 이제 다시 시작하는 마당에 컴퓨터도 너무나도 깔~끔하게 설치가 제거되어있고, 설정도 없으니 이제 제가 다시 다 깔고 설치해야합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런 의미에서 다시 시작하는 제 과정을 블로그에 공유합니다. 혹~시나 이 글을 보시는 여러분들께 작지만 큰 도움이 되었으면 좋겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 팔로팔로미!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 설치파일 다운 받기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 그럼 일단 먼저 설치 파일 부터 다운을 받아야겠죠?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1) 다운로드 사이트 접속!&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운로드 사이트에 접속하는 방법에는 크게 두가지가 있습니다. 하나는 여기에서 제공해드리는 링크로 바로 접속하시는 방법과, 두번째로는 검색사이트를 이용하는 방법이죠. 여기서 검색사이트는 '네이X'가 공식사이트 링크를 최상단에 올려주지 않기에 '구글'을 추천드립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#1&quot;&gt;1&amp;gt; 링크이용&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#2&quot;&gt;2&amp;gt; 검색엔진이용&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a name=&quot;1&quot;&gt;&lt;/a&gt;&lt;b&gt;1&amp;gt; 링크이용!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 페이지에 들어오셨다면! 가장 간단한건 제가 바로 링크를 달아드리는거겠죠!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과거 인터넷 혼란기?에는 진짜 검색창에 뭐 '다운로드'만 치면 진짜 불법사이트들이 난립을 해서, 잘못 받다가 컴 날려먹기 일수였는데요.. 요새는 사이트 정립도 잘 되어있고, 검색 사이트도 자체적으로 업데이트가 많이 되어 그런일은 별로 없는 것 같습니다.. 그래서 과거에는 무슨 소개글에 꼭 공식 홈페이지를 링크로 달아놨는데.. 요새는 필요가 없어보이지만, 그래도 저는 한번 달아보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.arduino.cc/en/software&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.arduino.cc/en/software&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1667700979506&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Software&quot; data-og-description=&quot;Open-source electronic prototyping platform enabling users to create interactive electronic objects.&quot; data-og-host=&quot;www.arduino.cc&quot; data-og-source-url=&quot;https://www.arduino.cc/en/software&quot; data-og-url=&quot;https://www.arduino.cc/en/software&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ANFM8/hyQtsYuCkz/omQ3WbIaU9k2OXkxNPVvaK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/EtZ2s/hyQtoV4a4p/NpKZUw4TPhGhy4ZK8GBRXK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/1RF0q/hyQtxMg2uI/rSnyixlbalXiAAWxg3FOkK/img.png?width=656&amp;amp;height=338&amp;amp;face=0_0_656_338&quot;&gt;&lt;a href=&quot;https://www.arduino.cc/en/software&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.arduino.cc/en/software&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ANFM8/hyQtsYuCkz/omQ3WbIaU9k2OXkxNPVvaK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/EtZ2s/hyQtoV4a4p/NpKZUw4TPhGhy4ZK8GBRXK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/1RF0q/hyQtxMg2uI/rSnyixlbalXiAAWxg3FOkK/img.png?width=656&amp;amp;height=338&amp;amp;face=0_0_656_338');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Software&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Open-source electronic prototyping platform enabling users to create interactive electronic objects.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.arduino.cc&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네! 여기로 접속해주시고 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#22&quot;&gt;2)번&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;으로 이동해주세요!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a name=&quot;2&quot;&gt;&lt;/a&gt;&lt;b&gt;2&amp;gt; 검색엔진 이용&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자, 먼저 구글을 이용해 볼까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1&amp;gt; 'Google' 검색창에 '아두이노 다운로드'검색&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2&amp;gt; 검색 후 제일 처음에 뜨는 링크인 'Software | Arduino'를 선택(여기서 주소가 &lt;a href=&quot;http://www.arduino.cc인지&quot;&gt;www.arduino.cc&lt;/a&gt;(공식사이트)인지 확인해보는 것도 팁!)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;842&quot; data-origin-height=&quot;301&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dfgfzv/btrQr6vZNDf/X0z4gJ2AAfkIgkkasH2Bek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dfgfzv/btrQr6vZNDf/X0z4gJ2AAfkIgkkasH2Bek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dfgfzv/btrQr6vZNDf/X0z4gJ2AAfkIgkkasH2Bek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdfgfzv%2FbtrQr6vZNDf%2FX0z4gJ2AAfkIgkkasH2Bek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;842&quot; height=&quot;301&quot; data-origin-width=&quot;842&quot; data-origin-height=&quot;301&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;여기서도 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#22&quot;&gt;2)번&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;으로 이동해주세요!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;네이버에서는 어떨까요?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;아쉽게도 네이버에서는 공식홈페이지로 연결이 되지 않고, 다른 사이트가 최상단에 뜹니다.. 그러니 가급적 구글을 이용해주시는게 좋습니다. 물론 네이버에서도 스크롤을 내리면 하단에 공식홈페이지 링크가 존재하긴합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;자, &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;#22&quot;&gt;2)번&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;으로 이동하도록 하죠! 공식홈페이지에서의 다운로드 입니다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span&gt;&lt;a name=&quot;22&quot;&gt;&lt;/a&gt;2) 홈페이지에서 다운로드!&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;1&amp;gt; 페이지가 영어라고 당황하지 말고! 오른쪽의 DOWNLOAD OPTIONS에서 Windows버전의 제일 윗 링크를 클릭해줍니다!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;920&quot; data-origin-height=&quot;544&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfMdnw/btrQr63OGV3/FLYzcCBOjQCZlvaxAojmC1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfMdnw/btrQr63OGV3/FLYzcCBOjQCZlvaxAojmC1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfMdnw/btrQr63OGV3/FLYzcCBOjQCZlvaxAojmC1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfMdnw%2FbtrQr63OGV3%2FFLYzcCBOjQCZlvaxAojmC1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;920&quot; height=&quot;544&quot; data-origin-width=&quot;920&quot; data-origin-height=&quot;544&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;여담!(무시하셔도 됩니다!)&lt;/span&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;여담으로 Arduino IDE 2.0.1이라는 것은 현재 아두이노 IDE의 버전입니다. 혹시라도 과거의 버전이 필요하신 분들은 스크롤을 내리면 Legacy IDE (1.8.X)와 Previous Releases가 있는&amp;nbsp; 것을 확인하실 수 있고, 이쪽 링크를 통해서 다운로드 받으시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;또한 다운로드 옵션에서 OS에 따른 윈도우, 리눅스, 맥OS를 빼고도 윈도우 안에서도 파일이 여러개로 나뉜 것을 볼 수 있는데, 윈도우에서 첫번째 링크와 두번째 MSI 링크는 둘다 설치파일을 다운로드 하며, ZIP file은 설치파일 없이 다운로드합니다. 혹시 윈도우에 아두이노가 설치되는 것이 싫다하시면 ZIP파일로 받으셔서 'Arduino IDE.exe'파일만 실행해주시면 됩니다. 그럼 설치과정 없이 바로 실행이 됩니다. 여기서 가끔 처음 실행시 무한 로딩(2.0.1버전 기준 아두이노 로고 무한 두근거림)이 걸리는 경우가 있는데 꺼주시면 잠시 후 windows defender에서 네트워크 차단 허용 메시지가 뜹니다. 이걸 허용 해주시고 다시 실행하시면 제대로 실행됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2&amp;gt; 기부창이 뜹니다. 저희가 돈이 많다면 아두이노에 기부를 해줄테지만.. 일단은 JUDT DOWNLOAD를 눌러 그냥 다운로드를 진행해줍니다! 다운로드 파일 선택창이 뜨고(이 곳을 잘 기억해주세요!) 저장 버튼을 누르면 바로 다운로드가 시작됩니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;671&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdiL14/btrQsFx9fGC/l90KzfEJZCYG1mNe1WJXXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdiL14/btrQsFx9fGC/l90KzfEJZCYG1mNe1WJXXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdiL14/btrQsFx9fGC/l90KzfEJZCYG1mNe1WJXXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdiL14%2FbtrQsFx9fGC%2Fl90KzfEJZCYG1mNe1WJXXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;654&quot; height=&quot;671&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;671&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 설치하기!&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운로드 받은 파일(arduino-ide_2.0.1_Windows_64bit.exe)을 더블클릭하여 실행하면 먼저 '사용권 계약'이 뜰겁니다. 여기서 '동의함' 누르시고 설치옵션 중 '사용자 선택'하는 부분에서 '전용'으로 선택하고 넘기세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 위치는 그냥 보통 자동으로 설정하는 값을 그대로 두고 설치합니다! 임의로 바꾸시면 나중에 다른 추가 프로그램 설치시 문제가 될 수도 있으니, 정말 부득이하게 꼭 바꿔야 하는 경우를 제외하고는 그냥 바로 '설치'를 눌러줍니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEZyWx/btrQtSD6lVr/uFIkgbw4EkM7EceKqLoi3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEZyWx/btrQtSD6lVr/uFIkgbw4EkM7EceKqLoi3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEZyWx/btrQtSD6lVr/uFIkgbw4EkM7EceKqLoi3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEZyWx%2FbtrQtSD6lVr%2FuFIkgbw4EkM7EceKqLoi3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;360&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6G9Rt/btrQsGcKbwJ/jQVdrXsasSWdqRVgq2hHF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6G9Rt/btrQsGcKbwJ/jQVdrXsasSWdqRVgq2hHF1/img.png&quot; data-alt=&quot;까만건 제 윈도우 아이디..&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6G9Rt/btrQsGcKbwJ/jQVdrXsasSWdqRVgq2hHF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6G9Rt%2FbtrQsGcKbwJ%2FjQVdrXsasSWdqRVgq2hHF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;360&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;까만건 제 윈도우 아이디..&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Tpzcw/btrQrHJ3Udu/XDJGxXajslsevi3a6vGEA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Tpzcw/btrQrHJ3Udu/XDJGxXajslsevi3a6vGEA1/img.png&quot; data-alt=&quot;중간에 빈공간은 제 윈도우 아이디..&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Tpzcw/btrQrHJ3Udu/XDJGxXajslsevi3a6vGEA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTpzcw%2FbtrQrHJ3Udu%2FXDJGxXajslsevi3a6vGEA1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;360&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;중간에 빈공간은 제 윈도우 아이디..&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 시작됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 5분여 좀 넘게 기다리다 보면 설치 완료 창이 뜹니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dpwLmC/btrQq4eFjJk/zQ4f1CaTI6NWHkogyucYs0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dpwLmC/btrQq4eFjJk/zQ4f1CaTI6NWHkogyucYs0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dpwLmC/btrQq4eFjJk/zQ4f1CaTI6NWHkogyucYs0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdpwLmC%2FbtrQq4eFjJk%2FzQ4f1CaTI6NWHkogyucYs0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;581&quot; height=&quot;360&quot; data-origin-width=&quot;581&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 실행까지 해볼까요? 'Arduino IDE 실행하기'에 체크표시 된 상태로 마침을 눌러줍니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서&amp;nbsp;가끔&amp;nbsp;처음&amp;nbsp;실행시&amp;nbsp;무한&amp;nbsp;로딩(2.0.1버전&amp;nbsp;기준&amp;nbsp;아두이노&amp;nbsp;로고&amp;nbsp;무한&amp;nbsp;두근거림)이&amp;nbsp;걸리는&amp;nbsp;경우가&amp;nbsp;있는데&amp;nbsp;꺼주시면&amp;nbsp;잠시&amp;nbsp;후&amp;nbsp;windows&amp;nbsp;defender에서&amp;nbsp;네트워크&amp;nbsp;차단&amp;nbsp;허용&amp;nbsp;메시지가&amp;nbsp;뜹니다.&amp;nbsp;이걸&amp;nbsp;허용&amp;nbsp;해주시고&amp;nbsp;다시&amp;nbsp;실행하시면&amp;nbsp;제대로&amp;nbsp;실행됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 실행 후!&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아두이노 창이 열리고 갑자기 윈도우에서 '띠로링'하면서 알림창이 여러개 뜹니다! 이때는 당황하지 말고 전부 '허용' 혹은 '설치'를 눌러주시면 되는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 처음 뜨는 알림창이 dpinst-amd64.exe을 허용할건지 여부입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 아두이노가 설치파일로 설치되었을 때 포트와 드라이버를 설정하고 설치하는 과정에서 Driver Package Installer가 작동하게 허용할거냐는 부분이니 당연히 '허용'을 눌러주시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음엔 순서대로 'Adafruit Industries LLC 포트(COM &amp;amp; LPT)', 'Arduino USB Driver', 'Genuino USB Driver'를 설치할건지 물어보는 창이 나오는데, 세개 다 설치를 눌러주시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 마지막으로 dpinst-amd64.exe 허용창이 한번 더 뜨는데, 허용 눌러주시면 아두이노 설치가 전부 끝납니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 재실행!&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 후 실행한 화면을 끄거나 해서 아두이노 IDE를 다시 실행하고 싶으신 경우 바탕화면에 자동으로 'Arduino IDE' 바로가기가 생성되었으니 이것을 클릭하여 실행해주시면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;78&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVRiv7/btrQrqBK0J3/TeDAKVfV7fOiP9FaCWGi4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVRiv7/btrQrqBK0J3/TeDAKVfV7fOiP9FaCWGi4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVRiv7/btrQrqBK0J3/TeDAKVfV7fOiP9FaCWGi4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVRiv7%2FbtrQrqBK0J3%2FTeDAKVfV7fOiP9FaCWGi4k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;78&quot; height=&quot;80&quot; data-origin-width=&quot;78&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네, 여기까지 아두이노 IDE(통합 개발 환경) 설치를 진행해 보았습니다! 이 다음에는 아두이노 기본 세팅과 포트설정, 그리고 Library 추가에 대해서 진행해보도록하겠습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 다음포스팅까지 안녕~~&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>arduino</category>
      <category>compiler</category>
      <category>IDE</category>
      <category>IntegratedDevelopmentEnvironment</category>
      <category>다운로드</category>
      <category>설치</category>
      <category>실행</category>
      <category>아두이노</category>
      <category>컴파일러</category>
      <category>통합개발환경</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/190</guid>
      <comments>https://omnil.tistory.com/190#entry190comment</comments>
      <pubDate>Sun, 6 Nov 2022 11:57:21 +0900</pubDate>
    </item>
    <item>
      <title>[리큐르] 힙노틱(HPNOTIQ)</title>
      <link>https://omnil.tistory.com/188</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[리큐르] 힙노틱(HPNOTIQ)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;힙노틱.jpg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;4032&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdt75h/btrrDw50V9P/QtS5hQ3vydEKcB9ao4OFF0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdt75h/btrrDw50V9P/QtS5hQ3vydEKcB9ao4OFF0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdt75h/btrrDw50V9P/QtS5hQ3vydEKcB9ao4OFF0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdt75h%2FbtrrDw50V9P%2FQtS5hQ3vydEKcB9ao4OFF0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1200&quot; height=&quot;4032&quot; data-filename=&quot;힙노틱.jpg&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;4032&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;밀키스같은 비쥬얼로 처음에 보자마자 확 끌렸었던 리큐르이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음엔 미니어처로 보고, 이걸 사려고 유명하다는 하남 스X필드, 와X앤모어 등을 전전했지만 전혀 찾지 못하다가 얼마전 우연히 어플에서 발견하고 바로 주문.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이거와 비슷한 X레이티드는 굉장히 잘 보이는데, 얘는 참 보기 힘들다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 초짜였을 시기에 애환이 뭍어있는 사연 많은 리큐르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 맛을 못보았는데, 자체적으로도 트로피컬향이 난다하니 그냥 먹어도 될 것 같고, 밀키스와 섞거나 브랜디와 섞어도 맛이 괜찮다고한다.&lt;/p&gt;</description>
      <category>Beverages/Cocktail&amp;amp;Liquor</category>
      <category>HPNOTIQ</category>
      <category>리큐르</category>
      <category>칵테일</category>
      <category>힙노틱</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/188</guid>
      <comments>https://omnil.tistory.com/188#entry188comment</comments>
      <pubDate>Mon, 24 Jan 2022 18:31:53 +0900</pubDate>
    </item>
    <item>
      <title>[아두이노/3D프린터개발산업기사] 로터리인코더(로타리엔코더) 쉽게 이해하기</title>
      <link>https://omnil.tistory.com/187</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;#Arduino&amp;nbsp;#3D&amp;nbsp;printer&amp;nbsp;#아두이노&amp;nbsp;#3D프린터&amp;nbsp;#&amp;nbsp;3D프린터개발산업기사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;center&gt;
&lt;h1 data-ke-size=&quot;size26&quot;&gt;로터리인코더(로타리엔코더)&amp;nbsp;쉽게&amp;nbsp;이해하기&lt;/h1&gt;
&lt;/center&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;0. 서론&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로터리&amp;nbsp;인코더는&amp;nbsp;CLK와&amp;nbsp;DT라는&amp;nbsp;두개의&amp;nbsp;포인트를&amp;nbsp;가지고&amp;nbsp;회전을&amp;nbsp;검출하는&amp;nbsp;장치입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실상&amp;nbsp;원리는&amp;nbsp;간단하고&amp;nbsp;이를&amp;nbsp;아두이노에&amp;nbsp;활용하기에도&amp;nbsp;쉽지만&amp;nbsp;의외로&amp;nbsp;이&amp;nbsp;인코더의&amp;nbsp;작동원리를&amp;nbsp;이해하기&amp;nbsp;힘들어&amp;nbsp;아두이노&amp;nbsp;코드에&amp;nbsp;접목하기가&amp;nbsp;쉽지&amp;nbsp;않은&amp;nbsp;것이&amp;nbsp;현실입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이에&amp;nbsp;오늘은&amp;nbsp;로터리인코더(로타리엔코더)의&amp;nbsp;회전방향&amp;nbsp;검출에&amp;nbsp;대해&amp;nbsp;알아보도록&amp;nbsp;하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.&amp;nbsp;로터리&amp;nbsp;인코더&amp;nbsp;작동원리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로터리&amp;nbsp;인코더는&amp;nbsp;CLK와&amp;nbsp;DT라는&amp;nbsp;두개의&amp;nbsp;포인트로&amp;nbsp;회전을&amp;nbsp;검출합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;발광부-수광부로&amp;nbsp;이해해도&amp;nbsp;좋고,&amp;nbsp;금속&amp;nbsp;원판에&amp;nbsp;포인트가&amp;nbsp;붙었다&amp;nbsp;떨어졌다로&amp;nbsp;이해해도&amp;nbsp;좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어찌되었든&amp;nbsp;이&amp;nbsp;두&amp;nbsp;지점이&amp;nbsp;거리를&amp;nbsp;두고&amp;nbsp;위치하고&amp;nbsp;있기&amp;nbsp;때문에&amp;nbsp;원판이&amp;nbsp;돌아갈&amp;nbsp;때&amp;nbsp;시간차이가&amp;nbsp;나게&amp;nbsp;되고, 이&amp;nbsp;시간차이를&amp;nbsp;가지고&amp;nbsp;이&amp;nbsp;원판이&amp;nbsp;시계방향으로&amp;nbsp;회전하는지,&amp;nbsp;반시계방향으로&amp;nbsp;회전하는지를&amp;nbsp;알아낼&amp;nbsp;수&amp;nbsp;있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;900&quot; data-filename=&quot;re.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uGcvK/btrdpDyXmW7/S8qEPsR5FurK4yhKVeDZ3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uGcvK/btrdpDyXmW7/S8qEPsR5FurK4yhKVeDZ3k/img.png&quot; data-alt=&quot;출처: www.ElectroPeak.com&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uGcvK/btrdpDyXmW7/S8qEPsR5FurK4yhKVeDZ3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuGcvK%2FbtrdpDyXmW7%2FS8qEPsR5FurK4yhKVeDZ3k%2Fimg.png&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;900&quot; data-filename=&quot;re.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처: www.ElectroPeak.com&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그림의&amp;nbsp;이해를&amp;nbsp;쉽게&amp;nbsp;하기&amp;nbsp;위해&amp;nbsp;원형철판에&amp;nbsp;두&amp;nbsp;지점이&amp;nbsp;닿아있다고&amp;nbsp;보겠습니다.&amp;nbsp;이&amp;nbsp;상황에선&amp;nbsp;두&amp;nbsp;포인트&amp;nbsp;전부&amp;nbsp;전기가&amp;nbsp;통하는&amp;nbsp;상태입니다.(수치로는&amp;nbsp;1&amp;nbsp;혹은&amp;nbsp;HIGH라고&amp;nbsp;볼&amp;nbsp;수&amp;nbsp;있습니다.) &lt;br /&gt;또한 CLK(그림의 Output A)는 DT(Output B)보다 왼쪽에 위치하며, 이미지상으로는 위쪽에 위치합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단&amp;nbsp;시계방향으로&amp;nbsp;돌아갈때를&amp;nbsp;보죠. &lt;br /&gt;이&amp;nbsp;상황에서&amp;nbsp;시계방향으로&amp;nbsp;돌면&amp;nbsp;CLK가&amp;nbsp;먼저&amp;nbsp;원판에서&amp;nbsp;떨어집니다.&amp;nbsp;그리고&amp;nbsp;그&amp;nbsp;다음&amp;nbsp;DT가&amp;nbsp;떨어지고,&amp;nbsp;그&amp;nbsp;다음&amp;nbsp;다시&amp;nbsp;CLK가&amp;nbsp;원판에&amp;nbsp;붙고,&amp;nbsp;다시&amp;nbsp;DT가&amp;nbsp;붙습니다. &lt;br /&gt;1주기를&amp;nbsp;살펴보면&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 120px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;CLK&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;DT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center; height: 20px;&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 되는 것을 볼 수 있습니다. &lt;br /&gt;또한 최소 분해능은 1/4주기로 볼 수 있습니다. 1/4주기마다 회전을 검출할 수 있기 때문이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;그럼&amp;nbsp;반시계방향으로&amp;nbsp;돌아가는&amp;nbsp;상황을&amp;nbsp;보도록&amp;nbsp;합시다. &lt;br /&gt;원판이&amp;nbsp;반시계방향으로&amp;nbsp;돌면&amp;nbsp;DT가&amp;nbsp;먼저&amp;nbsp;원판에서&amp;nbsp;떨어집니다.&amp;nbsp;다음&amp;nbsp;CLK가&amp;nbsp;떨어지고,&amp;nbsp;다음&amp;nbsp;DT가&amp;nbsp;다시&amp;nbsp;붙고,&amp;nbsp;다음&amp;nbsp;CLK가&amp;nbsp;붙겠죠. &lt;br /&gt;1주기를 살펴보면&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 120px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;CLK&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;DT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 되는 것을 볼 수 있습니다. &lt;br /&gt;&lt;br /&gt;이를&amp;nbsp;펄스그림으로&amp;nbsp;보게되면&amp;nbsp;아래와&amp;nbsp;같습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;893&quot; data-origin-height=&quot;284&quot; data-filename=&quot;Rotary-Encoder-Module-Clocks.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kBSET/btrdpMwlQoT/ggR91PDkeORq4YLL7XvCR1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kBSET/btrdpMwlQoT/ggR91PDkeORq4YLL7XvCR1/img.jpg&quot; data-alt=&quot;출처:&amp;amp;amp;nbsp;https://protosupplies.com/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kBSET/btrdpMwlQoT/ggR91PDkeORq4YLL7XvCR1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkBSET%2FbtrdpMwlQoT%2FggR91PDkeORq4YLL7XvCR1%2Fimg.jpg&quot; data-origin-width=&quot;893&quot; data-origin-height=&quot;284&quot; data-filename=&quot;Rotary-Encoder-Module-Clocks.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;출처:&amp;nbsp;https://protosupplies.com/&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.&amp;nbsp;소자의&amp;nbsp;이해(HW-040)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희가&amp;nbsp;쓸&amp;nbsp;소자는&amp;nbsp;HW040이라는&amp;nbsp;소자입니다.&amp;nbsp;이&amp;nbsp;소자의&amp;nbsp;특징은&amp;nbsp;로터리&amp;nbsp;인코더가&amp;nbsp;한번&amp;nbsp;딸깍하고&amp;nbsp;돌아갈때&amp;nbsp;위에서&amp;nbsp;말한&amp;nbsp;1주기&amp;nbsp;중&amp;nbsp;1/2주기씩&amp;nbsp;움직인다는&amp;nbsp;것입니다.&amp;nbsp;이를&amp;nbsp;이미지로&amp;nbsp;설명하면&amp;nbsp;원판에&amp;nbsp;둘다&amp;nbsp;붙어있다가&amp;nbsp;한번&amp;nbsp;딸깍에&amp;nbsp;둘다&amp;nbsp;떨어지고,&amp;nbsp;다음&amp;nbsp;딸깍에&amp;nbsp;둘다&amp;nbsp;붙는다는&amp;nbsp;말이&amp;nbsp;되죠.&amp;nbsp;참고로&amp;nbsp;첫&amp;nbsp;시작값은&amp;nbsp;보통&amp;nbsp;CLK,&amp;nbsp;DT&amp;nbsp;모두&amp;nbsp;1값으로&amp;nbsp;시작하는게&amp;nbsp;보통이나&amp;nbsp;상황에&amp;nbsp;따라&amp;nbsp;달라질&amp;nbsp;수&amp;nbsp;있기에&amp;nbsp;소스코드에서&amp;nbsp;한번&amp;nbsp;처음&amp;nbsp;읽어주도록&amp;nbsp;합시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.&amp;nbsp;코드에의&amp;nbsp;적용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게&amp;nbsp;1주기에&amp;nbsp;CLK와&amp;nbsp;DT값이&amp;nbsp;4가지로&amp;nbsp;변화하기&amp;nbsp;때문에&amp;nbsp;이&amp;nbsp;모든&amp;nbsp;값에&amp;nbsp;대응해서&amp;nbsp;코딩을&amp;nbsp;해야할&amp;nbsp;것&amp;nbsp;같지만(물론&amp;nbsp;이런&amp;nbsp;경우가&amp;nbsp;제일&amp;nbsp;완벽하겠죠),&amp;nbsp;자세히&amp;nbsp;들여다보면&amp;nbsp;어떤&amp;nbsp;규칙이&amp;nbsp;있습니다.&amp;nbsp;바로&amp;nbsp;CLK값이&amp;nbsp;변화할때&amp;nbsp;시계방향이면&amp;nbsp;DT와&amp;nbsp;읽는&amp;nbsp;값이&amp;nbsp;정&amp;nbsp;반대이고(CLK가&amp;nbsp;왼쪽이므로&amp;nbsp;원판에서&amp;nbsp;먼저떨어집니다),&amp;nbsp;반시계방향이면&amp;nbsp;CLK값이&amp;nbsp;변화할때&amp;nbsp;DT값이랑&amp;nbsp;같다는&amp;nbsp;것이죠.(CLK가&amp;nbsp;왼쪽인데,&amp;nbsp;CLK에서&amp;nbsp;변화가&amp;nbsp;감지될&amp;nbsp;때는&amp;nbsp;이미&amp;nbsp;DT값이&amp;nbsp;변한&amp;nbsp;이후입니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히&amp;nbsp;저희가&amp;nbsp;쓸&amp;nbsp;소자는&amp;nbsp;1번&amp;nbsp;딸깍에&amp;nbsp;1/2주기씩&amp;nbsp;진행하기&amp;nbsp;때문에&amp;nbsp;모든&amp;nbsp;상황에&amp;nbsp;대해서&amp;nbsp;코딩하는&amp;nbsp;것이&amp;nbsp;낭비라고&amp;nbsp;볼&amp;nbsp;수도&amp;nbsp;있기도&amp;nbsp;하고,&amp;nbsp;한번&amp;nbsp;딸깍에&amp;nbsp;코딩으로&amp;nbsp;반응이&amp;nbsp;와야하기&amp;nbsp;때문에&amp;nbsp;모든&amp;nbsp;주기에&amp;nbsp;대해서&amp;nbsp;코딩하기&amp;nbsp;보단&amp;nbsp;변화를&amp;nbsp;가지고&amp;nbsp;코딩하는게&amp;nbsp;좋습니다.(1주기&amp;nbsp;코딩을&amp;nbsp;하게되면&amp;nbsp;두번&amp;nbsp;딸깍해야&amp;nbsp;반응이&amp;nbsp;오겠죠)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서의&amp;nbsp;포인트는&amp;nbsp;딱&amp;nbsp;두가지입니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1)&amp;nbsp;CLK값이&amp;nbsp;변화할때 &lt;br /&gt;2)&amp;nbsp;그&amp;nbsp;순간&amp;nbsp;DT와&amp;nbsp;CLK값의&amp;nbsp;차이(정방향&amp;nbsp;변화:&amp;nbsp;두&amp;nbsp;값이&amp;nbsp;차이,&amp;nbsp;역방향&amp;nbsp;변화:&amp;nbsp;두값이&amp;nbsp;동일)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;그럼 코드를 작성해보겠습니다. 이전과 같이 LED는 각 2, 3, 4번 핀에 대응시키고 로터리 인코더의 CLK, DT는 각 8, 9번 핀에 대응시키겠습니다.(SW는 그냥 스위치처럼 사용하기에 편리하므로 이번 포스팅에서는 제외하겠습니다.) 목표는 로터리 인코더가 오른쪽으로 돌면 빨간불, 왼쪽으로 돌면 파란불이 들어오게 하는 것입니다.&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;#define&amp;nbsp;LED_R&amp;nbsp;2 
#define&amp;nbsp;LED_G&amp;nbsp;3 
#define&amp;nbsp;LED_B&amp;nbsp;4 
#define&amp;nbsp;CLK&amp;nbsp;8 
#define&amp;nbsp;DT&amp;nbsp;9 

bool&amp;nbsp;pre_clk&amp;nbsp;=&amp;nbsp;0; 

void&amp;nbsp;setup()&amp;nbsp;{ 
&amp;nbsp;&amp;nbsp;pinMode(LED_R,&amp;nbsp;OUTPUT); 
&amp;nbsp;&amp;nbsp;pinMode(LED_G,&amp;nbsp;OUTPUT); 
&amp;nbsp;&amp;nbsp;pinMode(LED_B,&amp;nbsp;OUTPUT); 
&amp;nbsp;&amp;nbsp;pinMode(CLK,&amp;nbsp;INPUT); 
&amp;nbsp;&amp;nbsp;pinMode(DT,&amp;nbsp;INPUT); 
&amp;nbsp;&amp;nbsp;pre_clk&amp;nbsp;=&amp;nbsp;digitalRead(CLK); 
} 

void&amp;nbsp;loop()&amp;nbsp;{ 
&amp;nbsp;&amp;nbsp;bool&amp;nbsp;cur_clk&amp;nbsp;=&amp;nbsp;digitalRead(CLK); 
&amp;nbsp;&amp;nbsp;if(pre_clk&amp;nbsp;!=&amp;nbsp;cur_clk){ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(digitalRead(DT)&amp;nbsp;!=&amp;nbsp;cur_clk){ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digitalWrite(LED_R,&amp;nbsp;HIGH); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digitalWrite(LED_G,&amp;nbsp;LOW); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digitalWrite(LED_B,&amp;nbsp;LOW); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digitalWrite(LED_R,&amp;nbsp;LOW); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digitalWrite(LED_G,&amp;nbsp;LOW); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digitalWrite(LED_B,&amp;nbsp;HIGH); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} 
&amp;nbsp;&amp;nbsp;} 
&amp;nbsp;&amp;nbsp;pre_clk&amp;nbsp;=&amp;nbsp;cur_clk; 
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>3d printer</category>
      <category>3D프린터</category>
      <category>3D프린터개발산업기사</category>
      <category>arduino</category>
      <category>AVR</category>
      <category>마이크로프로세서</category>
      <category>아두이노</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/187</guid>
      <comments>https://omnil.tistory.com/187#entry187comment</comments>
      <pubDate>Sun, 29 Aug 2021 19:28:49 +0900</pubDate>
    </item>
    <item>
      <title>[아두이노/3D프린터개발산업기사] millis() 함수와 delay() 함수의 차이</title>
      <link>https://omnil.tistory.com/186</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;#Arduino #3D printer #아두이노 #3D프린터 # 3D프린터개발산업기사&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;center&gt;
&lt;h1 data-ke-size=&quot;size26&quot;&gt;millis() 함수와 delay() 함수의 차이&lt;/h1&gt;
&lt;/center&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;0. 서론(매우 빠른 작동속도를 가진 아두이노)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아두이노는 사실 1ms(1/1000초, 밀리세컨드, millisecond)보다 더 빨리 작동하고 있습니다. 물론 내부의 코드 길이나 상황에 따라 또한 어떤 구문을 실행하냐에 따라 걸리는 속도가 달라지기는하겠습니다만 이론적으로 대략 1/16000초의 속도로 한 명령어를 처리(16MHz)합니다.(이쪽으로 더 나가면 플립플롭(Flip-Flop), 래치(Latch), 클록스피드(Clock speed)와 같은 디지털 논리 회로의 영역으로 들어갑니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 루프문 안에 시간을 지연시켜주지 않고 켰다 껐다하는 신호만 준다면 아주 단순한 LED를 깜빡이는 프로그램도 LED가 꺼졌다 켜졌다 하는게 눈으로 안보이고 LED가 계속 켜져있는 것처럼 보일겁니다. 약 0.001초마다 스위치를 계속 켰다껐다 하는거니까요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 가장 쉽게 쓸 수 있는 delay함수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 가장 쉽게 사용할 수 있는 명령 지연 함수가 delay함수입니다. 이 함수 안에 ms(밀리세컨드)단위의 시간을 입력하면 그 시간만큼 쉽게말해 프로세서는 &quot;정지&quot;하죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로세서가 &quot;&lt;b&gt;정지&lt;/b&gt;&quot;하기에 다음 명령 실행까지 &lt;b&gt;시간적으로 지연&lt;/b&gt;이 되기는 합니다만, 그 &lt;u&gt;&quot;정지&quot;해 있는 동안엔 프로세서가 아무 일도 못한다&lt;/u&gt;는 단점이 있습니다. 말그대로 일시정지하는거죠. 그 시간엔 그 어떤 다른 일도 하지 못합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런건 단순히 LED를 껐다 키거나 하는 단일 소자로 단일 명령을 시키는데는 전혀 걸림돌이 되지 않지만, 만약 &quot;동시에&quot; 일을 시켜야 하면 난감한 상황이 올겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가령 (delay가 적용된 깜빡이가 있는) 차를 타고가면서 왼쪽 깜빡이를 켰는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 라이트가 켜진 순간 차가 멈춰버립니다.(불 켜고 딜레이 0.5초=모든 걸 정지 0.5초)&lt;br /&gt;2) 당황하여 깜빡이를 꺼보지만 라이트가 꺼지기 전까진 깜빡이가 꺼지지 않습니다.(깜빡이 스위치를 껐지만 불 꺼지고 딜레이 0.5초 가 지나기 전까지 프로세서는 어떤 입력도 못받아들임)&lt;br /&gt;3) 그리고 깜빡이가 꺼지면서 차가 다시 움직이기 시작합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;난감하죠? 100% 교통사고 각입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. delay의 대안 millis함수&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이를 해결하기위해 여러 방법들을 강구하게되고, 그 중에 하나가 millis함수를 이용하는 겁니다.&lt;br /&gt;(여담으로 이를 &quot;병렬처리&quot;라 하고(순차처리=직렬처리, 동시처리=병렬처리), 이를 구현하기 위해서 CPU시스템적인 부분 뿐만 아니라(여기는 진짜로 각 클록 주파수 사이사이에 명령어들을 배치해서 &quot;병렬처리인 척&quot;하는 부분이긴 합니다만..) 각 언어마다 많은 방법들을 만들어냅니다. 싱크로, 메서드 등이 그것들인데 그건 여기서는 제쳐두죠)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아두이노 프로세서는 프로그램이 작동된 후 자동으로 ms단위로 프로그램이 실행되는 시간을 저장하고 있습니다.&lt;br /&gt;따라서 &lt;b&gt;어떤 A라는 순간의 millis값과 B라는 순간의 millis값을 비교하면 시간이 얼마나 흘렀는지 알 수 있게 되죠&lt;/b&gt;.(B ms - A ms = 걸린 시간 ms)&lt;br /&gt;[이 부분은 매우 중요한게, millis뿐만 아니라 어떤 프로그램 언어를 사용하든 &lt;b&gt;시간 차이(time delta)&lt;/b&gt;는 매우 중요한 개념이 됩니다.]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거기에 millis함수는 delay함수와 다르게 프로세서를 일정기간 멈추는 명령이 아닙니다. 말그대로 시간만 체크하는 명령어죠.(시계 한번 흘깃 보는 명령어입니다.) 이는 엄청난 강점이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가령 &quot;10분 있다 엄마가 와서 책상에 앉아있나 확인할거야&quot;라는 명령이 있었다고 보면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;delay: 10분동안 아무것도 안하고 내내 책상에 앉아서 멍때리기&lt;br /&gt;millis: 10분동안 틈틈이 시간보면서, 그 안에서 책도보고 컴퓨터도하다가 10분째 착석&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과는 같지만 10분 활용이 다르죠. millis는 엄마의 명령시간 안에서 이런저런 일들을 &quot;같이(병렬)&quot; 처리했으니까요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 millis를 사용하게 되면 경과시간을 알아내어서 시간에 따른 지연 조작을 할 수 있으면서도 내부 명령은 아두이노 속도대로 처리가 되는 병렬처리가 가능해집니다.(프로세서 자체가 멈춰서 시간을 지연하는거나, 사용자가 시계로 체크해서 일정 시간 후를 체크하는 것의 차이?)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. delay함수와 millis함수의 활용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아두이노 자체 적인 개발 외에도 &quot;3D프린터개발산업기사&quot;의 실기부분에도 이 내용이 활용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시험 항목을 보죠.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5) HEATING BED 설정&lt;br /&gt;라) 설정온도인 30'C에 도달하면 LED는 R-&amp;gt;G-&amp;gt;B 순으로 500ms 간격으로 점등 되도록하며, 모터는 시계방향으로 계속적으로 동작 되도록 합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 부분인데요, 문제를 잘 보시면 LED가 500ms라는 시간을 가지고 점등이 되는 &quot;&lt;b&gt;와중에&lt;/b&gt;&quot; 모터는 계속 돌아가야합니다. &lt;b&gt;병렬로 작동&lt;/b&gt;이 되어야 한다는 것이죠. 그럼 여기서는 &lt;b&gt;millis&lt;/b&gt;함수를 써야겠죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 굳이 millis함수를 쓸 필요가 없는 항목도 있습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6) EMERGENCY 설정&lt;br /&gt;나) ~ 근접센서에 물체 또는 손을 이용하여 접촉할 경우 ~ 회전 중인 모터가 정지되고, 부저를 1초 간격으로 5회 울린 후 ~&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[회전 중인 모터 정지 -&amp;gt; 부저&quot;&lt;b&gt;만&lt;/b&gt;&quot; 1초 간격으로 5회 작동 -&amp;gt; ~~]의 &lt;b&gt;순차적인 처리&lt;/b&gt;이기때문에 여기서는 굳이 millis안쓰고 &lt;b&gt;delay&lt;/b&gt;로 써도 상관이 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 실제 코드 작성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 실제로 응용은 어떻게 해야할까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 부분은 다 제쳐두고, HEATING BED 설정의 라)항목만 실행하는 프로그램을 작성해보죠(온도가 30도에 도달하여 조건들을 실행하는 부분만 작성했습니다.)&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;#define LED_R 2  
#define LED_G 3  
#define LED_B 4

unsigned long start_time = 0;

void setup() {  
  pinMode(LED_R, OUTPUT);
  pinMode(LED_G, OUTPUT);
  pinMode(LED_B, OUTPUT);
}

void loop() {  
  start_time = millis(); // 이벤트 시작시간을 저장  
  unsigned long time_delta = millis() - start_time; // 시간차이(time_delta) 설정(현재시간-이벤트시작시간)  
  while(time_delta &amp;lt; 1500*3){ // 시작시간 기준(time_delta가 0부터 증가할 것이므로) (1500ms * 3번)의 시간동안 작동  
    if(time_delta%1500 &amp;lt; 500){ // 시간차이(이벤트 시작부터 진행된 시간)를 1500으로 나눠서 나머지가 500보다 작으면 
      digitalWrite(LED_R, HIGH); // 빨간불 켜기  
      digitalWrite(LED_G, LOW);  
      digitalWrite(LED_B, LOW);  
    }  
    else if(time_delta%1500 &amp;lt; 1000){ // 근데 나머지가 500 이상이고(위의 if가 거짓이기 때문에 else if로 왔으므로) 1000보다 작으면  
      digitalWrite(LED_R, LOW); // 빨간불 끄기  
      digitalWrite(LED_G, HIGH); // 초록불 켜기  
      digitalWrite(LED_B, LOW);  
    }  
    else{ // 그 외의 경우(위에 조건들이 모두 거짓일 때 else로 오므로 나머지가 1000이상인 경우)  
      digitalWrite(LED_R, LOW);  
      digitalWrite(LED_G, LOW); // 초록불 끄기  
      digitalWrite(LED_B, HIGH); // 파란불 켜기  
    }  
    // 모터 작동 코드 작성: delay가 없으므로 매 순간마다 모터가 작동  
    time_delta = millis() - start_time; // 코드 단위를 실행한 후 time_delta 재설정(이벤트 시작부터 진행된 시간 갱신)
  }  
  // 모든 불 끄기  
  digitalWrite(LED_R, LOW);  
  digitalWrite(LED_G, LOW);  
  digitalWrite(LED_B, LOW);  
  delay(2000); // 마무리 확인용 delay(세 번이 제대로 작동됐는지)  
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같은 코드가 작성될 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 여담&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 millis함수는 프로그램 시작 후 50여일 이후의 시간도 ms단위로 기록할정도로(물론 50일경 오버플로나서 다시 0으로 돌아간다지만..) 큰 메모리 용량을 필요로 하기 때문에 unsigned long(4바이트)형태의 자료형을 가집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 컴퓨터로 코딩할때는 큰 고려사항이 아닙니다만, 아주 제한된 메모리양과 처리속도를 가진 마이크로프로세서에 코딩할때는 전체적인 메모리와 처리속도를 모두 고려해야하는, 어떻게보면 컴퓨터로 프로그래밍하는 것보다 더 복잡한 과정을 거치게 됩니다.(자료형을 무엇을 쓸지, 프로그램 최적화는 어떻게 해야할지, 변수를 전역으로 두고 쓸지 지역으로 두고 쓸지 등..) 아두이노 기본 프로젝트 같은경우에야 문제가 안되겠지만 프로젝트가 커지면 문제죠. 따라서 프로젝트가 크지 않으면 그냥 unsigned long그대로 써주시되, 어차피 실행시간이 길지 않을 거고 다른 작업들로 메모리가 부족한 상황이다 싶으시면 int(2바이트) 자료형으로 써주시면 됩니다.&lt;/p&gt;</description>
      <category>Study/Arduino&amp;amp;AVR</category>
      <category>3d printer</category>
      <category>3D프린터</category>
      <category>3D프린터개발산업기사</category>
      <category>arduino</category>
      <category>AVR</category>
      <category>마이크로프로세서</category>
      <category>아두이노</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/186</guid>
      <comments>https://omnil.tistory.com/186#entry186comment</comments>
      <pubDate>Fri, 20 Aug 2021 12:01:21 +0900</pubDate>
    </item>
    <item>
      <title>[일상] 좋은 의사선생님 vs 사짜 의사선생님</title>
      <link>https://omnil.tistory.com/185</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;몇 년전에 여드름으로 병원에 간적이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래는 비보험 약이고 그걸 알고 병원에 갔는데, 의사선생님이 엄청 꼬치꼬치 캐물으시고, 진료 후에도 다시 부르셔서 '이걸 이렇게 하면 보험이 안되니 그냥 한가지 종류만 드세요, 그리고 보험되야하니 다른 약 한가지도 같이 처방했으니 그냥 필요할 때 드세요'하면서 처방해주셨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당시에는 그게 굉장히 귀찮았었는데, 어찌저찌 병원비는 보험이 되어서 평상시 다니는 병원비대로만 냈고 약값만 자비부담(다른 수가는 보험처리되고 약값자체만 내가 내는 것)으로 냈다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 몇년 뒤 오늘, 이번에는 다른 병원에 갔는데 '몇정당 처방전 값 얼마'하면서 처방전 팔이를 하고 있더라.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보험구분을 '기타'로 처방전을 내버리니 처방전 값이야 의사 맘대로고, 약국에서 약 조제할때도 전액 비보험(약값을 포함한 모든 수가를 내가 다 내는 것)으로 몇 년 전에 처방받고 약 샀을 때에 비해 병원비+약가 해서 3배 이상 비싸게 주고 샀다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지난뒤에야 봄인 줄 알았다고.. 몇 년 전에는 그걸 모르고 '아 귀찮은데 그냥 비보험으로 내주시지'했는데, 이번에 한번 크게 덤태기 써보니까 그 선생님이 환자의 입장에서 생각해주시는 정말 갓갓 트루 참 의사선생님이시라는 걸 알았다.(물론 역순으로 갔으면 깨닫지 못했을 수도 있다. 정말 의사선생님의 마음가짐 하나로 같은 약 처방 받고 약 사는데 총액이 3배이상 널뛰기를 한다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 반면에 &lt;span style=&quot;color: #ee2323;&quot;&gt;처방전가지고 '장사'하시는 사짜 선생님&lt;/span&gt;들도 계시다는 걸 알게되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지 정말 좋은 의사선생님들만 만나서 그랬는지는 몰라도 한번도 이런 일이 없다가, 정말 병원비 내는데 갑자기 몇만원 단위 나와서 &quot;이거 약가 아니에요? 병원비가요?&quot;하면서 정말 식겁했다.(진료중에서 말하긴 했는데 난 당연히 약가 얘기 하는 줄 알았다. 세상에 처방전이 '한통에 얼마구요, 두통하면 두배입니다.' 이런게 어딨나!?)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 왜 그렇게 해외 밀반입 의약품들이 판치는 지도 알았다. 오늘 당한식으로 덤태기쓰면 해외 밀반입 의약품 몇푼 더 주고 사는거랑 크게 다를 바가 없는 것 같더라.(질이야 둘째치고서라도)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 없어지지만 않았어도 예전 병원에 찾아가서 처방받으며 감사하다고 골백번은 더 인사할텐데, 아침부터 참 씁쓸하다. 그 병원 다시는 안간다.(물론 나한테 쪽쪽 빨아서 오늘 좀 기분은 좋으시겠지)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 처방전 후려치기 하는 병원 있으면 그병원 계속 가지 마시고 다른 병원으로 가보세요. 어차피 우리나라에 병원은 많고, 사짜 의사가 많은 만큼 트루킹갓제너럴굿닥터 의사선생님도 많으시니까요.&lt;/p&gt;</description>
      <category>Diary/etc</category>
      <category>사짜의사선생님</category>
      <category>일상</category>
      <category>좋은의사선생님</category>
      <category>처방전장사</category>
      <category>처방전팔이</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/185</guid>
      <comments>https://omnil.tistory.com/185#entry185comment</comments>
      <pubDate>Tue, 3 Aug 2021 10:11:17 +0900</pubDate>
    </item>
    <item>
      <title>Frances Ha[프란시스 하]</title>
      <link>https://omnil.tistory.com/184</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Frances Ha[프란시스 하]&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;스포주의!&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영화의&amp;nbsp;요지는&amp;nbsp;간략하다 &lt;br /&gt;&lt;br /&gt;&quot;이상은&amp;nbsp;큰데&amp;nbsp;현실은&amp;nbsp;시궁창 &lt;br /&gt;그러나&amp;nbsp;그&amp;nbsp;현실을&amp;nbsp;받아들여가는&amp;nbsp;과정&quot; &lt;br /&gt;&lt;br /&gt;사실&amp;nbsp;99%&amp;nbsp;우리&amp;nbsp;모두의&amp;nbsp;인생이&amp;nbsp;이와같지&amp;nbsp;않을까&amp;nbsp;생각한다. &lt;br /&gt;&lt;br /&gt;금수저는&amp;nbsp;다를&amp;nbsp;것&amp;nbsp;같다는&amp;nbsp;것또한&amp;nbsp;영화에서&amp;nbsp;'금수저도&amp;nbsp;마찬가지'라고&amp;nbsp;보여준다. &lt;br /&gt;레브와&amp;nbsp;벤지에대한&amp;nbsp;소피의&amp;nbsp;대사에서 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;대략적인&amp;nbsp;작품의&amp;nbsp;플롯은&amp;nbsp;다음과&amp;nbsp;같다. &lt;br /&gt;큰&amp;nbsp;이상을&amp;nbsp;품은&amp;nbsp;프란시스 &lt;br /&gt;꿈에서&amp;nbsp;뿐만&amp;nbsp;아니라&amp;nbsp;인관관계에서도&amp;nbsp;'이상적'을&amp;nbsp;꿈꾼다. &lt;br /&gt;&lt;br /&gt;그리고&amp;nbsp;소피와&amp;nbsp;함께&amp;nbsp;하는&amp;nbsp;생활에서&amp;nbsp;이상적으로&amp;nbsp;흘러간다고&amp;nbsp;싶었는데.. &lt;br /&gt;나는&amp;nbsp;소피와&amp;nbsp;같다고&amp;nbsp;생각하고&amp;nbsp;내&amp;nbsp;생각과&amp;nbsp;소피의&amp;nbsp;생각이&amp;nbsp;같을&amp;nbsp;거라고&amp;nbsp;이상적으로&amp;nbsp;생각하고&amp;nbsp;남친과&amp;nbsp;헤어지기까지&amp;nbsp;했건만.. &lt;br /&gt;소피는&amp;nbsp;다른&amp;nbsp;생각이었고,&amp;nbsp;소피의&amp;nbsp;독립으로&amp;nbsp;둘의&amp;nbsp;생활이&amp;nbsp;끝나게&amp;nbsp;된다. &lt;br /&gt;그리고&amp;nbsp;이때부터&amp;nbsp;프란시스의&amp;nbsp;'이상'은&amp;nbsp;흔들리게&amp;nbsp;된다. &lt;br /&gt;&lt;br /&gt;일단&amp;nbsp;인간관계에서의&amp;nbsp;이상이&amp;nbsp;깨지고[소피의&amp;nbsp;독립] &lt;br /&gt;직장에서의&amp;nbsp;이상이&amp;nbsp;깨지고[견습생이며&amp;nbsp;무대를&amp;nbsp;원하지만&amp;nbsp;뽑히지&amp;nbsp;않는] &lt;br /&gt;다른&amp;nbsp;사람들과의&amp;nbsp;교류를&amp;nbsp;꿈꾸지만&amp;nbsp;겉돈다. &lt;br /&gt;파티장면에서는&amp;nbsp;보는&amp;nbsp;내가&amp;nbsp;오그라들정도로&amp;nbsp;프란시스가&amp;nbsp;말할때마다&amp;nbsp;분위기가&amp;nbsp;항상&amp;nbsp;싸해진다. &lt;br /&gt;프란시스가&amp;nbsp;겉돈다는&amp;nbsp;걸&amp;nbsp;표현하기&amp;nbsp;위한&amp;nbsp;연출이&amp;nbsp;훌륭하다. &lt;br /&gt;이와&amp;nbsp;관련해서&amp;nbsp;파티&amp;nbsp;뒤에&amp;nbsp;프란시스가&amp;nbsp;나디아에게&amp;nbsp;독백하는&amp;nbsp;부분이&amp;nbsp;결국&amp;nbsp;영화&amp;nbsp;최후반부에&amp;nbsp;연출된다. &lt;br /&gt;더불어&amp;nbsp;이&amp;nbsp;사람들의&amp;nbsp;관계에&amp;nbsp;끼고&amp;nbsp;싶어&amp;nbsp;프란시스는&amp;nbsp;무리해서&amp;nbsp;파리로&amp;nbsp;가지만,&amp;nbsp;결국&amp;nbsp;혼자만의&amp;nbsp;기대에&amp;nbsp;좌절당하고&amp;nbsp;미국으로&amp;nbsp;다시&amp;nbsp;돌아오며,&amp;nbsp;자신의&amp;nbsp;이상에&amp;nbsp;한번&amp;nbsp;더&amp;nbsp;깨진다. &lt;br /&gt;그와중에&amp;nbsp;다른&amp;nbsp;친구들은&amp;nbsp;굉장히&amp;nbsp;잘&amp;nbsp;지내는&amp;nbsp;것&amp;nbsp;같다.&amp;nbsp;특히&amp;nbsp;내&amp;nbsp;일상을&amp;nbsp;흔들어제낀&amp;nbsp;소피가&amp;nbsp;최고로&amp;nbsp;잘&amp;nbsp;지내는&amp;nbsp;것&amp;nbsp;같다.&amp;nbsp;속이&amp;nbsp;쓰리다. &lt;br /&gt;&lt;br /&gt;현실적인&amp;nbsp;대안들이&amp;nbsp;찾아오지만,&amp;nbsp;자꾸&amp;nbsp;'이상'을&amp;nbsp;앞세워&amp;nbsp;눈을&amp;nbsp;돌린다. &lt;br /&gt;&lt;br /&gt;결국&amp;nbsp;바닥&amp;nbsp;끝까지&amp;nbsp;몰린&amp;nbsp;프란시스. &lt;br /&gt;&lt;br /&gt;이런저런&amp;nbsp;일을&amp;nbsp;겪으며,&amp;nbsp;특히&amp;nbsp;잘지내는&amp;nbsp;친구들이&amp;nbsp;사실&amp;nbsp;그렇게&amp;nbsp;잘&amp;nbsp;지내지&amp;nbsp;않는다는,&amp;nbsp;다른&amp;nbsp;사람들도&amp;nbsp;'이상'에&amp;nbsp;배신당한다는&amp;nbsp;사실을&amp;nbsp;깨닫다가&amp;nbsp;결국&amp;nbsp;소피마저도&amp;nbsp;본심은&amp;nbsp;'이상'을&amp;nbsp;꿈꾸며&amp;nbsp;'현실'을&amp;nbsp;도피하고&amp;nbsp;싶어하지만&amp;nbsp;결국&amp;nbsp;제정신으로&amp;nbsp;돌아와서는&amp;nbsp;'현실'을&amp;nbsp;살아간다는&amp;nbsp;것을&amp;nbsp;보고&amp;nbsp;내면의&amp;nbsp;무언가가&amp;nbsp;변화한다. &lt;br /&gt;&lt;br /&gt;그&amp;nbsp;이후로는&amp;nbsp;주어진&amp;nbsp;현실을&amp;nbsp;받아들이며&amp;nbsp;살아간다. &lt;br /&gt;&lt;br /&gt;그러다&amp;nbsp;결국,&amp;nbsp;주어진&amp;nbsp;현실을&amp;nbsp;살아가다&amp;nbsp;보니&amp;nbsp;돈도,&amp;nbsp;연인도,&amp;nbsp;주위의&amp;nbsp;인정도&amp;nbsp;얻은&amp;nbsp;프란시스 &lt;br /&gt;거기에&amp;nbsp;마침내&amp;nbsp;성공적인&amp;nbsp;무대를&amp;nbsp;치르고&amp;nbsp;난&amp;nbsp;뒤의&amp;nbsp;무대위에서,&amp;nbsp;과거&amp;nbsp;나디아에게&amp;nbsp;말했던&amp;nbsp;내용을&amp;nbsp;소피와의&amp;nbsp;눈맞춤으로&amp;nbsp;이루어내고&amp;nbsp;이로써&amp;nbsp;프란시스는&amp;nbsp;자신이&amp;nbsp;원하는&amp;nbsp;인간관계까지&amp;nbsp;얻고,&amp;nbsp;결국&amp;nbsp;자신에게&amp;nbsp;주어진&amp;nbsp;현실을&amp;nbsp;모두&amp;nbsp;받아들이는&amp;nbsp;단계로&amp;nbsp;성장한다. &lt;br /&gt;&lt;br /&gt;그리고&amp;nbsp;마지막&amp;nbsp;장면에서&amp;nbsp;자신의&amp;nbsp;풀&amp;nbsp;네임인&amp;nbsp;FRANCES&amp;nbsp;HALLADAY를&amp;nbsp;우체통에&amp;nbsp;넣을&amp;nbsp;때&amp;nbsp;길이가&amp;nbsp;맞지&amp;nbsp;않자&amp;nbsp;자르거나,&amp;nbsp;다시&amp;nbsp;쓰지&amp;nbsp;않고,&amp;nbsp;내가&amp;nbsp;나&amp;nbsp;자신으로&amp;nbsp;보이지&amp;nbsp;않을&amp;nbsp;수도&amp;nbsp;있지만&amp;nbsp;융통성&amp;nbsp;있게&amp;nbsp;그냥&amp;nbsp;접어서&amp;nbsp;우체통에&amp;nbsp;끼워넣는&amp;nbsp;모습에&amp;nbsp;결국&amp;nbsp;프란시스는&amp;nbsp;'이상적이지&amp;nbsp;않더라도&amp;nbsp;현실을&amp;nbsp;받아들이며&amp;nbsp;살더라도&amp;nbsp;나의&amp;nbsp;본질은&amp;nbsp;나다'라는&amp;nbsp;것을&amp;nbsp;보여주며&amp;nbsp;영화는&amp;nbsp;끝이난다. &lt;br /&gt;그리고&amp;nbsp;이렇게&amp;nbsp;접어서&amp;nbsp;길이가&amp;nbsp;맞는&amp;nbsp;이름이&amp;nbsp;FRANCES&amp;nbsp;HA이고,&amp;nbsp;결국&amp;nbsp;이것이&amp;nbsp;영화의&amp;nbsp;큰&amp;nbsp;주제이며&amp;nbsp;제목이&amp;nbsp;된다. &lt;br /&gt;&lt;br /&gt;결국&amp;nbsp;영화&amp;nbsp;감독이&amp;nbsp;말하고&amp;nbsp;싶었던&amp;nbsp;바는&amp;nbsp;내&amp;nbsp;이름이&amp;nbsp;일부&amp;nbsp;접힌다고,&amp;nbsp;다른&amp;nbsp;사람이&amp;nbsp;이상하게&amp;nbsp;본다고&amp;nbsp;해도&amp;nbsp;자신은&amp;nbsp;자신이고,&amp;nbsp;그&amp;nbsp;본질이&amp;nbsp;틀어져도&amp;nbsp;상관없다는&amp;nbsp;것이다.&amp;nbsp;영화에서도&amp;nbsp;인생이란&amp;nbsp;말이&amp;nbsp;자주&amp;nbsp;나오지만,&amp;nbsp;결국&amp;nbsp;뜻대로&amp;nbsp;안되는게&amp;nbsp;인생이고&amp;nbsp;내&amp;nbsp;맘대로&amp;nbsp;살아지지도&amp;nbsp;않지만&amp;nbsp;오히려&amp;nbsp;그렇게&amp;nbsp;현실에&amp;nbsp;맞춰서&amp;nbsp;살아나가는&amp;nbsp;것.&amp;nbsp;이름이&amp;nbsp;다르게&amp;nbsp;보이면&amp;nbsp;보이는대로,&amp;nbsp;현실이&amp;nbsp;이렇게&amp;nbsp;부딪치건&amp;nbsp;저렇게&amp;nbsp;부딪치건&amp;nbsp;환경에&amp;nbsp;무너지지&amp;nbsp;않고&amp;nbsp;살아나가는&amp;nbsp;것.&amp;nbsp;항상&amp;nbsp;어떠한&amp;nbsp;상황에서도&amp;nbsp;꿋꿋한&amp;nbsp;프란시스를&amp;nbsp;보며&amp;nbsp;많은&amp;nbsp;생각이&amp;nbsp;들게&amp;nbsp;하는&amp;nbsp;영화였다.&lt;/p&gt;</description>
      <category>Diary/Movie reviews</category>
      <category>Frances ha</category>
      <category>Noah Baumbach</category>
      <category>노아바움백</category>
      <category>프란시스 하</category>
      <category>프란시스하</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/184</guid>
      <comments>https://omnil.tistory.com/184#entry184comment</comments>
      <pubDate>Sun, 1 Aug 2021 16:02:23 +0900</pubDate>
    </item>
    <item>
      <title>[Windows] Windows10 OS 설치 USB 만들기!</title>
      <link>https://omnil.tistory.com/183</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Windows] Windows10 OS 설치 USB 만들기!&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우를 PC에 설치하기로 마음먹으셨다면 우선 윈도우10 OS 설치 USB를 만들어 주셔야합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 거의 모든 OS설치시에 필요한 것입니다.(가끔 Mac에서 부트캠프로 윈도우를 설치하는 경우 따로 USB를 만들지 않고도 바로 설치가 가능한 경우같은 예외가 있기는 합니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &lt;b&gt;'설치 USB'&lt;/b&gt;라는 것은 &lt;b&gt;'부팅가능한(Bootable)'&lt;/b&gt; USB를 만든다는 뜻으로, 단순히 파일을 옮기거나 복사붙여넣기 하는 것이 아닙니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블로그의 정체성에 따라 순서대로 나열해 보도록 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1) ISO파일을 다운로드 받는다!&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요새는 윈도우10 ISO파일을 다운로드 받기가 힘들어졌습니다. 링크를 꼭꼭 숨겨놨거든요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;거기에 편승해서 이상한 링크에서 받게하는 이상한 사람들도 많으니, 꼭 마이크로소프트 공식 홈페이지에서 받도록 합시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마이크로소프트에서 공식으로 받을 수 있는 방법은 &lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;&lt;a style=&quot;background-color: #ffc1c8;&quot; href=&quot;https://omnil.tistory.com/182&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이전 포스팅&lt;/a&gt;&lt;/span&gt;에 정리해 놓았으니 참고하시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2) 설치가능한 USB를 만들어주기!&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2-1) USB 선택!&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가능한 USB를 만들어주게되면, 해당 USB내에 저장된 모든 것이 싹 포맷되며, OS의 ISO만 설치가능한 형태로 써지게 된다. 그러기에 해당 ISO파일 크기보다 크지만, 내용은 없는(혹은 백업한 뒤의) USB를 고르는 것이 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2-2) Rufus설치!&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가능한 USB(Bootable USB)를 만들 수 있는 프로그램은 많지만, 공식적으로 ubuntu에서 제시하는 프로그램은 rufus이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;742&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bd00u1/btq5QuPR69f/m3fe97J5rlgA7jdKzuMvdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bd00u1/btq5QuPR69f/m3fe97J5rlgA7jdKzuMvdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bd00u1/btq5QuPR69f/m3fe97J5rlgA7jdKzuMvdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbd00u1%2Fbtq5QuPR69f%2Fm3fe97J5rlgA7jdKzuMvdk%2Fimg.png&quot; data-origin-width=&quot;766&quot; data-origin-height=&quot;742&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://rufus.ie/&quot;&gt;https://rufus.ie/&lt;/a&gt;에 접속하면 한글로 친절하게 모든 설명이 나와있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 rufus 설치파일을 다운로드 받아서 설치해도 상관없고, Portable(한글 번역 '이동식') 버전을 받아도 상관없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;둘의 차이라면 설치파일은 컴퓨터에 설치 후에 실행하는 것이고 Portable은 그냥 바로 실행이 된다는 점?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 설정법도 홈페이지에 나온 그대로 놓고 작업하면된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에 &lt;b&gt;장치&lt;/b&gt;를 선택해주고 &lt;b&gt;부트 선택&lt;/b&gt;에서 우리가 다운로드 받은 Win10_21H1_Korean_x64.iso파일만 잘 선택해주고 아래 &lt;b&gt;시작&lt;/b&gt;만 눌러주면 끝.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;538&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ngCn3/btq5SRwlcs5/W2AD7q5xzRxUHQIkpbb7Sk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ngCn3/btq5SRwlcs5/W2AD7q5xzRxUHQIkpbb7Sk/img.png&quot; data-alt=&quot;&amp;amp;amp;lt;출처: https://rufus.ie/&amp;amp;amp;gt;에서 퍼온 사진이라 ubuntu지만, 부트선택 파일만 윈도우 iso로 잘 선택하면 장땡!&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ngCn3/btq5SRwlcs5/W2AD7q5xzRxUHQIkpbb7Sk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FngCn3%2Fbtq5SRwlcs5%2FW2AD7q5xzRxUHQIkpbb7Sk%2Fimg.png&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;538&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;lt;출처: https://rufus.ie/&amp;gt;에서 퍼온 사진이라 ubuntu지만, 부트선택 파일만 윈도우 iso로 잘 선택하면 장땡!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 해서 &lt;b&gt;상태&lt;/b&gt;에 완료가 뜨면 부팅 USB 만들기는 성공했습니다. 이제 직접 OS를 깔 차례!&lt;/p&gt;</description>
      <category>OS/Windows</category>
      <category>bootable</category>
      <category>ISO</category>
      <category>Rufus</category>
      <category>USB</category>
      <category>windows</category>
      <category>설치</category>
      <category>윈도우</category>
      <category>윈도우즈</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/183</guid>
      <comments>https://omnil.tistory.com/183#entry183comment</comments>
      <pubDate>Fri, 4 Jun 2021 18:58:20 +0900</pubDate>
    </item>
    <item>
      <title>윈도우10(Windows 10) ISO파일 마이크로소프트에서 다운받는 법</title>
      <link>https://omnil.tistory.com/182</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;0] 포스팅의 변&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우10 발매 초창기에는 홈페이지에서 쉽게 iso파일을 받을 수 있게 해놨는데, 요새는 어느정도 윈도우 10이 확산되었다 싶었는지 '구매'에 초점을 맞춰서 그런지 쉽게 iso파일을 받을 수 없게 해놓았다.(아직까지도 복잡하게 어떻게 어떻게 하면 받을 수 있기는 하다. 정말 극악이라 그렇지..)(구매 안해도 윈10은 잘 돌아가는데, 대신 화면 오른쪽 아래에 반투명하게 'Windows 정품 인증'이 뜬다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 이걸 개발할때나 패킷딸때만 썼던 크롬 개발자도구로 다운 받을 수 있는 방법이 있어 공유하고자 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1] 크롬으로 마이크로소프트 사이트에서 공식 ISO파일 받기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0) 크롬브라우저 기준!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1) 먼저 과거에 바로 iso를 받을 수 있었던 &lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;&lt;a style=&quot;background-color: #ffc1c8;&quot; href=&quot;https://www.microsoft.com/ko-kr/software-download/windows10ISO&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;마이크로소프트 윈도우10 다운로드 링크&lt;/a&gt;&lt;/span&gt;에 접속&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2) 그러나 아무리 화면을 살펴봐도 iso를 바로 받을 수 있는 버튼은 없고, '업데이트'와 '도구다운로드' 버튼만 보일 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;851&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lSh2R/btq5Mm6sNqx/2DY1k3IPevbGSYLKizv9F1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lSh2R/btq5Mm6sNqx/2DY1k3IPevbGSYLKizv9F1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lSh2R/btq5Mm6sNqx/2DY1k3IPevbGSYLKizv9F1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlSh2R%2Fbtq5Mm6sNqx%2F2DY1k3IPevbGSYLKizv9F1%2Fimg.png&quot; data-origin-width=&quot;1196&quot; data-origin-height=&quot;851&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3) 여기서 크롬의 개발자도구를 켠다. 개발자도구를 켜는 단축키는 F12이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1842&quot; data-origin-height=&quot;845&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhVBtA/btq5SQYudaK/yX5IYN3icp9ADP3gQPg9vK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhVBtA/btq5SQYudaK/yX5IYN3icp9ADP3gQPg9vK/img.png&quot; data-alt=&quot;개발자 도구가 켜진 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhVBtA/btq5SQYudaK/yX5IYN3icp9ADP3gQPg9vK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhVBtA%2Fbtq5SQYudaK%2FyX5IYN3icp9ADP3gQPg9vK%2Fimg.png&quot; data-origin-width=&quot;1842&quot; data-origin-height=&quot;845&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;개발자 도구가 켜진 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4) 여기서 아래 이미지에 표시된 대로, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;1번 2번 3번을 각각 클릭한 뒤 F5(새로고침)를 누른다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;946&quot; data-origin-height=&quot;436&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBzh1C/btq5Mn5nW7V/Pczncogn1Q6fQzzNM2NKAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBzh1C/btq5Mn5nW7V/Pczncogn1Q6fQzzNM2NKAK/img.png&quot; data-alt=&quot;꼭 페이지를 &amp;amp;#39;새로고침&amp;amp;#39; 해야 한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBzh1C/btq5Mn5nW7V/Pczncogn1Q6fQzzNM2NKAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBzh1C%2Fbtq5Mn5nW7V%2FPczncogn1Q6fQzzNM2NKAK%2Fimg.png&quot; data-origin-width=&quot;946&quot; data-origin-height=&quot;436&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;꼭 페이지를 '새로고침' 해야 한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5) 그러면 이렇게 iso파일을 받을 수 있는 페이지가 나오게 되고, 여기서 [버전 선택]을 눌러 [윈도우10]을 선택한 뒤 확인을 누르고, '유효성 검사'가 지나간 다음, [언어 선택]에서 [한국어]를 선택하면 다시 '유효성 검사'가 나온 뒤 32bit와 64bit 선택창이 나오게 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1001&quot; data-origin-height=&quot;676&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LYWvo/btq5QO1I849/DZkkgKW875qbHqn54aqkNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LYWvo/btq5QO1I849/DZkkgKW875qbHqn54aqkNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LYWvo/btq5QO1I849/DZkkgKW875qbHqn54aqkNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLYWvo%2Fbtq5QO1I849%2FDZkkgKW875qbHqn54aqkNk%2Fimg.png&quot; data-origin-width=&quot;1001&quot; data-origin-height=&quot;676&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;416&quot; data-origin-height=&quot;272&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/caBQBy/btq5OTP1mbD/rhZ3FkhM54jqcVik9KuGz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/caBQBy/btq5OTP1mbD/rhZ3FkhM54jqcVik9KuGz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/caBQBy/btq5OTP1mbD/rhZ3FkhM54jqcVik9KuGz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcaBQBy%2Fbtq5OTP1mbD%2FrhZ3FkhM54jqcVik9KuGz0%2Fimg.png&quot; data-origin-width=&quot;416&quot; data-origin-height=&quot;272&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;372&quot; data-origin-height=&quot;329&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cY9nr4/btq5SbV7n02/yx9S70QZJADfO2bQQ5qsJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cY9nr4/btq5SbV7n02/yx9S70QZJADfO2bQQ5qsJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cY9nr4/btq5SbV7n02/yx9S70QZJADfO2bQQ5qsJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcY9nr4%2Fbtq5SbV7n02%2Fyx9S70QZJADfO2bQQ5qsJK%2Fimg.png&quot; data-origin-width=&quot;372&quot; data-origin-height=&quot;329&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;562&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mthpo/btq5Q7fJfdy/blgIoK4QNjJUV105KY1SIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mthpo/btq5Q7fJfdy/blgIoK4QNjJUV105KY1SIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mthpo/btq5Q7fJfdy/blgIoK4QNjJUV105KY1SIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmthpo%2Fbtq5Q7fJfdy%2FblgIoK4QNjJUV105KY1SIk%2Fimg.png&quot; data-origin-width=&quot;385&quot; data-origin-height=&quot;562&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6) 여기서 32bit나 64bit 다운로드 버튼을 클릭하면 바로 다운로드 창이 열리며 다운로드 할 수 있게 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;380&quot; data-origin-height=&quot;286&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ci6d51/btq5R1e0U0Y/y4ICCwaljztHTi8l5IqkSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ci6d51/btq5R1e0U0Y/y4ICCwaljztHTi8l5IqkSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ci6d51/btq5R1e0U0Y/y4ICCwaljztHTi8l5IqkSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fci6d51%2Fbtq5R1e0U0Y%2Fy4ICCwaljztHTi8l5IqkSK%2Fimg.png&quot; data-origin-width=&quot;380&quot; data-origin-height=&quot;286&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7) 이 파일을 가지고 rufus와 같은 프로그램을 이용하여 usb에 구워주면 부팅디스크 혹은 os 설치 usb(Bootable USB)가 완성된다.&lt;s&gt;(이전 &lt;a href=&quot;https://omnil.tistory.com/151&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;Ubuntu Bootable USB만드는 포스팅&lt;/span&gt;&lt;/a&gt; 참조)&lt;/s&gt;(윈도우 버전으로 새로 포스팅함 포스트는&amp;nbsp;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;&lt;a style=&quot;background-color: #ffc1c8;&quot; href=&quot;https://omnil.tistory.com/183&quot;&gt;여기&lt;/a&gt;&lt;/span&gt;)&lt;/p&gt;</description>
      <category>OS/Windows</category>
      <category>download</category>
      <category>ISO</category>
      <category>Microsoft</category>
      <category>windows</category>
      <category>windows10</category>
      <category>공식</category>
      <category>마이크로소프트</category>
      <category>윈10</category>
      <category>윈도우</category>
      <category>윈도우10</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/182</guid>
      <comments>https://omnil.tistory.com/182#entry182comment</comments>
      <pubDate>Wed, 26 May 2021 21:17:57 +0900</pubDate>
    </item>
    <item>
      <title>캄파리</title>
      <link>https://omnil.tistory.com/178</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;캄파리(Campari)&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1414&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20200625_223320.jpg&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d3D4S0/btqE6MQVpza/0VhXcZ3jgZo6bCunmWa4KK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d3D4S0/btqE6MQVpza/0VhXcZ3jgZo6bCunmWa4KK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d3D4S0/btqE6MQVpza/0VhXcZ3jgZo6bCunmWa4KK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd3D4S0%2FbtqE6MQVpza%2F0VhXcZ3jgZo6bCunmWa4KK%2Fimg.jpg&quot; data-origin-width=&quot;1414&quot; data-origin-height=&quot;3024&quot; data-filename=&quot;20200625_223320.jpg&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이마트에서 이 작은병(200ml) 하나에 만 천원이나하는 비싼 술&lt;/p&gt;
&lt;p&gt;1860년&amp;nbsp;이탈리아&amp;nbsp;사람인&amp;nbsp;가스빠레&amp;nbsp;깜빠리&amp;nbsp;라는&amp;nbsp;사람이&amp;nbsp;약용&amp;nbsp;리큐르인&amp;nbsp;비터스를&amp;nbsp;개량하여&amp;nbsp;만든&amp;nbsp;술&lt;/p&gt;
&lt;p&gt;용담 뿌리가 들어가서 쓴맛이 난다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;활용가능 칵테일은 캄파리 소다, 캄파리 오렌지, 캄파리 비어&lt;/p&gt;</description>
      <category>Beverages/Cocktail&amp;amp;Liquor</category>
      <category>BITTERS</category>
      <category>CAMPARI</category>
      <category>Cocktail</category>
      <category>liqueur</category>
      <category>liquor</category>
      <category>리큐르</category>
      <category>비터스</category>
      <category>술</category>
      <category>칵테일</category>
      <category>캄파리</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/178</guid>
      <comments>https://omnil.tistory.com/178#entry178comment</comments>
      <pubDate>Thu, 25 Jun 2020 22:44:00 +0900</pubDate>
    </item>
    <item>
      <title>캡쳐</title>
      <link>https://omnil.tistory.com/152</link>
      <description>&lt;p&gt;안녕하세요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;회사에서 업무 PC를 우분투로 사용하면서 화면 캡쳐할 일이 종종 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;제가 사용하는 우분투 16.04에는 기본적으로 총 6가지 방법의 캡쳐 기능을 제공합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;'전체 화면 캡쳐', '활성화 창 캡쳐', '선택 영역 (부분) 캡쳐' 가 가능하고,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;각각의 캡쳐에 대해 '그림 파일로 저장'과 '클립 보드로 복사' 기능을 각각 제공합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;'전체 화면'은 현재 모니터에 보이는 모든 화면을 (여러대의 모니터 사용시 모든 모니터 화면),&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;'활성화 창'은 현재 선택되있는 창을,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;'선택 영역 캡쳐' 시에는 화면을 선택할 수 있도록 마우스 포인트가 십자 형태로 바뀝니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그리고 '그림 파일로 저장'은 말 그대로 그림 파일로 저장할 수 있는 창이 떠서 그림파일로 저장할 수 있게 해주고,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;'클립 보드로 복사'는 추가로 창이 뜨지는 않고, 그림이 클립보드로 복사되서 (그림을 Ctrl+c 한 효과), 붙여녛기로 그림판이나 문서 편집 프로그램에 그림을 삽입할 수 있게 해줍니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;각각의 경우 기본 단축키는 다음과 같습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* 'Print' 키는 'Print Screen' 키를 말합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; width=&quot;594&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;전체 화면 캡쳐&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;활성화 창 캡쳐&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;선택 영역 캡쳐&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;그림 파일로 저장&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Print&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Alt + Print&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;Shift + Print&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;클립 보드로 복사&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&amp;nbsp;Ctrl + Print&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Ctrl + Alt + Print&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Ctrl + Shift + Print&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위의 단축키들은 변경이 가능합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;'환경설정 (전체설정) -&amp;gt; 키보드 -&amp;gt; 바로가기 -&amp;gt; 스크린샷' 메뉴에 보면 위의 6 종류의 단축키를 설정이 가능합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;저는 윈도우에서 원노트를 통한 부분 캡쳐를 '윈도우&amp;nbsp;+ S' 를 사용하기 때문에 우분투도 이와 유사하게 'Alt + S' 로 맞춰주었습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;출처: &lt;a href=&quot;https://harryp.tistory.com/595&quot;&gt;https://harryp.tistory.com/595&lt;/a&gt; [Park's Life]&lt;/p&gt;</description>
      <category>OS/Linux&amp;amp;Ubuntu</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/152</guid>
      <comments>https://omnil.tistory.com/152#entry152comment</comments>
      <pubDate>Tue, 23 Jun 2020 23:00:54 +0900</pubDate>
    </item>
    <item>
      <title>[Linux/Ubuntu] Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)</title>
      <link>https://omnil.tistory.com/176</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)&lt;br /&gt;Unable&amp;nbsp;to&amp;nbsp;lock&amp;nbsp;directory&amp;nbsp;/var/lib/apt/lists/&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Error:&lt;/h3&gt;
&lt;p&gt;Could&amp;nbsp;not&amp;nbsp;get&amp;nbsp;lock&amp;nbsp;/var/lib/apt/lists/lock&amp;nbsp;-&amp;nbsp;open&amp;nbsp;(11:&amp;nbsp;Resource&amp;nbsp;temporarily&amp;nbsp;unavailable) &lt;br /&gt;Unable&amp;nbsp;to&amp;nbsp;lock&amp;nbsp;directory&amp;nbsp;/var/lib/apt/lists/&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Reason:&lt;/h3&gt;
&lt;p&gt;이미 리눅스에서 다른 소프트웨어의 업데이트가 진행중일 때 강제로 다른 소프트웨어의 업데이트를 명령하면 생기는 오류이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Solution:&lt;/h3&gt;
&lt;p&gt;이전의 업데이트를 취소하거나 여의치 않을 경우 컴퓨터를 재부팅 한 뒤 업데이트 코드를 사용한다.&lt;/p&gt;
&lt;p&gt;(필자는 &lt;span&gt;sudo ubuntu-drivers autoinstall 코드 사용시 발생한 에러였음. 이때 자동으로 기본 소프트웨어를 업데이트 하던 중이라 재부팅 하고 바로 아무 작업도 하지 않은 채 코드를 적용하였더니 문제 해결!)&lt;/span&gt;&lt;/p&gt;</description>
      <category>TIPS/Errors&amp;amp;Solutions</category>
      <category>error</category>
      <category>Linux</category>
      <category>Update</category>
      <category>리눅스</category>
      <category>업데이트</category>
      <category>에러</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/176</guid>
      <comments>https://omnil.tistory.com/176#entry176comment</comments>
      <pubDate>Mon, 22 Jun 2020 21:36:27 +0900</pubDate>
    </item>
    <item>
      <title>단순 선형 회귀에서 상관계수와 결정계수와의 관계(The relationship between a correlation coefficient and a coefficient of determination in simple linear regression)</title>
      <link>https://omnil.tistory.com/175</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;단순 선형 회귀에서 상관계수와 결정계수와의 관계(The relationship between a correlation coefficient and a coefficient of determination)&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;1) $ r(x, y) $&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ r(x, y) = \frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;2) $ r(\hat{y}, y) $&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ r(\hat{y}, y) = \frac{\sum_{i=1}^{n}(\hat{y}_i-\bar{y})(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;$ \qquad \quad = \frac{\sum_{i=1}^{n}(\hat{y}_i-\bar{y})(y_i-\hat{y}_i+\hat{y}_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$&amp;nbsp;\qquad&amp;nbsp;\quad&amp;nbsp;=&amp;nbsp;\frac{\sum_{i=1}^{n}(\hat{y}_i&amp;nbsp;y_i-\bar{y}&amp;nbsp;\hat{y}_i-\bar{y}&amp;nbsp;y_i+\bar{y}^2)}{\sqrt{\sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}}&amp;nbsp;$&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \qquad \quad = \frac{\sum_{i=1}^{n}[(y_i - \hat{y}_i)(\hat{y}_i-\bar{y})+(\hat{y}_i - \bar{y})^2]}{\sqrt{\sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $ &lt;br /&gt;&amp;nbsp;$ \qquad \quad meanwhile, $ &lt;br /&gt;&amp;nbsp;$&amp;nbsp;\qquad&amp;nbsp;\quad&amp;nbsp;SST&amp;nbsp;=&amp;nbsp;SSR+SSE&amp;nbsp;$&amp;nbsp; &lt;br /&gt;&amp;nbsp;$ \qquad \quad \sum_{i=1}^{n}(y_i - \bar{y})^2 = \sum_{i=1}^{n}((y_i - \hat{y}_i) + (\hat{y}_i - \bar{y}))^2 $&amp;nbsp; &lt;br /&gt;&amp;nbsp;$&amp;nbsp;\qquad&amp;nbsp;\quad&amp;nbsp;\qquad&amp;nbsp;\qquad&amp;nbsp;\qquad&amp;nbsp;=&amp;nbsp;\sum_{i=1}^{n}[e_i&amp;nbsp;+&amp;nbsp;(\hat{y}_i-\bar{y})]^2,&amp;nbsp;e_i&amp;nbsp;=&amp;nbsp;(y_i-\hat{y}_i)&amp;nbsp;$&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;$&amp;nbsp;\qquad&amp;nbsp;\quad&amp;nbsp;\qquad&amp;nbsp;\qquad&amp;nbsp;\qquad&amp;nbsp;=&amp;nbsp;\sum_{i=1}^{n}e_{i}^{2}+2\sum_{i=1}^{n}e_i(\hat{y}_i-\bar{y})+\sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2&amp;nbsp;$&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;$&amp;nbsp;\qquad&amp;nbsp;\quad&amp;nbsp;\qquad&amp;nbsp;\qquad&amp;nbsp;\qquad&amp;nbsp;\therefore&amp;nbsp;\sum_{i=1}^{n}e_i(\hat{y}_i-\bar{y})&amp;nbsp;=&amp;nbsp;0&amp;nbsp;$&amp;nbsp; &lt;br /&gt;&amp;nbsp;$ \qquad \quad = \frac{\sum_{i=1}^{n}(\hat{y}_i - \bar{y})^2}{\sqrt{\sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \qquad \quad = \sqrt{\frac{\sum_{i=1}^{n}(\hat{y}_i - \bar{y})^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;3) $ r(x, y) = r(\hat{y}, y) $&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \hat{y}_i = \beta_0 + \beta_1 x_i $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ x_i = \frac{\hat{y}_i - \beta_0}{\beta_1} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$&amp;nbsp;\bar&amp;nbsp;x&amp;nbsp;=&amp;nbsp;\frac{1}{n}\sum_{i=1}^{n}\frac{\hat{y}_i&amp;nbsp;-&amp;nbsp;\beta_0}{\beta_1}&amp;nbsp;$&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \quad = \frac{1}{n \beta_1}(\sum_{i=1}^{n}\hat{y}_i - n\beta_0) $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \quad = \frac{1}{n \beta_1}\sum_{i=1}^{n}\hat{y}_i - \frac{\beta_0}{\beta_1} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;$&amp;nbsp;r(x,&amp;nbsp;y)&amp;nbsp;=&amp;nbsp;\frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}}&amp;nbsp;$&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \qquad \quad = \frac{\sum_{i=1}^{n}(\frac{\hat{y}_i - \beta_0}{\beta_1}-\frac{1}{n \beta_1}\sum_{i=1}^{n}\hat{y}_i + \frac{\beta_0}{\beta_1})(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(\frac{\hat{y}_i - \beta_0}{\beta_1}-\frac{1}{n \beta_1}\sum_{i=1}^{n}\hat{y}_i + \frac{\beta_0}{\beta_1})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \qquad \quad = \frac{\frac{1}{\beta_1}\sum_{i=1}^{n}(\hat{y}_i - \beta_0-\frac{1}{n}\sum_{i=1}^{n}\hat{y}_i + \beta_0)(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}\frac{1}{\beta_1^2}(\hat{y}_i - \beta_0-\frac{1}{n}\sum_{i=1}^{n}\hat{y}_i + \beta_0)^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \qquad \quad = \frac{\frac{1}{\beta_1}\sum_{i=1}^{n}(\hat{y}_i - \beta_0-\frac{1}{n}\sum_{i=1}^{n}\hat{y}_i + \beta_0)(y_i-\bar{y})}{\frac{1}{\beta_1}\sqrt{\sum_{i=1}^{n}(\hat{y}_i - \beta_0-\frac{1}{n}\sum_{i=1}^{n}\hat{y}_i + \beta_0)^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;$ \qquad \quad = \frac{\sum_{i=1}^{n}(\hat{y}_i - \beta_0-\frac{1}{n}\sum_{i=1}^{n}\hat{y}_i + \beta_0)(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(\hat{y}_i - \beta_0-\frac{1}{n}\sum_{i=1}^{n}\hat{y}_i + \beta_0)^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;$ \qquad \quad = \frac{\sum_{i=1}^{n}(\hat{y}_i-\frac{1}{n}\sum_{i=1}^{n}\hat{y}_i)(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(\hat{y}_i-\frac{1}{n}\sum_{i=1}^{n}\hat{y}_i)^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/span&gt;&lt;br /&gt;$ \qquad \quad y_i = \hat y_i + e_i $&lt;br /&gt;$ \qquad \quad \sum_{i=0}^n y_i = \sum_{i=0}^n \hat y_i + \sum_{i=0}^n e_i $&lt;br /&gt;$ \qquad \quad \sum_{i=0}^n y_i = \sum_{i=0}^n \hat y_i \; \because $ sum of errors = 0&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;$ \qquad \quad = \frac{\sum_{i=1}^{n}(\hat{y}_i-\bar y)(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(\hat{y}_i - \bar y)^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;$ \qquad \quad = r(\hat y, y) = \sqrt{\frac{\sum_{i=1}^{n}(\hat{y}_i - \bar{y})^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2}} $&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp;$ \therefore r(x, y)^2 = r(\hat y, y)^2 = \frac{\sum_{i=1}^{n}(\hat{y}_i - \bar{y})^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2} = \frac {SSR}{SST} = R^2 $ (only in simple regression)&lt;/span&gt;&lt;/p&gt;</description>
      <category>Study/Statistics</category>
      <category>Data Science</category>
      <category>linear regression</category>
      <category>Machine Learning</category>
      <category>Statistics</category>
      <category>결정계수</category>
      <category>데이터사이언스</category>
      <category>머신러닝</category>
      <category>상관계수</category>
      <category>선형회귀</category>
      <category>통계</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/175</guid>
      <comments>https://omnil.tistory.com/175#entry175comment</comments>
      <pubDate>Wed, 13 May 2020 12:14:57 +0900</pubDate>
    </item>
    <item>
      <title>[Python/Keras/Graphviz] Failed to import 'pydot'. Please install 'pydot'. For example with 'pip install pydot'.</title>
      <link>https://omnil.tistory.com/171</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;Failed to import 'pydot'. Please install 'pydot'. For example with 'pip install pydot'.&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;상황설명-&lt;/h3&gt;
&lt;p&gt;이 에러는 keras 혹은 의사결정나무(decision tree)에서 그래프를 그릴 때 사용하는 graphviz에 문제가 있을 때 발생합니다. 맥과 같은 linux os에서는 패키지가 깔리지 않았을 때, windows에서는 거의 무조건 발생하는 에러라고 보시면 됩니다. 사실 에러는 pydot자체적인 문제가 '아닙니다.' pip install pydot해도 오류는 해결이 되지 않아요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;해결법-&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1) Mac과 같은 linux기반 OS + Anaconda&lt;/h4&gt;
&lt;p&gt;&amp;nbsp; (prompt)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $ conda&amp;nbsp;install&amp;nbsp;graphviz&lt;/p&gt;
&lt;p&gt;&amp;nbsp; [if needed]&lt;/p&gt;
&lt;p&gt;&amp;nbsp; (coding tools)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; import os &lt;br /&gt;&amp;nbsp; os.environ[&quot;PATH&quot;] += os.pathsep + '~/opt/anaconda3/lib/site-packages/graphviz'&lt;/p&gt;
&lt;p&gt;프롬프트에서 먼저 graphviz를 인스톨 해주시면 문제없이 돌아가는 경우가 많습니다. 그러나 설치한 뒤에도 계속해서 에러가 발생한다면 명시적으로 코드내에서 시스템 환경변수를 등록해주시면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2) Windows + Anaconda&lt;/h4&gt;
&lt;p&gt;&amp;nbsp; 맥에 비해서 조금 복잡합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 먼저 프롬프트에서&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $ pip install pydotplus&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 를 입력하여 pydotplus를 설치해주십시오.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 이후&lt;br /&gt;&amp;nbsp; &lt;a href=&quot;https://graphviz.gitlab.io/_pages/Download/Download_windows.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://graphviz.gitlab.io/_pages/Download/Download_windows.html&lt;/a&gt;&lt;br /&gt;&amp;nbsp; 홈페이지에 접속하여 OS에 맞는 graphviz설치 프로그램을 받아주신 뒤 설치하여 주십시오.(msi 확장자를 가진 파일로 다운로드 받아주시기 바랍니다.)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 만약 어떤 설정도 건드리지 않고 설치하였을 시 C드라이브 아래 Program Files (x86)경로에 깔릴 것입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 이후&lt;br /&gt;&amp;nbsp; import os &lt;br /&gt;&amp;nbsp; os.environ[&quot;PATH&quot;] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 맥에서와 마찬가지로 코드 내에서 명시적으로 시스템 패스를 설정해주시면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; (실제 시스템 자체에서 패스 설정하는 방법이 있지만 복잡하여 코드 내 설정방법으로 설명드렸습니다.)&lt;/p&gt;</description>
      <category>TIPS/Errors&amp;amp;Solutions</category>
      <category>datascience</category>
      <category>DeepLearning</category>
      <category>GraphViz</category>
      <category>keras</category>
      <category>MachineLearning</category>
      <category>Python</category>
      <category>데이터사이언스</category>
      <category>딥러닝</category>
      <category>머신러닝</category>
      <category>파이썬</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/171</guid>
      <comments>https://omnil.tistory.com/171#entry171comment</comments>
      <pubDate>Sat, 11 Apr 2020 09:56:44 +0900</pubDate>
    </item>
    <item>
      <title>[라틴어/Latin] 라틴어 약어 정리</title>
      <link>https://omnil.tistory.com/170</link>
      <description>&lt;p&gt;vise versa: 역도 마찬가지로&lt;/p&gt;
&lt;p&gt;ut supra: as above&lt;/p&gt;</description>
      <category>Languages</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/170</guid>
      <comments>https://omnil.tistory.com/170#entry170comment</comments>
      <pubDate>Thu, 26 Mar 2020 23:43:27 +0900</pubDate>
    </item>
    <item>
      <title>[시계열분석|MachineLearning|Time Series|Prophet] fbprophet 설치하기</title>
      <link>https://omnil.tistory.com/169</link>
      <description>&lt;h1&gt;[시계열분석|MachineLearning|Time Series|Prophet] fbprophet 설치하기&lt;/h1&gt;
&lt;h2&gt;Anaconda&lt;/h2&gt;
&lt;p&gt;가장 간단한 방법&lt;br&gt;&lt;code&gt;conda install -c conda-forge fbprophet&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;Naive python&lt;/h2&gt;
&lt;h3&gt;1. &lt;code&gt;pip install cython&lt;/code&gt;&lt;/h3&gt;
&lt;h3&gt;2. &lt;code&gt;pip install &amp;quot;pystan&amp;lt;2.18&amp;quot;&lt;/code&gt;&lt;/h3&gt;
&lt;h3&gt;3. &lt;code&gt;pip install fbprophet&lt;/code&gt;&lt;/h3&gt;</description>
      <category>Study/MachineLearning</category>
      <category>fbprophet</category>
      <category>MachineLearning</category>
      <category>ML</category>
      <category>prophet</category>
      <category>TimeSeries</category>
      <category>TimeSeriesAnalysis</category>
      <category>시계열분석</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/169</guid>
      <comments>https://omnil.tistory.com/169#entry169comment</comments>
      <pubDate>Wed, 25 Mar 2020 10:54:56 +0900</pubDate>
    </item>
    <item>
      <title>[Errno 2] No such file or directory: 'usr/bin/python': 'usr/bin/python'</title>
      <link>https://omnil.tistory.com/168</link>
      <description>&lt;h1&gt;[Errno 2] No such file or directory: &amp;#39;usr/bin/python&amp;#39;: &amp;#39;usr/bin/python&amp;#39;&lt;/h1&gt;
&lt;h1&gt;/usr/bin/python: bad interpreter: No such file or directory&lt;/h1&gt;
&lt;p&gt;This error caused by no existence of simbolic link.&lt;/p&gt;
&lt;h2&gt;solution&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;ln -s /usr/bin/python2.7 /usr/bin/python&lt;/code&gt;&lt;br&gt;It makes simbolic link that command of &lt;code&gt;python&lt;/code&gt;.&lt;/p&gt;</description>
      <category>TIPS/Errors&amp;amp;Solutions</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/168</guid>
      <comments>https://omnil.tistory.com/168#entry168comment</comments>
      <pubDate>Sat, 15 Feb 2020 13:32:28 +0900</pubDate>
    </item>
    <item>
      <title>[Jupyter/Python] How to change default python version</title>
      <link>https://omnil.tistory.com/167</link>
      <description>&lt;h1&gt;[Jupyter/Python] How to change default python version&lt;/h1&gt;
&lt;p&gt;Easiest way to change default python version is using &lt;code&gt;alias&lt;/code&gt;.&lt;br&gt;If you want to change default python version with using &amp;#39;anaconda&amp;#39;, then go to second headline.&lt;/p&gt;
&lt;h2&gt;simplest way to change python version on prompt&lt;/h2&gt;
&lt;p&gt;0) check python version $&lt;code&gt;python --version&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is the default python version&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;1) $&lt;code&gt;vi ~/.bashrc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;2) add &lt;code&gt;alias python=&amp;#39;usr/bin/python&amp;#39;&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Attention: after &lt;code&gt;alias&lt;/code&gt; command, there are no spaces&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;3) then $&lt;code&gt;source ~/.bashrc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;4) check python version once more $&lt;code&gt;python --version&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You can find out about changed python version&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;change default python with anaconda&lt;/h2&gt;
&lt;p&gt;The order of file path is important.&lt;br&gt;Threfore, the change order of file path can change the default python interpreter path.&lt;/p&gt;
&lt;p&gt;1) find out default python path on prompt. $&lt;code&gt;which python&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;2) and then find out path order and &amp;lt;copy it(1)&amp;gt;. $&lt;code&gt;echo $PATH&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;3) change path order.&lt;br&gt;    1) Open &amp;#39;bashrc&amp;#39; up. $&lt;code&gt;vi ~/.bashrc&lt;/code&gt;&lt;br&gt;    2) Add &lt;code&gt;export PATH=&amp;quot;&amp;lt;copied(1)&amp;gt;&amp;quot;&lt;/code&gt;. Attention, the copied file pathes ordering must be changed that anaconda path behind of usr/bin.&lt;/p&gt;
&lt;p&gt;4) $&lt;code&gt;source ~/.bashrc&lt;/code&gt;&lt;/p&gt;</description>
      <category>OS/Linux&amp;amp;Ubuntu</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/167</guid>
      <comments>https://omnil.tistory.com/167#entry167comment</comments>
      <pubDate>Sat, 15 Feb 2020 13:27:45 +0900</pubDate>
    </item>
    <item>
      <title>금속공예</title>
      <link>https://omnil.tistory.com/166</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;공책 잃어버려서 정리해보는 금속공예공방 다니면서 공부한 내용들&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;금속공예&amp;nbsp;회차 &lt;br /&gt;1.&amp;nbsp;황동판&amp;nbsp;톱질(태장대,&amp;nbsp;톱날방향,&amp;nbsp;실톱,&amp;nbsp;톱질방법) &lt;br /&gt;2.&amp;nbsp;톱질&amp;nbsp;키링(스노우)(핸드드릴,&amp;nbsp;핸드피스) &lt;br /&gt;3. 무광 평반지1(은925, (반지 반지름+1.7mm)*3.14, 톱질-&amp;gt;연결부위 마감-&amp;gt;열풀림-&amp;gt;모양잡기-&amp;gt;&lt;span style=&quot;color: #333333;&quot;&gt;붕사(flex)-&amp;gt;&lt;/span&gt;땜('강'중약)-&amp;gt;산세척-&amp;gt;지환봉+고무망치-&amp;gt;망치평-&amp;gt;아크릴판 평-&amp;gt;줄질-&amp;gt;수세미-무광) &lt;br /&gt;4. 무광 평반지2[평반지 실습]&lt;br /&gt;5.&amp;nbsp;유광&amp;nbsp;각반지(줄질-&amp;gt;240이상&amp;nbsp;단계별&amp;nbsp;사포질-&amp;gt;실리콘-&amp;gt;광약-&amp;gt;텅스텐바-&amp;gt;초음파세척) &lt;br /&gt;6.&amp;nbsp;유광&amp;nbsp;실반지(금속바렐기) &lt;br /&gt;7.&amp;nbsp;팔찌(망치질감+꼬기+가운데&amp;nbsp;홈+유화가리(은산화제)) &lt;br /&gt;8.&amp;nbsp;팔찌 &lt;br /&gt;9.&amp;nbsp;꼬임&amp;amp;매듭(드릴사용,&amp;nbsp;3&amp;amp;4선매듭)[매듭+평&amp;nbsp;반지] &lt;br /&gt;10.&amp;nbsp;점프링제작(드릴&amp;amp;원형집게&amp;nbsp;사용,&amp;nbsp;원형/타원) &lt;br /&gt;11.&amp;nbsp;체인팔찌제작+01잠금장치제작 &lt;br /&gt;12. granulation(만들기, 붙이기)&lt;br /&gt;13. granulation 반지 제작, reticulation(열풀림 후 산화피막-&amp;gt;산세척-&amp;gt;고열-&amp;gt;공랭)&lt;/p&gt;</description>
      <category>Diary/etc</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/166</guid>
      <comments>https://omnil.tistory.com/166#entry166comment</comments>
      <pubDate>Tue, 11 Feb 2020 20:10:57 +0900</pubDate>
    </item>
    <item>
      <title>목공</title>
      <link>https://omnil.tistory.com/165</link>
      <description>&lt;p&gt;공책 잃어버려서 정리해보는 목공방 다니면서 공부한 내용들&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;회차&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp;기본도구 &lt;br /&gt;2.&amp;nbsp;톱질 &lt;br /&gt;3.&amp;nbsp;스크류소 &lt;br /&gt;4.&amp;nbsp;밴드소[미니프로젝트-기타등등] &lt;br /&gt;5.&amp;nbsp;ㄱ&amp;nbsp;맞춤 &lt;br /&gt;6.&amp;nbsp;사개맞춤 &lt;br /&gt;7.&amp;nbsp;사포(100-몇천,&amp;nbsp;100/220,&amp;nbsp;결방향,&amp;nbsp;모서리,&amp;nbsp;마감)[미니프로젝트-코끼리] &lt;br /&gt;8.&amp;nbsp;미니프로젝트-물개 &lt;br /&gt;9.&amp;nbsp;사포연장&amp;amp;칠(스테인,&amp;nbsp;3301?3303?,&amp;nbsp;30분,&amp;nbsp;오일스테인(들기름/참기름/호두기름)-3일,&amp;nbsp;일반오일스테인-12시간,&amp;nbsp;습도중요)&lt;/p&gt;</description>
      <category>Diary/etc</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/165</guid>
      <comments>https://omnil.tistory.com/165#entry165comment</comments>
      <pubDate>Tue, 11 Feb 2020 19:43:37 +0900</pubDate>
    </item>
    <item>
      <title>케이블 TV/IPTV 분배하기, 공청주파수, 실내안테나</title>
      <link>https://omnil.tistory.com/164</link>
      <description>&lt;p&gt;&lt;b&gt;케이블&amp;nbsp;TV/IPTV&amp;nbsp;분배하기,&amp;nbsp;공청주파수,&amp;nbsp;실내안테나&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이번에 TV가 한대 더 생겨서 활용해보려고 별짓을 다 하면서 있었던 일들을 정리해봅니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;결론적으로, 'TV 서비스에 가입된 경우'(D'Lite(&lt;span style=&quot;color: #333333;&quot;&gt;케이블)&lt;/span&gt;, BTV(IPTV) 등) 단순 분배가 불가능합니다.&lt;/p&gt;
&lt;p&gt;따로 셋탑박스가 필요합니다. (독립적으로 두 TV를 보고자 하는 경우)[현재 집에서 쓰는 셋탑은 SMT-C5010]&lt;/p&gt;
&lt;p&gt;단순하게 같은 방송출력이 여러대의 TV에서 필요한경우 HDMI 분배기 등으로 활용하능합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;옛날의 단순 케이블 혹은 공청주파수를 이용하는 TV 케이블의 경우 분배기를 통하여 단순 분배가 가능합니다.&lt;/p&gt;
&lt;p&gt;(과거이 요짓을 많이 해봐서 케이블도 될 줄 알았는데, 안되네요..)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아파트의 경우 벽에 TV out이 전부 콘센트처럼 되어있어 2012년 이후 생산 TV는 별도의 셋탑박스없이 바로 동축케이블로 연결하면 공청주파수 TV(KBS, SBS, MBC, EBS) 시청이 가능합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;빌라의 경우 옥상에 커다란 실외안테나가 있을 것입니다. 과거부터 여기서 케이블 선을 따서 썼기때문에 집에 TV가 있다면 이 안테나에 연결된 동축케이블이 있을텐데, 여기에 TV 연결하시면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그러나 요새 유료서비스들로 전환이 되면서 이 선을 잘라버리고, 자체 서비스 케이블을 깔아놓는 경우가 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이때 공청주파수를 사용하기 위해서는 다시 외부안테나에서 선을 따오시던가 실내안테나를 설치하여 TV에 연결하여야 합니다.(2012년 이전 TV는 디지털 변환기 필요)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;요새 빌라의 경우 외부 안테나가 있어도 여기서 선을 안따오는 경우도 많아서 현재 위치가 제대로 TV 주파수를 잡고 있는지 확인이 필요합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;kbs 수신안내 지도를 참고하시면 공청주파수를 현재위치에서 잡을 수 있는지 없는지 확인이 가능합니다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://map.kbs.co.kr/map.jsp&quot;&gt;https://map.kbs.co.kr/map.jsp&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1581410134893&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;KBS 수신안내 지도&quot; data-og-description=&quot;설정 확인 측정 시작 날짜 / 시간 VALUE MIN AVG MAX 측정 종료 날짜 / 시간 SNR 99.99 99.99 99.99 송신시설 Level 매체 장비명 장비 코드 &amp;nbsp; 측정시간 송신시설 미디어 주파수 채널 SNR Level&quot; data-og-host=&quot;map.kbs.co.kr&quot; data-og-source-url=&quot;https://map.kbs.co.kr/map.jsp&quot; data-og-url=&quot;https://map.kbs.co.kr/map.jsp&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cKRxNB/hyEUaOR8gT/Cd28p4Wbd2wK7rpaY92ABK/img.png?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300,https://scrap.kakaocdn.net/dn/d4l00e/hyESPZTZkE/Je5ujWw4F85107eLYamdjK/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200,https://scrap.kakaocdn.net/dn/dK28Sr/hyESPFAXWt/F4pL2BZCzcYvo8Xm8YswYK/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://map.kbs.co.kr/map.jsp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://map.kbs.co.kr/map.jsp&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cKRxNB/hyEUaOR8gT/Cd28p4Wbd2wK7rpaY92ABK/img.png?width=300&amp;amp;height=300&amp;amp;face=0_0_300_300,https://scrap.kakaocdn.net/dn/d4l00e/hyESPZTZkE/Je5ujWw4F85107eLYamdjK/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200,https://scrap.kakaocdn.net/dn/dK28Sr/hyESPFAXWt/F4pL2BZCzcYvo8Xm8YswYK/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;KBS 수신안내 지도&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;설정 확인 측정 시작 날짜 / 시간 VALUE MIN AVG MAX 측정 종료 날짜 / 시간 SNR 99.99 99.99 99.99 송신시설 Level 매체 장비명 장비 코드 &amp;nbsp; 측정시간 송신시설 미디어 주파수 채널 SNR Level&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;map.kbs.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;잡힌다고 나와도 사실 진짜로 잡힐지, 몇개나 잡힐지는 미지수이긴합니다..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;실패가능성을 최대한 낮춰보는 것이라고 생각하시면 맘이 편합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그리고 저는 실내안테나를 설치하였습니다. 어차피 실외안테나 설치하면 다시 또 선을 끌어와야하는데, 그럴바에야 원래 있던 실외안테나에 다시 연결하죠..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서 실내안테나 설치하고 '자동채널설정'을 통해서 채널을 잡아봅니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;저는 수신안내지도에서 모든 채널이 안잡혔지만, 다행히도 kbs1 단 하나만 잡히는군요.&lt;/p&gt;</description>
      <category>TIPS/Tips</category>
      <category>D'Lite</category>
      <category>IPTV</category>
      <category>공청주파수</category>
      <category>실내안테나</category>
      <category>케이블 TV/IPTV 분배하기</category>
      <category>케이블TV</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/164</guid>
      <comments>https://omnil.tistory.com/164#entry164comment</comments>
      <pubDate>Tue, 11 Feb 2020 17:39:35 +0900</pubDate>
    </item>
    <item>
      <title>[Linux/shell/bash/csh] shell 스크립트 튜토리얼</title>
      <link>https://omnil.tistory.com/145</link>
      <description>&lt;p&gt;처음으로 지인의 부탁을 받아 shell 스크립트를 짜 보았습니다.&lt;/p&gt;
&lt;p&gt;csh로 짰는데, 생각보다 자료가 적어서 크게 당황하였고, 대부분의 자료는 영어였으며, 프로그래밍의 다양성을 존중하는 언어인지 같은 상황에 대해 10가지 문서에서 10가지 다른 프로그래밍 방식을 사용하더군요.&lt;/p&gt;
&lt;p&gt;그리고 기본적인 내용을 한번 정리해 보기로 하였습니다.&lt;/p&gt;
&lt;p&gt;전에도 한번 했었는데, 워낙 생소한 분야라 한번 익숙해졌다가도 다시 초기화되어 저도 기록을 남깁니다.&lt;/p&gt;
&lt;p&gt;작성해본 스크립트는 씨 쉘(csh) 기준입니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;csh, bash 차이에 따라서 프로그래밍 언어도 차이가 있는 것 같습니다.  &lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;0) 셸 스크립트 작성 및 실행법&lt;/h2&gt;
&lt;p&gt;파일 최상단에&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/csh
#
# comment&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;입력 후 하단에 쉘 스크립트를 작성해주시면 됩니다.&lt;br&gt;파일명의 확장자는 .csh이며, mac에서 사용시 그냥 터미널에서 csh 명령어 이후에 파일이름을 써주시면 스크립트 파일이 실행됩니다.&lt;br&gt;여기서 최상단 문장을 제외한 #으로 시작하는 문장은 전부 주석입니다.  &lt;/p&gt;
&lt;h2&gt;1) 기본적인 변수선언 및 변수 사용&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;set var = &amp;quot;Hello&amp;quot;

echo $var&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;2) 쉘스크립트 실행 후 결과값을 변수에 저장&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;set ls = `ls`

echo $ls&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;여기서 ` 부분은 작은 따옴표가 아니라 그레이브 혹은 백틱 이라는 탭 키 위에 있는 문자입니다.&lt;br&gt;이 그레이브로 쌓인 문장은 쉘에서 실행된 뒤 그 결과를 반환하는 약간의 &amp;#39;부분실행&amp;#39; 명령어 같은 것입니다.&lt;br&gt;여기서는 배쉬(bash) 명령어인 ls로 현재 디렉토리의 파일 리스트를 읽어온 뒤 그것을 다시 ls라는 변수에 저장하였습니다.  &lt;/p&gt;
&lt;h2&gt;3) 파이프 명령어(pipe operation, |)&lt;/h2&gt;
&lt;p&gt;|는 엔터 근처에 있는 \표시 혹은 백슬래시기호를 시프트 키를 누른 채 누르면 써지는 파이프 기호입니다.&lt;br&gt;csh에서 이 파이프 기호는 왼쪽 명령의 결과를 오른쪽 명령의 인풋으로 사용한다는 뜻입니다.  &lt;/p&gt;
&lt;h2&gt;4) 파일 출력 명령어 &amp;gt;&lt;/h2&gt;
&lt;p&gt;&amp;gt; 는 파일을 출력하라는 명령어이며, 왼쪽의 결과를 오른쪽에 쓰는 파일 이름으로 저장합니다,&lt;br&gt;예를 들어&lt;br&gt;&lt;code&gt;echo &amp;quot;Hi&amp;quot; &amp;gt; hi.txt&lt;/code&gt;&lt;br&gt;라고하면 hi.txt라는 파일에 Hi가 입력된 채로 파일이 생성됩니다.  &lt;/p&gt;
&lt;h2&gt;5) foreach&lt;/h2&gt;
&lt;p&gt;사실 요새는 for 보다는 foreach 같이 내부 요소를 순환하는 명령이 사용하기 더 편합니다. (직접적으로 수의 증감이 필요한 경우 제외하고)&lt;br&gt;csh에서 foreach명령문의 형태는 아래와 같습니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;foreach var1 ( $var2 )

    echo $var1

end&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;즉, var2에 저장된 요소들을 하나씩 var1에 저장하며 for문을 도는 것입니다.&lt;br&gt;여기서는 단순히 출력만을 합니다.&lt;br&gt;조금 더 활용하면&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;foreach var1 ( `명령` )

    echo $var1

end&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;와 같이 활용할 수도 있습니다. 직접적으로 명령을 입력해서 그 출력을 foreach의 순회 요소로 만드는 것이지요.  &lt;/p&gt;
&lt;h2&gt;6) if&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;if (조건문) then

    실행문

endif&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;if는 위와 같은 구조로 구성됩니다.&lt;br&gt;여기서 조건문의 or와 and는 c와 같은 ||, &amp;amp;&amp;amp; 연산자로 처리할 수 있습니다.&lt;br&gt;또한 같다 다르다의 명령 또한 c와 같은 ==, !=입니다.&lt;br&gt;추가적으로 텍스트 비교를 위해서는 단순히 &lt;code&gt;$text1 == $text2&lt;/code&gt;라고 하면 &amp;quot;if: Expression syntax&amp;quot;에러를 내기 때문에 &lt;code&gt;`echo $text1 ` == `echo $text2`&lt;/code&gt;의 변형기출이 필요합니다.  &lt;/p&gt;
&lt;h2&gt;7) 파일 경로 조작&lt;/h2&gt;
&lt;p&gt;전체 파일 경로에서, 끝에 :t를 붙이면 확장자를 포함한 파일 명만 나오고, :r을 추가로 붙이면 확장자를 제외한 파일 명을 리턴해줍니다.&lt;br&gt;즉, &amp;quot;/dir1/test.txt&amp;quot;:t:r을 써주시면 test만 출력됩니다.&lt;br&gt;더욱 자세한 정보는 &lt;a href=&quot;https://en.wikibooks.org/wiki/C_Shell_Scripting/Modifiers&quot;&gt;이곳&lt;/a&gt;을 클릭해주세요.  &lt;/p&gt;
&lt;h2&gt;8) awk&lt;/h2&gt;
&lt;p&gt;사실 awk만으로도 단순 쉘 스크립트 뿐만이 아닌 거의 독자적인 문서 리딩 명령이라고 할 수 있습니다.&lt;br&gt;그래서 awk를 사용하기 위해서도 복잡한데 기본적인 것들만 정리해보도록 하겠습니다.&lt;br&gt;기본적으로 awk는 문서를 순차적으로 한줄씩 읽어내려간다고 생각하시면 됩니다.&lt;br&gt;awk의 기본 형태는&lt;br&gt;&lt;code&gt;awk &amp;#39;조건 및 실행문&amp;#39; 입력파일&lt;/code&gt;&lt;br&gt;입니다.&lt;br&gt;&lt;strong&gt;입력파일&lt;/strong&gt;&lt;br&gt;이 부분에서 파일 입력을 받아서 조건 및 실행문에서 조건에 맞게 무언가를 실행하고 그것을 출력하는 함수입니다.&lt;br&gt;여기서 &lt;code&gt;cat 입력파일 | awk &amp;#39;조건 및 실행문&amp;#39;&lt;/code&gt;으로 입력해도 됩니다. (cat은 단순히 입력파일의 내용을 보여주는 함수입니다.)&lt;br&gt;&lt;strong&gt;&amp;#39;조건 및 실행문&amp;#39;&lt;/strong&gt;&lt;br&gt;이 안에서 awk에서 제공하는 조건문은 그냥 작성 됩니다. (같다/다르다 ==/!= 명령, or/and명령 ||/&amp;amp;&amp;amp; 사용가능)&lt;br&gt;그리고 built-in variables라고, 내장 변수와 함수들이 존재합니다.&lt;br&gt;$0 : 전체 라인&lt;br&gt;$1 : 첫번째 열&lt;br&gt;$2 .. $n : n번째 열&lt;br&gt;NR : 행 번호(가령 첫번째 행은 1)&lt;br&gt;length(변수) : 변수의 길이&lt;br&gt;이외에도 더 있지만, 가장 자주 쓰는 내장 변수들은 이정도입니다. 더 궁금하시면 구글링 해보시면 됩니다.&lt;br&gt;또한 정규표현식(regex)도 사용할 수 있습니다.&lt;br&gt;&lt;code&gt;/정규표현식/&lt;/code&gt;로 사용이 가능하며, 시작 끝표현인 ^ $ 등 정규표현식에서 사용하는 방식은 전부 사용됩니다.&lt;br&gt;기본적으로 아무것도 써주지 않고 조건만 써주면 현재 라인 전체에서 찾습니다.&lt;br&gt;정규표현식에서 built-in variables를 사용하기 위해선 ~ 명령어로 &amp;#39;이 안에서 찾아라&amp;#39;라는 것을 명시해 주어야 합니다.&lt;br&gt;가령&lt;br&gt;&lt;code&gt;/hello/&lt;/code&gt;, &lt;code&gt;$0 == &amp;quot;hello&amp;quot;&lt;/code&gt;, &lt;code&gt;$0~/hello/&lt;/code&gt;&lt;br&gt;위의 세 명령어는 전부 같은 조건입니다.&lt;br&gt;&lt;code&gt;NR==1, NR==5&lt;/code&gt;를 조건으로 입력하면 첫번째 행부터 5번째 행까지 출력합니다.&lt;br&gt;단순히 &lt;code&gt;NR&amp;lt;6&lt;/code&gt;으로 작성할 수도 있습니다.&lt;br&gt;기본적으로 awk에서 조건에 맞는 결과는 바로 리턴해줍니다. 그러나 awk내에서 csh과 같은 프로그래밍 문법을 사용하려면 대괄호(brace, {})안에 작성하여야 합니다.&lt;br&gt;기본적으로 &lt;code&gt;if ()&lt;/code&gt;, &lt;code&gt;print&lt;/code&gt;, &lt;code&gt;printf&lt;/code&gt;, &lt;code&gt;substr()&lt;/code&gt;, &lt;code&gt;length()&lt;/code&gt;, &lt;code&gt;for(;;)&lt;/code&gt;등 사용 가능합니다.&lt;br&gt;예시로&lt;br&gt;&lt;code&gt;awk &amp;#39;$1==&amp;quot;test&amp;quot; {printf &amp;quot;%s %s&amp;quot;,$3,substr($4,1,length($4)-1)}&amp;#39; test.txt&lt;/code&gt;&lt;br&gt;같이 사용하며&lt;br&gt;print안에서 연속해서 변수를 출력할경우 &lt;code&gt;print $1,$2&lt;/code&gt;와 같이 콤마로 연결하여 쓰며, 여러 명령어를 동시에 사용할 땐 &lt;code&gt;print $1 print $2&lt;/code&gt;와 같이 공백으로 연결해줍니다. 혹은 명시적으로 세미콜론으로 구분지어주기도 합니다.&lt;br&gt;&lt;code&gt;print&lt;/code&gt;명령의 경우 뒤에 아무 것도 쓰지 않으면 전체 줄 출력, &lt;code&gt;print $1&lt;/code&gt;과 같이 변수 입력하면 해당 변수 출력합니다.  &lt;/p&gt;
&lt;h3&gt;8-1) awk 심화(문서 조건)&lt;/h3&gt;
&lt;p&gt;awk의 조건명령문 안에서 대괄호는 세미콜론으로 연결됩니다.&lt;br&gt;또한 BEGIN, END등의 명령으로 문서의 시작점과 끝점에서 특정하게 실행시킬 명령문을 지정할 수 있습니다.&lt;br&gt;&lt;code&gt;awk &amp;#39;BEGIN {print};END {print}&amp;#39; test.txt&lt;/code&gt; 명령은 처음 한줄과 끝 한줄만을 출력합니다.  &lt;/p&gt;
&lt;h3&gt;8-2) awk 심화(변수 passing)&lt;/h3&gt;
&lt;p&gt;awk를 사용하다보면, csh의 변수를 awk에서 사용해야 할 때도 있고, 반대로 awk의 결과를 변수로 저장해야 할 경우도 있습니다.&lt;br&gt;사실 이 경우가 정말 검색에서 잘 안나오는데, 하나하나 설명드리겠습니다.&lt;/p&gt;
&lt;p&gt;1) csh변수 -&amp;gt; awk변수  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;-v&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;가장 흔히 쓰는 방식은 -v 명령을 통하여 변수를 링크시키는 것입니다.&lt;br&gt;예를 들면 &lt;code&gt;awk -v var=$ex_var &amp;#39;print var&amp;#39;&lt;/code&gt;라는 명령에서 csh의 ex_var라는 변수를 awk 내부의 var라는 변수로 대입시켜 print하는 명령입니다.  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;#39;&amp;quot;${}&amp;quot;&amp;#39;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;awk내에서 &amp;#39;&amp;quot;${변수이름}&amp;quot;&amp;#39;식으로 shell variable을 awk내에서 사용 가능합니다.&lt;br&gt;2) awk변수 -&amp;gt; csh변수&lt;br&gt;이게 진짜 아무데도 안나오고, csh에 맞게 설명되어있는 부분이 없습니다.&lt;br&gt;인터넷에 declare, source, eval 이런 명령어들을 사용하는데, 정말 단순합니다.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;set var = `awk &amp;#39;{print}&amp;#39; test.txt`

echo $var&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;var = $(awk &amp;#39;NR&amp;gt;5 {print}&amp;#39; test.txt)

echo $var&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;이렇게 하면, test.txt에 쓰여져 있는 것들이 print로 출력되며, 이 결과가 var라는 csh변수에 저장되고, 이것을 echo가 출력하게 됩니다.  &lt;/p&gt;
&lt;h2&gt;9) 기타 shell script 명령어들&lt;/h2&gt;
&lt;p&gt;1) for&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for i in {start..end...step}
do
    내용
done&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;2) foreach&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;foreach i ( 1 2 3 4 5 )
    내용
end&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;3) if&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if (condition) then
endif&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;if [condition] then
elif [condition] then
else
fi&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;만약 더 사용하게되며 추가적으로 알게되는 내용은 실시간으로 업데이트 예정입니다.&lt;/p&gt;</description>
      <category>Software/Shell script</category>
      <category>Bash</category>
      <category>csh</category>
      <category>Linux</category>
      <category>sh</category>
      <category>Shell</category>
      <category>Shell Script</category>
      <category>리눅스</category>
      <category>쉘</category>
      <category>쉘스크립트</category>
      <category>씨쉘</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/145</guid>
      <comments>https://omnil.tistory.com/145#entry145comment</comments>
      <pubDate>Mon, 20 Jan 2020 20:16:54 +0900</pubDate>
    </item>
    <item>
      <title>[csh] data extractor</title>
      <link>https://omnil.tistory.com/163</link>
      <description>&lt;pre&gt;&lt;code&gt;#!/bin/csh
#
# data extractor
#

set lat = &amp;quot;60 22.77700N&amp;quot;
set lon = &amp;quot;42 54.63700W&amp;quot;

foreach file ( `ls` )
   echo $file
   set clat = `awk &amp;#39;$1==&amp;quot;Latitude&amp;quot; {printf &amp;quot;%s %s&amp;quot;,$3,substr($4,1,length($4)-1)}&amp;#39; $file`
   set clon = `awk &amp;#39;$1==&amp;quot;Longitude&amp;quot; {printf &amp;quot;%s %s&amp;quot;,$3,substr($4,1,length($4)-1)}&amp;#39; $file`
   # set clat = `cat $file | awk &amp;#39;$1==&amp;quot;Latitude&amp;quot; {printf &amp;quot;%s %s&amp;quot;,$3,substr($4,1,length($4)-1)}&amp;#39;`
   # set clon = `cat $file | awk &amp;#39;$1==&amp;quot;Longitude&amp;quot; {printf &amp;quot;%s %s&amp;quot;,$3,substr($4,1,length($4)-1)}&amp;#39;`
   if (`echo $lat` == `echo $clat` &amp;amp;&amp;amp; `echo $lon` == `echo $clon`) then
      set sl = `cat $file | awk &amp;#39;{if (NR&amp;gt;40 &amp;amp;&amp;amp; $1==&amp;quot;//&amp;quot;) print NR}&amp;#39;`
      # set sl = `cat $file | awk &amp;#39;{if (NR&amp;gt;40 &amp;amp;&amp;amp; $1~/\/\//) print NR}&amp;#39;`
      awk -v sl=$sl &amp;#39;NR&amp;gt;sl {print}&amp;#39; $file &amp;gt; $file:t:r_ext.txt
      # cat $file | awk -v sl=$sl &amp;#39;NR&amp;gt;sl {print}&amp;#39; &amp;gt; $file:t:r_ext.txt
   endif
end&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Software/Shell script</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/163</guid>
      <comments>https://omnil.tistory.com/163#entry163comment</comments>
      <pubDate>Sun, 19 Jan 2020 20:00:58 +0900</pubDate>
    </item>
    <item>
      <title>[Jupyter/Python] How to use multi-kernel in jupyter notebook</title>
      <link>https://omnil.tistory.com/162</link>
      <description>&lt;p&gt;&lt;b&gt;[Jupyter/Python]&amp;nbsp;How&amp;nbsp;to&amp;nbsp;use&amp;nbsp;multi-kernel&amp;nbsp;in&amp;nbsp;jupyter&amp;nbsp;notebook&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1) make kernel spec&lt;/p&gt;
&lt;p&gt;ipython&amp;nbsp;kernelspec&amp;nbsp;install-self&amp;nbsp;--user&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2) move to kernel spce&lt;br /&gt;cd /home/[user name]/.local/share/jupyter/kernels&lt;br /&gt;ls&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3) choose kernel&lt;/p&gt;
&lt;p&gt;cd python3&lt;/p&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;p&gt;cd python2&lt;/p&gt;
&lt;p&gt;ls&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4) find out kernel.json and open this file&lt;/p&gt;
&lt;p&gt;vi kernel.json&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5) contents of kernel.json&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&quot;_comment&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;red is display name to jupyter notebook, blue is language type, green is interpreter(address or command)&quot;&lt;/span&gt;&lt;span&gt;,&lt;br /&gt;&amp;nbsp;&lt;span style=&quot;color: #ee2323;&quot;&gt;&quot;display_name&quot;:&amp;nbsp;&quot;Python&amp;nbsp;3&quot;&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&lt;span style=&quot;color: #006dd7;&quot;&gt;&quot;language&quot;: &quot;python&quot;&lt;/span&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&quot;argv&quot;:&amp;nbsp;[&lt;br /&gt;&amp;nbsp;&amp;nbsp;&quot;&lt;span style=&quot;color: #009a87;&quot;&gt;/home/[user name]/anaconda3/bin/python&lt;/span&gt;&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&quot;-m&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&quot;ipykernel_launcher&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&quot;-f&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&quot;{connection_file}&quot;&lt;br /&gt;&amp;nbsp;]&lt;br /&gt;}&lt;/p&gt;</description>
      <category>OS/Linux&amp;amp;Ubuntu</category>
      <category>Interpreter</category>
      <category>jupyter</category>
      <category>Kernel</category>
      <category>multikernel</category>
      <category>Python</category>
      <category>python2</category>
      <category>python3</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/162</guid>
      <comments>https://omnil.tistory.com/162#entry162comment</comments>
      <pubDate>Sat, 18 Jan 2020 12:46:52 +0900</pubDate>
    </item>
    <item>
      <title>[AWS/Ubuntu/Linux/Anaconda/Selenium/Python] aws에서 작동하는 selenium 패키지와 chrome, chromedriver를 활용한 python 실행 파일 만들기</title>
      <link>https://omnil.tistory.com/161</link>
      <description>&lt;h1&gt;&lt;b&gt;[AWS/Ubuntu/Linux/Anaconda/Selenium]&amp;nbsp;aws에서&amp;nbsp;작동하는&amp;nbsp;selenium&amp;nbsp;패키지를&amp;nbsp;활용한&amp;nbsp;python&amp;nbsp;실행&amp;nbsp;파일&amp;nbsp;만들기&lt;/b&gt;&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;aws에서 selenium 패키지를 활용하여 웹 크롤링 혹은 스크래핑을 진행하는 데 있어 정말 여러가지 오류들이 있어서, 이참에 아예 한번 싹 정리해봅니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아예 완전히 aws 인스턴스를 처음 만들었다고 가정합니다.&lt;/p&gt;
&lt;p&gt;관련 페이지: &lt;a href=&quot;https://omnil.tistory.com/67&quot;&gt;https://omnil.tistory.com/67&lt;/a&gt;, &lt;a href=&quot;https://omnil.tistory.com/144&quot;&gt;https://omnil.tistory.com/144&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 아나콘다 다운로드 및 설치&lt;/h3&gt;
&lt;p&gt;- 관련페이지의 설명과 같이&amp;nbsp;&lt;span style=&quot;color: #333333;&quot;&gt;Anaconda3-2019.10-Linux-x86_64.sh 이 부분만 원하는 버전으로 바꿔주시면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;wget&amp;nbsp;https://repo.continuum.io/archive/Anaconda3-2019.10-Linux-x86_64.sh&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;sh&amp;nbsp;Anaconda3-2019.10-Linux-x86_64.sh&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 배쉬 리프레시 및 설치파일 제거&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;source&amp;nbsp;~/.bashrc&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;rm&amp;nbsp;Anaconda3-2019.10-Linux-x86_64.sh&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 새 폴더 생성 및 이동&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;mkdir&amp;nbsp;sandbox&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;cd&amp;nbsp;sandbox&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. unzip과 chromium-browser설치&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo&amp;nbsp;apt&amp;nbsp;update&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;unzip&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;sudo&amp;nbsp;apt-get&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;chromium-browser&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. chromium-browser version확인&lt;/h3&gt;
&lt;p&gt;- 여기서 확인한 버전으로 크롬드라이버를 깔아주어야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chromium-browser --version&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. (위에서 확인한 버전에 맞는) 크롬드라이버 다운로드, unzip, chromedriver 실행권한 변경 및 기본 path로 이동&lt;/h3&gt;
&lt;p&gt;- 위에서 확인한 버전에 맞는 크롬드라이버 다운로드 링크는 &amp;gt;&amp;gt;&lt;a href=&quot;https://chromedriver.chromium.org/downloads&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기&lt;/a&gt;&amp;lt;&amp;lt;서 확인하실 수 있습니다.&lt;br /&gt;&lt;code&gt;wget&amp;nbsp;https://chromedriver.storage.googleapis.com/79.0.3945.36/chromedriver_linux64.zip&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;unzip&amp;nbsp;chromedriver_linux64.zip&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;chmod&amp;nbsp;+x&amp;nbsp;chromedriver&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;sudo&amp;nbsp;mv&amp;nbsp;chromedriver&amp;nbsp;/usr/bin/chromedriver&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;rm&amp;nbsp;chromedriver_linux64.zip&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. 크롬드라이버 버전 확인&lt;/h3&gt;
&lt;p&gt;- chromium-browser --version과 동일해야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chromedriver --version&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8. 파이썬 파일에서 사용할 패키지 설치&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;pip install selenium telepot&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;9. 스크린 작동&lt;/h3&gt;
&lt;p&gt;- 스크린에 관련하여서는 &amp;gt;&amp;gt;&lt;a href=&quot;https://omnil.tistory.com/74&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;페이지&lt;/a&gt;&amp;lt;&amp;lt; 하단에 자세하게 나와있습니다.&lt;br /&gt;&lt;code&gt;screen -S noti&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;10. 파이썬 파일 실행&lt;/h3&gt;
&lt;p&gt;- 파이썬 파일 이름은 watch_key.py입니다.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;python&amp;nbsp;watch_key.py&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;11. 파이썬 파일 내부에서 selenium을 사용할 경우에는 반드시 아래와 같은 옵션을 주고 드라이버를 실행하여야 합니다.&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;from&amp;nbsp;selenium.webdriver.chrome.options&amp;nbsp;import&amp;nbsp;Options &lt;br /&gt;&lt;br /&gt;chrome_options&amp;nbsp;=&amp;nbsp;Options() &lt;br /&gt;chrome_options.add_argument('--headless') &lt;br /&gt;chrome_options.add_argument('--no-sandbox') &lt;br /&gt;chrome_options.add_argument('--disable-dev-shm-usage') &lt;br /&gt;&lt;br /&gt;driver&amp;nbsp;=&amp;nbsp;webdriver.Chrome(options=chrome_options)&lt;/code&gt;&lt;/p&gt;</description>
      <category>Software/AWS</category>
      <category>Anaconda</category>
      <category>aws</category>
      <category>chromedriver</category>
      <category>chromium</category>
      <category>Crawling</category>
      <category>Linux</category>
      <category>Python</category>
      <category>Selenium</category>
      <category>ubuntu</category>
      <category>파이썬</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/161</guid>
      <comments>https://omnil.tistory.com/161#entry161comment</comments>
      <pubDate>Sun, 22 Dec 2019 22:08:38 +0900</pubDate>
    </item>
    <item>
      <title>[python/pandas] read_csv에서 line contains NULL byte 에러</title>
      <link>https://omnil.tistory.com/160</link>
      <description>&lt;p&gt;&lt;b&gt;[python/pandas]&amp;nbsp;read_csv에서&amp;nbsp;line&amp;nbsp;contains&amp;nbsp;NULL&amp;nbsp;byte&amp;nbsp;에러&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Error-&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Line contains NULL byte&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;원인-&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 말 그대로 파일에 NULL 바이트가 섞여서 판다스에서 read_csv로 변환할 수 없다는 에러이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 보통 utf-16 인코딩 파일을 읽어오려할 때 발생한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;해결법-&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 가장 간단한 방법은 원본파일의&lt;span&gt; &lt;/span&gt;인코딩을&lt;span&gt; &lt;/span&gt;재설정하는 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 팁으로 가장 간단하게 메모장으로 열어서 인코딩만 바꿔 재 저장해주는 방법이 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 리눅스에서는&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; $ iconv -c -f utf-16 -t utf-8 file.csv &amp;gt; file2.csv&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 명령어를 통하여 인코딩을 바꿔줄 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 이 경우 추가적으로 file separation을 제대로 못 잡아주는 경우가 생길 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 이 경우엔 명시적으로 sep='\t'옵션을 주면 해결되는 경우가 대부분이다.&lt;/p&gt;</description>
      <category>TIPS/Errors&amp;amp;Solutions</category>
      <category>CSV</category>
      <category>encoding</category>
      <category>error</category>
      <category>Excel</category>
      <category>pandas</category>
      <category>PD</category>
      <category>Python</category>
      <category>read_csv</category>
      <category>파이썬</category>
      <category>판다스</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/160</guid>
      <comments>https://omnil.tistory.com/160#entry160comment</comments>
      <pubDate>Tue, 17 Dec 2019 16:10:23 +0900</pubDate>
    </item>
    <item>
      <title>[python/jupyter/notebook] 주피터 노트북으로 발표하기!</title>
      <link>https://omnil.tistory.com/159</link>
      <description>&lt;p&gt;&lt;b&gt;[python/jupyter/notebook]&amp;nbsp;주피터&amp;nbsp;노트북으로&amp;nbsp;발표하기!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;주피터 노트북으로 발표할 수 있는 방법은&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1] nbviewer&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 장점: 온라인으로 바로 보여줄 수 있음, 공유가 쉬움&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 단점: 매 강의자료마다 gist로 publish해주어야함, 강의자료 공개, 인터넷 환경 필수&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2] nbconvert&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 장점: 다른 어떤 조작도 필요없이 커맨드 명령어 만으로 바로 강의자료를 만들어줌&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 단점: 컨버팅에 인터넷 환경 필수, 각 강의자료마다 하나하나 변환해주어야 함&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3] RISE&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp; &lt;/b&gt;장점: 인터넷 필요 없음, 주피터 노트북만 떠 있다면 바로 주피터를 슬라이드 쇼로 변환가능, 쇼 중간에 셀 실행 가능&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 단점: 처음 설치가 까다로움&lt;/p&gt;
&lt;p&gt;의 세가지가 있습니다.&lt;/p&gt;
&lt;p&gt;그리고 그 전에 각 셀마다 슬라이드 타입을 설정해 주어야 합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;0] 슬라이드 타입 설정&lt;/h3&gt;
&lt;p&gt;1) 메뉴바 -&amp;gt; View -&amp;gt; Cell Toolbar -&amp;gt; Slideshow를 클릭&lt;/p&gt;
&lt;p&gt;2) 그러면 각 셀 위에 오른쪽에 dropdown메뉴로 slide 타입을 설정할 수 있는 메뉴가 생성&lt;/p&gt;
&lt;p&gt;3) 각 셀마다 슬라이드 쇼에서 어떻게 나타낼지를 결정해주면 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; slide : 한 화면에 나올 slide&lt;/p&gt;
&lt;p&gt;&amp;nbsp; sub-slide : 한 화면에 나오는 slide지만 위의 slide에 종속되어 있는 슬라이드. 아래화살표 버튼을 누르면 보여줄 수도 있지만, 바로 슬라이드를 넘김(&amp;gt;)으로 생략할 수도 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; fragment : 한 슬라이드내에서 '나타나기'로 나타나는 조각을 만든다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; skip : 노트북에서는 보이지만 슬라이드 화면에서 보이지 않는 셀로 만든다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; notes : 발표시에 참고가능한 노트로 만든다.&lt;/p&gt;
&lt;p&gt;4) 저장한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1] nbviewer&lt;/h3&gt;
&lt;p&gt;1) 주피터 노트북 파일(.ipynb)로 저장된 파일을 메모장으로 열어준다.&lt;/p&gt;
&lt;p&gt;2) 나오는 코드를 그대로 전체 복사&lt;/p&gt;
&lt;p&gt;3) gist.github.com에 접속&lt;/p&gt;
&lt;p&gt;4) 새 글쓰기를 해서 관련 내용을 붙여넣은 뒤 'create public gist'를 눌러 새 글을 만든다.&lt;/p&gt;
&lt;p&gt;5) 새 글이 써진 뒤 url에서 자기 아이디 뒤의 해시코드를 복사한다.&lt;/p&gt;
&lt;p&gt;6) &lt;a href=&quot;https://nbviewer.jupyter.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://nbviewer.jupyter.org/&lt;/a&gt;에 접속한다.&lt;/p&gt;
&lt;p&gt;7) 복사한 해시코드를 입력창에 붙여넣고 Go!를 누른다.&lt;/p&gt;
&lt;p&gt;8) 발표자료가 바로 실행된다.&lt;/p&gt;
&lt;p style=&quot;font-size: 1.25em;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2] nbconvert&lt;/h3&gt;
&lt;p&gt;1) jupyter nbconvert &amp;lt;주피터파일&amp;gt;.ipynb --to slides --post serve 명령어를 터미널에서 입력한다.&lt;/p&gt;
&lt;p&gt;2) 이 과정은 인터넷이 필요한 과정이다.&lt;/p&gt;
&lt;p&gt;3) 만들어진 .html파일은 인터넷이 없어도 사용할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3] RISE&lt;/h3&gt;
&lt;p&gt;1) pip3 install jupyter_contrib_extensions&lt;/p&gt;
&lt;p&gt;(or conda install -c conda-forge jupyter_contrib_nbextensions)&lt;/p&gt;
&lt;p&gt;2) jupyter contrib nbextension install --user&lt;/p&gt;
&lt;p&gt;3) pip3 install rise&lt;/p&gt;
&lt;p&gt;(or conda install -c damianavila82 rise)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;* 혹은 jupyter-nbextension install rise --py --sys-prefix 도 가능&lt;/p&gt;
&lt;p&gt;&amp;nbsp;* 만약 permission denied에러가 난다면 --sys-prefix옵션을 빼고 실행하면 된다.&lt;/p&gt;
&lt;p&gt;4) jupyter&amp;nbsp;nbextension&amp;nbsp;enable&amp;nbsp;rise&amp;nbsp;--py&amp;nbsp;--sys-prefix&lt;/p&gt;
&lt;p&gt;&amp;nbsp;* 만약 permission denied에러가 난다면 --sys-prefix옵션을 빼고 실행하면 된다.&lt;/p&gt;
&lt;p&gt;5) 메뉴바 아래 아이콘 버튼 중 맨 오른쪽에 차트모양의 'enter/exit RISE Slideshow'가 뜨면 성공! 이제 이 버튼으로 슬라이드쇼를 시작할 수 있다.&lt;/p&gt;
&lt;p&gt;6) 단축키는 alt+r&lt;/p&gt;</description>
      <category>Software/Python</category>
      <category>jupyter</category>
      <category>nbconvert</category>
      <category>nbviewer</category>
      <category>notebook</category>
      <category>presentation</category>
      <category>Python</category>
      <category>Rise</category>
      <category>SLIDE</category>
      <category>SlideShow</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/159</guid>
      <comments>https://omnil.tistory.com/159#entry159comment</comments>
      <pubDate>Thu, 12 Dec 2019 10:54:27 +0900</pubDate>
    </item>
    <item>
      <title>[Linux/Ubuntu] apt-get 패키지 다운로드 서버(sources.list) 변경</title>
      <link>https://omnil.tistory.com/156</link>
      <description>&lt;p&gt;&lt;b&gt;[Linux/Ubuntu] apt-get 패키지 다운로드 서버(sources.list) 변경&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;p&gt;1) 에러&lt;br /&gt;아카이브를 받을 수 없습니다. 아마도 apt-get update를 실행해야 하거나 --fix-missing 옵션을 줘서 실행해야 할 것입니다.&lt;br /&gt;&lt;a href=&quot;kr.archive.ubuntu.com&quot;&gt;kr.archive.ubuntu.com&lt;/a&gt; 연결 실패&lt;br /&gt;Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?&lt;br /&gt;'kr.archive.ubuntu.com'의 주소를 알아낼 수 없습니다&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;kr.archive.ubuntu.com%EC%97%90&quot;&gt;kr.archive.ubuntu.com에&lt;/a&gt; 연결할 수 없습니다&lt;/p&gt;
&lt;p&gt;아카이브를 받을 수 없습니다&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;kr.archive.ubuntu.com&quot;&gt;kr.archive.ubuntu.com&lt;/a&gt;에 연결하는 중입니다&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;kr.archive.ubuntu.com&quot;&gt;kr.archive.ubuntu.com&lt;/a&gt; 404 not found&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) 원인&lt;/p&gt;
&lt;p&gt;Ubuntu를 한글로 변경하게 되었을 때 패키지 다운로드 서버가 자동으로 &lt;a href=&quot;http://kr.archive.ubuntu.com/ubuntu/&quot;&gt;http://kr.archive.ubuntu.com/ubuntu/&lt;/a&gt;로 설정이 됩니다.(/etc/apt/sources.list 파일 변경) 근데 이 서버가 속도 이슈도 있고, 몇 패키지의 경우에는 설치가 안되는 에러가 있습니다. 그래서 이 기본 패키지 서버를 바꾸어주면 에러가 없어집니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3) 해결&lt;br /&gt;패키지 다운로드 서버를 바꿔주면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo vi /etc/apt/sources.list&lt;/code&gt;&lt;br /&gt;명령어 입력시 sources.list파일이 열립니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dN2kgC/btqz04u6zQP/KkFiUPxywgC3NLpLLFSSo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dN2kgC/btqz04u6zQP/KkFiUPxywgC3NLpLLFSSo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dN2kgC/btqz04u6zQP/KkFiUPxywgC3NLpLLFSSo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdN2kgC%2Fbtqz04u6zQP%2FKkFiUPxywgC3NLpLLFSSo1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;여기서&lt;br /&gt;&lt;code&gt;:&lt;/code&gt;&lt;br /&gt;을 입력해 주시면 명령모드가 실행됩니다.(화면 제일 하단에 깜빡이며 명령 대기)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/coRYvo/btqz3oFJCdn/gUPTDTFL22hEKIVv8lk4Gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/coRYvo/btqz3oFJCdn/gUPTDTFL22hEKIVv8lk4Gk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/coRYvo/btqz3oFJCdn/gUPTDTFL22hEKIVv8lk4Gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoRYvo%2Fbtqz3oFJCdn%2FgUPTDTFL22hEKIVv8lk4Gk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;여기에서 &lt;code&gt;%s/kr.archive.ubuntu.com/ftp.daumkakao.com&lt;/code&gt;을 입력해주시고 엔터를 치시면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mFlSr/btqz2DQSCAE/m4nerRC10ZQ2RsCW6mTKQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mFlSr/btqz2DQSCAE/m4nerRC10ZQ2RsCW6mTKQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mFlSr/btqz2DQSCAE/m4nerRC10ZQ2RsCW6mTKQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmFlSr%2Fbtqz2DQSCAE%2Fm4nerRC10ZQ2RsCW6mTKQ0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;code&gt;14 substitutions on 14 lines&lt;/code&gt;라는 글이 명령줄에 나타날 것입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DG9OV/btqz27c40vr/NwrXgvYVoe8KG0oCXQjuMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DG9OV/btqz27c40vr/NwrXgvYVoe8KG0oCXQjuMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DG9OV/btqz27c40vr/NwrXgvYVoe8KG0oCXQjuMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDG9OV%2Fbtqz27c40vr%2FNwrXgvYVoe8KG0oCXQjuMK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;그럼 &lt;code&gt;:wq&lt;/code&gt;를 입력하고 엔터를 쳐서 커맨드 창으로 나와&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bunYF1/btqz03JK6Qk/xn2l9lq4JViKDzsbLCmrZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bunYF1/btqz03JK6Qk/xn2l9lq4JViKDzsbLCmrZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bunYF1/btqz03JK6Qk/xn2l9lq4JViKDzsbLCmrZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbunYF1%2Fbtqz03JK6Qk%2Fxn2l9lq4JViKDzsbLCmrZ1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo apt-get update; sudo apt-get upgrade -y&lt;/code&gt;를 실행해줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctdFZE/btqz3BrfY2k/wMZlEVecJmgUkKMYkQSbq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctdFZE/btqz3BrfY2k/wMZlEVecJmgUkKMYkQSbq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctdFZE/btqz3BrfY2k/wMZlEVecJmgUkKMYkQSbq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctdFZE%2Fbtqz3BrfY2k%2FwMZlEVecJmgUkKMYkQSbq1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;에러없이 실행되면 제대로 동작한 것입니다.&lt;/p&gt;
&lt;p&gt;이후에 에러가 난 명령을 다시 실행해보면 이번엔 에러없이 잘 설치되는 것을 보실 수 있습니다.&lt;/p&gt;</description>
      <category>OS/Linux&amp;amp;Ubuntu</category>
      <category>apt-get</category>
      <category>Linux</category>
      <category>Package</category>
      <category>Server</category>
      <category>sources.list</category>
      <category>ubuntu</category>
      <category>리눅스</category>
      <category>서버</category>
      <category>우분투</category>
      <category>패키지</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/156</guid>
      <comments>https://omnil.tistory.com/156#entry156comment</comments>
      <pubDate>Sun, 1 Dec 2019 23:34:58 +0900</pubDate>
    </item>
    <item>
      <title>[Linux/Ubuntu] 우분투 18.04 한글 설정!</title>
      <link>https://omnil.tistory.com/155</link>
      <description>&lt;p&gt;&lt;b&gt;[Linux/Ubuntu] 우분투 18.04 한글 설정!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;우분투는 처음에 영어로 깔던, 한국어로 깔던 한글 키보드 지원이 되지 않습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이번에는 그래서 한글이 써지도록 우분투를 세팅해보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;한글과 영어 둘다 같은 방법을 따라야 하니, 파일명 혹은 버튼 이름이 다르더라도, 위치와 모양을 보고 따라와주시면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;혹시 몰라 한글과 영어 둘다에서 언어변경을 진행하여 보았습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1) 우분투 화면 좌하단의 점 9개짜리 버튼을 눌러주시면 모든 프로그램의 확인이 가능합니다.&lt;/h3&gt;
&lt;p&gt;만약 여기서 한개 혹은 두개의 프로그램만 보이신다면 하단의 All을 눌러주세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oBiiz/btqz27xe6gl/rp27vTrgNksCxH1BAkvzo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oBiiz/btqz27xe6gl/rp27vTrgNksCxH1BAkvzo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oBiiz/btqz27xe6gl/rp27vTrgNksCxH1BAkvzo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoBiiz%2Fbtqz27xe6gl%2Frp27vTrgNksCxH1BAkvzo1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LSkxe/btqz0AVdHp8/UZ6v2O6aNLehI2usbZACk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LSkxe/btqz0AVdHp8/UZ6v2O6aNLehI2usbZACk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LSkxe/btqz0AVdHp8/UZ6v2O6aNLehI2usbZACk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLSkxe%2Fbtqz0AVdHp8%2FUZ6v2O6aNLehI2usbZACk1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SciTl/btqz1L2Nqra/pPivGLckAjoqsE1PzkaFr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SciTl/btqz1L2Nqra/pPivGLckAjoqsE1PzkaFr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SciTl/btqz1L2Nqra/pPivGLckAjoqsE1PzkaFr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSciTl%2Fbtqz1L2Nqra%2FpPivGLckAjoqsE1PzkaFr1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2) 여기서 Language Support 혹은 언어지원을 클릭하여 실행해줍니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3kyE7/btqz3BSbsOQ/JyCkYqgE66SLOj81JHGeIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3kyE7/btqz3BSbsOQ/JyCkYqgE66SLOj81JHGeIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3kyE7/btqz3BSbsOQ/JyCkYqgE66SLOj81JHGeIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3kyE7%2Fbtqz3BSbsOQ%2FJyCkYqgE66SLOj81JHGeIK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjQbQ0/btqz1BsEaVI/RthnfH69YkrAti5meg3nSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjQbQ0/btqz1BsEaVI/RthnfH69YkrAti5meg3nSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjQbQ0/btqz1BsEaVI/RthnfH69YkrAti5meg3nSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjQbQ0%2Fbtqz1BsEaVI%2FRthnfH69YkrAti5meg3nSK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3) 거의 100% 처음 실행시 무언가를 설치하라는 창이 뜰 겁니다. install 클릭하여주시고, 자동으로 유저인증창이 뜨게 되는데, 그냥 비밀번호 입력하여 주시면 됩니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFdTtp/btqz1Bsyds3/LBpZgK4RSLs1sRwuL9vklK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFdTtp/btqz1Bsyds3/LBpZgK4RSLs1sRwuL9vklK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFdTtp/btqz1Bsyds3/LBpZgK4RSLs1sRwuL9vklK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFdTtp%2Fbtqz1Bsyds3%2FLBpZgK4RSLs1sRwuL9vklK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/copq9k/btqz25M2QLj/7G1PCCkvve14pogkHXptOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/copq9k/btqz25M2QLj/7G1PCCkvve14pogkHXptOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/copq9k/btqz25M2QLj/7G1PCCkvve14pogkHXptOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcopq9k%2Fbtqz25M2QLj%2F7G1PCCkvve14pogkHXptOk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u5Dqv/btqz1MABJ6u/iQVLV5x1cOkDkyWriMQbNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u5Dqv/btqz1MABJ6u/iQVLV5x1cOkDkyWriMQbNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u5Dqv/btqz1MABJ6u/iQVLV5x1cOkDkyWriMQbNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu5Dqv%2Fbtqz1MABJ6u%2FiQVLV5x1cOkDkyWriMQbNK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;335&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crcxRh/btqz2DQP7sy/fdreH6WUlpt8IzKrxmzVJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crcxRh/btqz2DQP7sy/fdreH6WUlpt8IzKrxmzVJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crcxRh/btqz2DQP7sy/fdreH6WUlpt8IzKrxmzVJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrcxRh%2Fbtqz2DQP7sy%2FfdreH6WUlpt8IzKrxmzVJk%2Fimg.png&quot; data-origin-width=&quot;511&quot; data-origin-height=&quot;335&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4) 설치 완료 후 해당 창에서 키보드입력기가 Ibus인지 확인하여 주시고, Install/Remove Languages[언어 설치/제거]버튼을 클릭하여 줍니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3XPF0/btqz1LaCbSs/duIrbOAw3IxagJfktYdb4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3XPF0/btqz1LaCbSs/duIrbOAw3IxagJfktYdb4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3XPF0/btqz1LaCbSs/duIrbOAw3IxagJfktYdb4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3XPF0%2Fbtqz1LaCbSs%2FduIrbOAw3IxagJfktYdb4K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQjJNz/btqzZ2YMMrZ/chZlfrBW4LkMho2MlNev90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQjJNz/btqzZ2YMMrZ/chZlfrBW4LkMho2MlNev90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQjJNz/btqzZ2YMMrZ/chZlfrBW4LkMho2MlNev90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQjJNz%2FbtqzZ2YMMrZ%2FchZlfrBW4LkMho2MlNev90%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5) 목록에서 Korean을 선택하여 체크하시고 apply버튼을 눌러줍니다. (한국버전의 경우 '한국어'이지만, 영문버전으로 설치하였을 경우에는 Korean입니다.)&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dF5zFB/btqz2E29yDK/15wKAPcEWCDgeQvfRrdLuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dF5zFB/btqz2E29yDK/15wKAPcEWCDgeQvfRrdLuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dF5zFB/btqz2E29yDK/15wKAPcEWCDgeQvfRrdLuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdF5zFB%2Fbtqz2E29yDK%2F15wKAPcEWCDgeQvfRrdLuk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2ziAg/btqz0CyKfV7/krgZog1Nuv3hTQy9O7dWq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2ziAg/btqz0CyKfV7/krgZog1Nuv3hTQy9O7dWq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2ziAg/btqz0CyKfV7/krgZog1Nuv3hTQy9O7dWq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2ziAg%2Fbtqz0CyKfV7%2FkrgZog1Nuv3hTQy9O7dWq1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;여기서 설치할 때 한번 더 비밀번호를 물어볼 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6) 처음 창에서 Language 탭에 한국어가 추가되었는지 확인합니다.&lt;/h3&gt;
&lt;p data-ke-size=&quot;size23&quot;&gt;만약 추가가 되지 않았으면 Install/Remove Languages버튼을 클릭하여 Korean을 체크 해제하시고 apply후 다시 Korean을 체크 하시고 apply하여 재설치 해줍니다.&lt;/p&gt;
&lt;p&gt;* 이미지와 같이 맨 위에 뜨지 않을수도 있습니다. 하단의 회색으로 뜨더라도 설치가 된 것입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pHet2/btqz3oS5gv3/MJ3gkLm3bnT5BADnjFwKN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pHet2/btqz3oS5gv3/MJ3gkLm3bnT5BADnjFwKN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pHet2/btqz3oS5gv3/MJ3gkLm3bnT5BADnjFwKN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpHet2%2Fbtqz3oS5gv3%2FMJ3gkLm3bnT5BADnjFwKN1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dlDrSK/btqz1Agd2Im/JpqFy0w4YGbjpThddZCHjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dlDrSK/btqz1Agd2Im/JpqFy0w4YGbjpThddZCHjk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dlDrSK/btqz1Agd2Im/JpqFy0w4YGbjpThddZCHjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdlDrSK%2Fbtqz1Agd2Im%2FJpqFy0w4YGbjpThddZCHjk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7) 터미널 창을 띄우고 &amp;lt;code&amp;gt;ibus-setup&amp;lt;/code&amp;gt;을 입력하여 실행해줍니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u9tFy/btqz3nGDpdA/SztFJ4gHkFKr2PcTSKo9Yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u9tFy/btqz3nGDpdA/SztFJ4gHkFKr2PcTSKo9Yk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u9tFy/btqz3nGDpdA/SztFJ4gHkFKr2PcTSKo9Yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu9tFy%2Fbtqz3nGDpdA%2FSztFJ4gHkFKr2PcTSKo9Yk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfSbuA/btqz2DQQv3L/kMbMjSo6WMWjphLMdgGn2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfSbuA/btqz2DQQv3L/kMbMjSo6WMWjphLMdgGn2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfSbuA/btqz2DQQv3L/kMbMjSo6WMWjphLMdgGn2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfSbuA%2Fbtqz2DQQv3L%2FkMbMjSo6WMWjphLMdgGn2k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8) 새로운 창이 뜹니다. 2번째 탭의 'input method'[입력기]에 가셔서 Add 버튼을 눌러줍니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IjulS/btqz133ajV6/LlpK5O9WjbTXEiOllfkSl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IjulS/btqz133ajV6/LlpK5O9WjbTXEiOllfkSl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IjulS/btqz133ajV6/LlpK5O9WjbTXEiOllfkSl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIjulS%2Fbtqz133ajV6%2FLlpK5O9WjbTXEiOllfkSl1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s2ACM/btqz257oOQY/mBmDqb3SP6wHeK4EY0kotk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s2ACM/btqz257oOQY/mBmDqb3SP6wHeK4EY0kotk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s2ACM/btqz257oOQY/mBmDqb3SP6wHeK4EY0kotk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs2ACM%2Fbtqz257oOQY%2FmBmDqb3SP6wHeK4EY0kotk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;9) 새 창에서 ...을 클릭하여 주시고 Korean을 선택한 다음 Hangul을 Add하시면 됩니다.&lt;/h3&gt;
&lt;p&gt;여기서 ...클릭 후에 Korean이 뜨지 않는 경우가 있는데 이때는 우분투 재시작 후 7)번 부터 다시 진행하시면 됩니다.(한글 버전에선 '한국어'로 뜨고, 영문버전에선 Korean으로 뜹니다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/018Jm/btqz1BMQZod/5ok0akPBqC6INttAXJ4mBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/018Jm/btqz1BMQZod/5ok0akPBqC6INttAXJ4mBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/018Jm/btqz1BMQZod/5ok0akPBqC6INttAXJ4mBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F018Jm%2Fbtqz1BMQZod%2F5ok0akPBqC6INttAXJ4mBK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crhZwp/btqz3BxXPLu/OYKM949VB5xxnRNzBcR9fK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crhZwp/btqz3BxXPLu/OYKM949VB5xxnRNzBcR9fK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crhZwp/btqz3BxXPLu/OYKM949VB5xxnRNzBcR9fK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrhZwp%2Fbtqz3BxXPLu%2FOYKM949VB5xxnRNzBcR9fK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qj2AE/btqzZ3iWVry/C5rPYU9WLIZoZxlTi28Isk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qj2AE/btqzZ3iWVry/C5rPYU9WLIZoZxlTi28Isk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qj2AE/btqzZ3iWVry/C5rPYU9WLIZoZxlTi28Isk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqj2AE%2FbtqzZ3iWVry%2FC5rPYU9WLIZoZxlTi28Isk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5dsCj/btqz042PMZE/ijIGzjjhGPRSSSy2xpjuKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5dsCj/btqz042PMZE/ijIGzjjhGPRSSSy2xpjuKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5dsCj/btqz042PMZE/ijIGzjjhGPRSSSy2xpjuKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5dsCj%2Fbtqz042PMZE%2FijIGzjjhGPRSSSy2xpjuKK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAhjat/btqz2EoD3dp/TSOIrQF8JBOwFT5XDZKYCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAhjat/btqz2EoD3dp/TSOIrQF8JBOwFT5XDZKYCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAhjat/btqz2EoD3dp/TSOIrQF8JBOwFT5XDZKYCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAhjat%2Fbtqz2EoD3dp%2FTSOIrQF8JBOwFT5XDZKYCk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0r2Bh/btqz26SEiA9/JrXzdxy5ePNnktEtzWQ0u1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0r2Bh/btqz26SEiA9/JrXzdxy5ePNnktEtzWQ0u1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0r2Bh/btqz26SEiA9/JrXzdxy5ePNnktEtzWQ0u1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0r2Bh%2Fbtqz26SEiA9%2FJrXzdxy5ePNnktEtzWQ0u1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WIO4K/btqz3m8Sv6s/cVFOv7jPGj8uyQvcs27bkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WIO4K/btqz3m8Sv6s/cVFOv7jPGj8uyQvcs27bkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WIO4K/btqz3m8Sv6s/cVFOv7jPGj8uyQvcs27bkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWIO4K%2Fbtqz3m8Sv6s%2FcVFOv7jPGj8uyQvcs27bkK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;언어지원 프로그램에서 할 일은 다 끝났습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;10) 다음은 다시 점 9개짜리 좌하단 버튼을 누르시고 Settings 혹은 설정 아이콘을 클릭합니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfiVXg/btqz12cafBo/ePsT5G7g7kRQiHfffAXkDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfiVXg/btqz12cafBo/ePsT5G7g7kRQiHfffAXkDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfiVXg/btqz12cafBo/ePsT5G7g7kRQiHfffAXkDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfiVXg%2Fbtqz12cafBo%2FePsT5G7g7kRQiHfffAXkDK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lNwjK/btqz1LaIEau/AzQhf0KrlVQoX5sOfB6jXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lNwjK/btqz1LaIEau/AzQhf0KrlVQoX5sOfB6jXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lNwjK/btqz1LaIEau/AzQhf0KrlVQoX5sOfB6jXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlNwjK%2Fbtqz1LaIEau%2FAzQhf0KrlVQoX5sOfB6jXk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;11) Region &amp;amp; Language 혹은 지역 및 언어설정 탭에서&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdcJLN/btqz1L9wC85/qsPB40wF5QKar1DvPhCDTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdcJLN/btqz1L9wC85/qsPB40wF5QKar1DvPhCDTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdcJLN/btqz1L9wC85/qsPB40wF5QKar1DvPhCDTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdcJLN%2Fbtqz1L9wC85%2FqsPB40wF5QKar1DvPhCDTk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buDFjl/btqz04WbDma/TTZmLCQWlpAbVNl06NiEKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buDFjl/btqz04WbDma/TTZmLCQWlpAbVNl06NiEKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buDFjl/btqz04WbDma/TTZmLCQWlpAbVNl06NiEKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuDFjl%2Fbtqz04WbDma%2FTTZmLCQWlpAbVNl06NiEKK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Language를 클릭하셔서 '한국어'로 바꿔주시고 Done을 누릅니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lqwYU/btqz12QIxLO/tHTK4Zxxhw30yTvKlpT3z0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lqwYU/btqz12QIxLO/tHTK4Zxxhw30yTvKlpT3z0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lqwYU/btqz12QIxLO/tHTK4Zxxhw30yTvKlpT3z0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlqwYU%2Fbtqz12QIxLO%2FtHTK4Zxxhw30yTvKlpT3z0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfVMvg/btqz1AUNeI7/wyZhcWNTqYrJ01LOZklkH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfVMvg/btqz1AUNeI7/wyZhcWNTqYrJ01LOZklkH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfVMvg/btqz1AUNeI7/wyZhcWNTqYrJ01LOZklkH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfVMvg%2Fbtqz1AUNeI7%2FwyZhcWNTqYrJ01LOZklkH0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcNovY/btqz1AUIiSG/bKiptEBTHWjQWkYFsOc2fk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcNovY/btqz1AUIiSG/bKiptEBTHWjQWkYFsOc2fk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcNovY/btqz1AUIiSG/bKiptEBTHWjQWkYFsOc2fk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcNovY%2Fbtqz1AUIiSG%2FbKiptEBTHWjQWkYFsOc2fk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A7zEm/btqz04ojF16/q5LKdNqsb3onmuAoPqmvV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A7zEm/btqz04ojF16/q5LKdNqsb3onmuAoPqmvV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A7zEm/btqz04ojF16/q5LKdNqsb3onmuAoPqmvV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA7zEm%2Fbtqz04ojF16%2Fq5LKdNqsb3onmuAoPqmvV1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이때 바로 아래에 Restart버튼이 생기는데, 잠시 후에 키보드 설정까지 끝내고 재시작하도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dxN748/btqzZ16xmms/pJ55iUKYXyh6cm9fgHHFI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dxN748/btqzZ16xmms/pJ55iUKYXyh6cm9fgHHFI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dxN748/btqzZ16xmms/pJ55iUKYXyh6cm9fgHHFI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdxN748%2FbtqzZ16xmms%2FpJ55iUKYXyh6cm9fgHHFI1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGlAHE/btqz0BzOSEm/DFTc3oj4pHrO89lGuFLZ10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGlAHE/btqz0BzOSEm/DFTc3oj4pHrO89lGuFLZ10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGlAHE/btqz0BzOSEm/DFTc3oj4pHrO89lGuFLZ10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGlAHE%2Fbtqz0BzOSEm%2FDFTc3oj4pHrO89lGuFLZ10%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;12) 그 아래 input source에서 +버튼을 눌러 Korean을 선택하고 Korean(Hangul)을 체크하여 Add버튼을 눌러줍니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m5U9i/btqz2EISp1e/gsxeElNbMkmKbT39J1Cq3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m5U9i/btqz2EISp1e/gsxeElNbMkmKbT39J1Cq3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m5U9i/btqz2EISp1e/gsxeElNbMkmKbT39J1Cq3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm5U9i%2Fbtqz2EISp1e%2FgsxeElNbMkmKbT39J1Cq3K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6SOGj/btqz12J31rz/KEfc7kLDKRLqasFbISYWK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6SOGj/btqz12J31rz/KEfc7kLDKRLqasFbISYWK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6SOGj/btqz12J31rz/KEfc7kLDKRLqasFbISYWK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6SOGj%2Fbtqz12J31rz%2FKEfc7kLDKRLqasFbISYWK0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GRAng/btqz2EWmHJq/nHKFQ8wOk1D47rkREtNF60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GRAng/btqz2EWmHJq/nHKFQ8wOk1D47rkREtNF60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GRAng/btqz2EWmHJq/nHKFQ8wOk1D47rkREtNF60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGRAng%2Fbtqz2EWmHJq%2FnHKFQ8wOk1D47rkREtNF60%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KZRUK/btqz042PT2a/ilBf2s4g26H479hQ2yl2gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KZRUK/btqz042PT2a/ilBf2s4g26H479hQ2yl2gk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KZRUK/btqz042PT2a/ilBf2s4g26H479hQ2yl2gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKZRUK%2Fbtqz042PT2a%2FilBf2s4g26H479hQ2yl2gk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ogYZr/btqz3oyLVRn/S9KQg8SbTXyhff8xozVVMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ogYZr/btqz3oyLVRn/S9KQg8SbTXyhff8xozVVMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ogYZr/btqz3oyLVRn/S9KQg8SbTXyhff8xozVVMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FogYZr%2Fbtqz3oyLVRn%2FS9KQg8SbTXyhff8xozVVMK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eH3L9D/btqz1L2N1nF/upEePgnCVzSUCOFsyfwID1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eH3L9D/btqz1L2N1nF/upEePgnCVzSUCOFsyfwID1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eH3L9D/btqz1L2N1nF/upEePgnCVzSUCOFsyfwID1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeH3L9D%2Fbtqz1L2N1nF%2FupEePgnCVzSUCOFsyfwID1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;13) 새로 추가된 Korean(Hangul)을 선택해주시면 아래쪽에 톱니바퀴 버튼이 생깁니다. 이걸 클릭해주세요.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csdAXF/btqz1BlOoXR/jMAYBtgzM9rFWs7tmVESG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csdAXF/btqz1BlOoXR/jMAYBtgzM9rFWs7tmVESG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csdAXF/btqz1BlOoXR/jMAYBtgzM9rFWs7tmVESG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsdAXF%2Fbtqz1BlOoXR%2FjMAYBtgzM9rFWs7tmVESG0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GtYCL/btqz3A0aKUD/4CWVDdKblOUnYvGnECOIyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GtYCL/btqz3A0aKUD/4CWVDdKblOUnYvGnECOIyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GtYCL/btqz3A0aKUD/4CWVDdKblOUnYvGnECOIyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGtYCL%2Fbtqz3A0aKUD%2F4CWVDdKblOUnYvGnECOIyk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;14) 새로 뜨는 창에서 기존의 방법들을 다 지우고 Add(추가) 버튼으로 키보드의 '한영키'를 눌러줍니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q6WLx/btqz1BszMm6/3RkIjIQG4RPIuyymtOXnwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q6WLx/btqz1BszMm6/3RkIjIQG4RPIuyymtOXnwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q6WLx/btqz1BszMm6/3RkIjIQG4RPIuyymtOXnwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ6WLx%2Fbtqz1BszMm6%2F3RkIjIQG4RPIuyymtOXnwK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgATlm/btqz1AUNi6t/Q0LgzVY5szivAKq0s0bzf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgATlm/btqz1AUNi6t/Q0LgzVY5szivAKq0s0bzf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgATlm/btqz1AUNi6t/Q0LgzVY5szivAKq0s0bzf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgATlm%2Fbtqz1AUNi6t%2FQ0LgzVY5szivAKq0s0bzf1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LXmOn/btqz27qxBYO/vMbFtSY6AIQkpK1xZ37E21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LXmOn/btqz27qxBYO/vMbFtSY6AIQkpK1xZ37E21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LXmOn/btqz27qxBYO/vMbFtSY6AIQkpK1xZ37E21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLXmOn%2Fbtqz27qxBYO%2FvMbFtSY6AIQkpK1xZ37E21%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;보통은 Alt_R로 표시됩니다. (추가(add)버튼을 누르면 아무것도 입력되지 않은 상태로 아래와 같은 창이 떠 있습니다. 키를 누르면 그 키가 검은색으로 표시되고, 이 상태에서 확인을 누르시면 됩니다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btTyZb/btqz25zuZbp/VYlFpwg41yxexfcbuxawFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btTyZb/btqz25zuZbp/VYlFpwg41yxexfcbuxawFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btTyZb/btqz25zuZbp/VYlFpwg41yxexfcbuxawFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtTyZb%2Fbtqz25zuZbp%2FVYlFpwg41yxexfcbuxawFK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zx2Z9/btqz1KQo7Bt/KwQYx7hElyKIMp6WIyIqI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zx2Z9/btqz1KQo7Bt/KwQYx7hElyKIMp6WIyIqI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zx2Z9/btqz1KQo7Bt/KwQYx7hElyKIMp6WIyIqI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZx2Z9%2Fbtqz1KQo7Bt%2FKwQYx7hElyKIMp6WIyIqI1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vvDTd/btqz1KQjqZb/nneYemMo0km214uooV7rAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vvDTd/btqz1KQjqZb/nneYemMo0km214uooV7rAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vvDTd/btqz1KQjqZb/nneYemMo0km214uooV7rAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvvDTd%2Fbtqz1KQjqZb%2FnneYemMo0km214uooV7rAk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byCMdo/btqzZ2qR1Uy/8kocNQ2KWTpKJkSc7XNYaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byCMdo/btqzZ2qR1Uy/8kocNQ2KWTpKJkSc7XNYaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byCMdo/btqzZ2qR1Uy/8kocNQ2KWTpKJkSc7XNYaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyCMdo%2FbtqzZ2qR1Uy%2F8kocNQ2KWTpKJkSc7XNYaK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;(여기서 기존의 방법들 중 Hangul이 있고, 톱니모양 옆에 키보드 버튼을 눌렀을 때도 한영변환키가 Hangul이라 한영키 누르면 한글과 영문이 바뀔 것 같지만 안됩니다. 실제로 Add하여 한영키 눌러보면 한영키는 Alt_R입니다. 일종의 낚시..)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XSLVm/btqz26yrLKa/BGWR6jkFgOZEuNsTtK2AJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XSLVm/btqz26yrLKa/BGWR6jkFgOZEuNsTtK2AJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XSLVm/btqz26yrLKa/BGWR6jkFgOZEuNsTtK2AJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXSLVm%2Fbtqz26yrLKa%2FBGWR6jkFgOZEuNsTtK2AJk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1Wcub/btqz26Fc2RB/5iOTwpy3GeDdaMAe2DHZ7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1Wcub/btqz26Fc2RB/5iOTwpy3GeDdaMAe2DHZ7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1Wcub/btqz26Fc2RB/5iOTwpy3GeDdaMAe2DHZ7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1Wcub%2Fbtqz26Fc2RB%2F5iOTwpy3GeDdaMAe2DHZ7k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p5DnQ/btqz26Fc3pw/NhDywKRrC5xHKrUkAjKfbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p5DnQ/btqz26Fc3pw/NhDywKRrC5xHKrUkAjKfbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p5DnQ/btqz26Fc3pw/NhDywKRrC5xHKrUkAjKfbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp5DnQ%2Fbtqz26Fc3pw%2FNhDywKRrC5xHKrUkAjKfbK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;15) 이후엔 확인 버튼들을 눌러 창을 전부 꺼주고, 설정창에서 Restart버튼을 클릭하여 재시작해줍니다.&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dxN748/btqzZ16xmms/pJ55iUKYXyh6cm9fgHHFI1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dxN748/btqzZ16xmms/pJ55iUKYXyh6cm9fgHHFI1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dxN748/btqzZ16xmms/pJ55iUKYXyh6cm9fgHHFI1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdxN748%2FbtqzZ16xmms%2FpJ55iUKYXyh6cm9fgHHFI1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqR8aF/btqz2E9ZM6u/TbKVZxc1KxIHkliDk3RSc1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqR8aF/btqz2E9ZM6u/TbKVZxc1KxIHkliDk3RSc1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqR8aF/btqz2E9ZM6u/TbKVZxc1KxIHkliDk3RSc1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqR8aF%2Fbtqz2E9ZM6u%2FTbKVZxc1KxIHkliDk3RSc1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;16) 재시작되면 폴더이름 업데이트창이 뜨는데,&lt;/h3&gt;
&lt;p&gt;다른 포스팅에서도 언급하였듯이 한글로 된 폴더명은 가끔 좋지않은 결과를 가져오기 때문에 &lt;b&gt;다시묻지않기&lt;/b&gt;에 체크하시고 &lt;b&gt;예전 이름 유지&lt;/b&gt;버튼을 눌러줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XjL22/btqz13928R4/fFTTis12dGp07bX5I7XTrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XjL22/btqz13928R4/fFTTis12dGp07bX5I7XTrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XjL22/btqz13928R4/fFTTis12dGp07bX5I7XTrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXjL22%2Fbtqz13928R4%2FfFTTis12dGp07bX5I7XTrK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;17) 텍스트편집기 등으로 한영변환이 이루어지는지 확인해봅니다.&lt;/h3&gt;
&lt;p&gt;한영변환키를 눌렀을 때 우측 상단에 &lt;b&gt;en&lt;/b&gt;과 &lt;b&gt;한&lt;/b&gt;이 번갈아 표시됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drj9sd/btqz03JEa2H/f4oNqBiYJZM6L6xJ8qAjP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drj9sd/btqz03JEa2H/f4oNqBiYJZM6L6xJ8qAjP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drj9sd/btqz03JEa2H/f4oNqBiYJZM6L6xJ8qAjP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdrj9sd%2Fbtqz03JEa2H%2Ff4oNqBiYJZM6L6xJ8qAjP0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eaykVm/btqz1Lhpaer/xTmNaM0A1JWGrARZ4pI7RK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eaykVm/btqz1Lhpaer/xTmNaM0A1JWGrARZ4pI7RK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eaykVm/btqz1Lhpaer/xTmNaM0A1JWGrARZ4pI7RK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeaykVm%2Fbtqz1Lhpaer%2FxTmNaM0A1JWGrARZ4pI7RK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;그러나 버튼을 눌러도 번갈아 표시가 되지 않는다면 한번 클릭하여 보시면, 버튼 활성화가 안되어있습니다.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;이것을 활성화해주시면 한글이 작동됩니다.(이것 때문에 한참 헤맸습니다.)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OI1u4/btqz3nzSySm/RSTr93BiSMaGSDMF1PfbS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OI1u4/btqz3nzSySm/RSTr93BiSMaGSDMF1PfbS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OI1u4/btqz3nzSySm/RSTr93BiSMaGSDMF1PfbS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOI1u4%2Fbtqz3nzSySm%2FRSTr93BiSMaGSDMF1PfbS0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w2ZcT/btqz25Gd8Aq/1lr0KOGZqSuE63qfeOsFGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w2ZcT/btqz25Gd8Aq/1lr0KOGZqSuE63qfeOsFGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w2ZcT/btqz25Gd8Aq/1lr0KOGZqSuE63qfeOsFGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw2ZcT%2Fbtqz25Gd8Aq%2F1lr0KOGZqSuE63qfeOsFGk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3RpkB/btqz2EPGM2N/KuTvUqKm4a490d1Q0kPAHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3RpkB/btqz2EPGM2N/KuTvUqKm4a490d1Q0kPAHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3RpkB/btqz2EPGM2N/KuTvUqKm4a490d1Q0kPAHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3RpkB%2Fbtqz2EPGM2N%2FKuTvUqKm4a490d1Q0kPAHK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYwHY7/btqz0AHFNrb/6eIVM5k2zbHYljIXASkUeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYwHY7/btqz0AHFNrb/6eIVM5k2zbHYljIXASkUeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYwHY7/btqz0AHFNrb/6eIVM5k2zbHYljIXASkUeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYwHY7%2Fbtqz0AHFNrb%2F6eIVM5k2zbHYljIXASkUeK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이후엔 한영키 눌러주면 잘 en과 한이 변환됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이렇게 설정해주시면 이제 우분투에서도 한글을 사용하실 수 있습니다.&lt;/p&gt;</description>
      <category>OS/Linux&amp;amp;Ubuntu</category>
      <category>Linux</category>
      <category>ubunut</category>
      <category>리눅스</category>
      <category>설정</category>
      <category>우분투</category>
      <category>키보드</category>
      <category>한글</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/155</guid>
      <comments>https://omnil.tistory.com/155#entry155comment</comments>
      <pubDate>Sat, 30 Nov 2019 20:28:25 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] 우분투 설치 후 nvidia 그래픽 카드 드라이버 설정</title>
      <link>https://omnil.tistory.com/154</link>
      <description>&lt;h2&gt;[Linux] 우분투 설치 후 nvidia 그래픽 카드 드라이버 설정&lt;/h2&gt;
&lt;p&gt;우분투를 설치 시 기본적으로 드라이버는 전부 잡으나, 노트북에 nvidia 그래픽 카드가 따로 달려있을 때는 자동으로 드라이버를 잡지 못합니다.(요새는 기본적으로 cpu칩셋에 내장 그래픽이 들어가서 이걸로 잡는 것 같습니다.)&lt;/p&gt;
&lt;p&gt;일단 내 컴퓨터에 nvidia 드라이버가 제대로 깔렸는지 확인하기 위해서 &lt;code&gt;nivida-smi&lt;/code&gt;명령어를 실행해봅니다.&lt;br&gt;명령어가 제대로 실행되지 않으면 드라이버가 설치되지 않은 것 입니다.&lt;/p&gt;
&lt;p&gt;그럼 드라이버를 설치해 보겠습니다. 방법은 아주 쉽습니다.&lt;/p&gt;
&lt;p&gt;먼저&lt;br&gt;&lt;code&gt;sudo add-apt-repository ppa:graphics-drivers/ppa&lt;/code&gt;&lt;br&gt;&lt;code&gt;sudo ubuntu-drivers autoinstall&lt;/code&gt;&lt;br&gt;이 두줄의 코드를 실행하여 드라이버를 설치하여 주십시오.&lt;/p&gt;
&lt;p&gt;이후&lt;br&gt;&lt;code&gt;sudo reboot&lt;/code&gt;&lt;br&gt;명령어를 통하여 재부팅 후에&lt;/p&gt;
&lt;p&gt;제대로 nvidia가 설치되었는지 확인하는 방법은 아래 두가지 중 하나를 통하여 확인해보시면 됩니다.&lt;br&gt;&lt;code&gt;sudo nvidia-settings&lt;/code&gt;&lt;br&gt;&lt;code&gt;nvidia-smi&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;추가적으로 현재 컴퓨터의 그래픽카드 사양은 아래의 명령어로 확인해보실 수 있습니다.&lt;br&gt;&lt;code&gt;lspci | grep VGA&lt;/code&gt;&lt;/p&gt;</description>
      <category>OS/Linux&amp;amp;Ubuntu</category>
      <category>Card</category>
      <category>driver</category>
      <category>GForce</category>
      <category>Graphic</category>
      <category>GTX</category>
      <category>Linux</category>
      <category>nvidia</category>
      <category>RTX</category>
      <category>ubuntu</category>
      <category>우분투</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/154</guid>
      <comments>https://omnil.tistory.com/154#entry154comment</comments>
      <pubDate>Fri, 29 Nov 2019 19:01:42 +0900</pubDate>
    </item>
    <item>
      <title>[Linux] 우분투 18.04 설치하기!</title>
      <link>https://omnil.tistory.com/150</link>
      <description>&lt;p&gt;&lt;b&gt;[Linux]&amp;nbsp;우분투&amp;nbsp;18.04&amp;nbsp;설치하기!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;사실 요새 OS설치는 갈수록 쉬워지고 있습니다. 그럼에도 불구하고 어느정도는 가이드가 있어야 설치가 더 쉬워지기 때문에 이 글을 작성합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1) 먼저 Ubuntu OS 설치 USB를 만들어주어야 합니다.&lt;/h3&gt;
&lt;p&gt;이는 &lt;a href=&quot;https://omnil.tistory.com/151&quot;&gt;https://omnil.tistory.com/151&lt;/a&gt;를 참조하시면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2) 이후에는 usb를 컴퓨터에 연결하고 bios세팅에서 usb를 부팅디스크로 잡아주면 됩니다.&lt;/h3&gt;
&lt;p&gt;보통 부팅 후 F2키를 연타하면 bios로 넘어가고 여기서 바이오스마다 다르지만 boot settings와 같은 메뉴에서 부팅 순서를 변경하던가, 직접 부팅할 디스크를 설정할 수 있습니다.&lt;/p&gt;
&lt;p&gt;* 윈도우즈와 다르게 설치하면서 자동으로 꺼졌다 켜졌다하지 않고, 우분투는 한번에 쭉 설치하니 한번만 부팅 디스크로 설정해줘도 괜찮습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3) install ubuntu 선택&lt;/h3&gt;
&lt;p&gt;처음 화면은 까만색 도스창에서 펼쳐지는 grup창입니다. 기본적으로 우분투 트라이얼 버전이 선택되어있고, 약 10초간의 자동선택 시간이 있습니다. 저희는 직접 우분투를 설치할 것이므로 그 아래 install ubuntu를 선택하여줍니다.(한번 선택을 변경하면 자동 선택시간은 사라집니다.)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4) 언어선택&lt;/h3&gt;
&lt;p&gt;그러면&amp;nbsp;보라색&amp;nbsp;화면이&amp;nbsp;나오면서&amp;nbsp;ubuntu로고가&amp;nbsp;뜰&amp;nbsp;것입니다.&lt;/p&gt;
&lt;p&gt;이후 인스톨 화면의 처음은 언어선택입니다.&lt;/p&gt;
&lt;p&gt;한국어로 하셔도 괜찮지만, 가장 기본적인 영어로 선택하시는 것을 추천드립니다. 그래서 이후의 과정은 '영어'를 기준으로 설명드립니다.&lt;/p&gt;
&lt;p&gt;(물론 한국어로 설치하신 뒤 영문으로 시스템을 돌리는 방법도 있고, 영문으로 설치 뒤 한글로 변경하는 방법 두가지 다 존재합니다.)&lt;/p&gt;
&lt;p&gt;한국어로 설치시에는 설치 과정이 한글로 안내되어 설치의 체감 난이도가 확 낮아지는 것이 장점입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5) 키보드 선택은 English(US)&lt;/h3&gt;
&lt;p&gt;딱히 맥에서 듀얼부팅을 하신다거나 하신 것이 아니시면 그냥 English(US)설정해주시면 됩니다. (맥의 경우 English - Machintosh 선택해주시면 됩니다.)&lt;/p&gt;
&lt;p&gt;* 참고로 맥북에서 리눅스는 2015버전 맥북까지는 자동으로 드라이버를 잡지만, 그 이후 맥북(뉴 맥북)은 따로 드라이버를 설치하셔야 합니다. 즉, 설치시 따로 usb 직렬 마우스와 키보드가 없으면 설치가 불가능합니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6) 인터넷 연결&lt;/h3&gt;
&lt;p&gt;리눅스는 인터넷 연결 후 설치하시는 편이 좋습니다. 자잘한 버그픽스나 업데이트등을 설치하면서 자동으로 진행해주기때문입니다.&lt;/p&gt;
&lt;p&gt;인터넷 글 중에 무선랜 오류가 있어서 유선랜으로 진행하여야만 한다는 글이 있는데, 제가 설치해본 결과로는 꼭 유선랜을 고집할 필요가 없습니다.&amp;nbsp;유선 랜이 연결되지 않았으면 자동으로 무선랜을 잡고 와이파이 연결시도합니다.&lt;/p&gt;
&lt;p&gt;그러나 안전하게 설치하시려면 유선랜으로 진행하시고, 만약 이 과정에서 무선랜을 못잡거나 무선랜에서 와이파이에 접속이 되지 않는경우 유선랜으로 진행하시는 편을 추천드립니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7) 설치 형식&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;7-1) 다른 OS 없이 처음 우분투를 설치하는 경우&lt;/h4&gt;
&lt;p&gt;Erase disk and install ubuntu를 선택하시고, 아래 체크박스는 하나도 선택하지 않으시고 진행해주시면 됩니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;7-2) 다른 OS 위에 듀얼로 우분투를 설치하는 경우&lt;/h4&gt;
&lt;p&gt;제일 아래 '기타'를 선택하신 뒤 다음으로 넘어가 파티션 설정을 해주시면 됩니다.&lt;/p&gt;
&lt;p&gt;물론 이 과정 전에 우분투를 설치할 파티션을 따로 설정해주셔야 합니다. 윈도우즈의 디스크매니저나 맥의 디스크 유틸리티에서 진행해주시면 됩니다.&lt;/p&gt;
&lt;p&gt;관련 포스팅: &lt;a href=&quot;https://omnil.tistory.com/153&quot;&gt;https://omnil.tistory.com/153&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8) 기타 설정&lt;/h3&gt;
&lt;p&gt;위의 과정이 가장 복잡한 과정이며, 이후에는 현재 시간을 표시할 시간대를 설정하고, 유저 아이디와 패스워드를 설정하는 것만 남아있습니다.&lt;/p&gt;
&lt;p&gt;이 과정 뒤에 본격적인 설치가 진행되고, 설치가 완료되면 재부팅 해야한다는 메시지가 뜹니다.&lt;/p&gt;
&lt;p&gt;컴퓨터가 재부팅 과정에서 완전히 꺼지면 설치 usb를 제거해주시고(그 전에 제거하면 remove media, then restart와 같은 메시지가 표시되며 꺼지지 않습니다. 이때는 강제 종료 후 부팅해주셔도 크게 문제가 없습니다.) 다시 부팅되면 우분투가 깔린 것을 알 수 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;9) 한국어로 설치시&lt;/h3&gt;
&lt;p&gt;한국어로 설치시에는 설치과정의 가독성의 증가 및 한글 패키지 자동 설치 등의 이점이 있습니다만, 파일 이름이 전부 한글로 설정되어버립니다.&lt;/p&gt;
&lt;p&gt;이 한글 파일명은 초기에 한글 키보드 사용이 설정되어 있지 않은 상태에서 파일 시스템을 찾아가기에 힘들 뿐더러, 가끔 어떤 앱의 설치시에 에러가 나기도 합니다.&lt;/p&gt;
&lt;p&gt;그래서 기본 폴더명을 영어로 바꿔주게 되는데, 이때 간단하게 할 수 있는 방법이 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;lt;code&amp;gt;export LANG=&quot;C&quot;&amp;lt;/code&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;code&amp;gt;xdg-user-dirs-gtk-update&amp;lt;/code&amp;gt;&lt;/p&gt;
&lt;p&gt;이 두줄의 명령어를 실행하시고 재부팅하시면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMGoZf/btqz3oMkydq/dmPcJpoUmJoHzW0beQIq11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMGoZf/btqz3oMkydq/dmPcJpoUmJoHzW0beQIq11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMGoZf/btqz3oMkydq/dmPcJpoUmJoHzW0beQIq11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMGoZf%2Fbtqz3oMkydq%2FdmPcJpoUmJoHzW0beQIq11%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;위와 같은 창이 뜹니다.&lt;/p&gt;
&lt;p&gt;여기서 Don't ask me this again에 체크하시고 Update Names 버튼을 눌러주시면 폴더명 변경이 완료됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다음과정에서는 만약 nvidia그래픽 카드가 깔린 컴퓨터의 경우 드라이버의 설치법과 한글 혼용 언어설정에 대하여 알아보도록 하겠습니다.&lt;/p&gt;</description>
      <category>OS/Linux&amp;amp;Ubuntu</category>
      <category>18.04</category>
      <category>bionic beaver</category>
      <category>install</category>
      <category>Linux</category>
      <category>ubuntu</category>
      <category>리눅스</category>
      <category>설치</category>
      <category>우분투</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/150</guid>
      <comments>https://omnil.tistory.com/150#entry150comment</comments>
      <pubDate>Thu, 28 Nov 2019 19:09:33 +0900</pubDate>
    </item>
    <item>
      <title>RISE: conda install -c damianavila82 rise</title>
      <link>https://omnil.tistory.com/158</link>
      <description></description>
      <category>Software/Python</category>
      <author>미렌스</author>
      <guid isPermaLink="true">https://omnil.tistory.com/158</guid>
      <comments>https://omnil.tistory.com/158#entry158comment</comments>
      <pubDate>Thu, 28 Nov 2019 15:35:24 +0900</pubDate>
    </item>
  </channel>
</rss>