<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>나만의 작은 프로그램</title>
    <link>https://najakprogram.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Fri, 12 Jun 2026 21:13:07 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>나작프</managingEditor>
    <image>
      <title>나만의 작은 프로그램</title>
      <url>https://tistory1.daumcdn.net/tistory/4447454/attach/18128541af754a728301e19aea60fc90</url>
      <link>https://najakprogram.tistory.com</link>
    </image>
    <item>
      <title>컴활 1급 실기 요점정리 - 액세스</title>
      <link>https://najakprogram.tistory.com/19</link>
      <description>&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. DB구축&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;입력마스크&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;공백없이 최소 2글자 최대 4글자가 입력되도록&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; LL??&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;@ 앞뒤로 최소 두 글자가 입력되도록&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;like &quot;*??@??*&quot;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;0부터 255이하의 숫자를 표현하기에 가장 적절한 데이터 형식&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;바이트&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(문제에서 100이하의 정수가 입력되도록 하는 데이터 형식으로 물어봐도 바이트)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 이런 문제는 웬만하면 바이트더라.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;특정필드에 특정 값만 입력되도록&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;유효성 검사규칙에 in 연산자 사용&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) in(&quot;정규직&quot;,&quot;계약직&quot;, &quot;인턴&quot;)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;두개의 필드를 비교하는 유효성 검사 규칙은 속성시트에 작성하기!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 총판매대수 필드는 판매대수 필드보다 커야한다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[총판매대수] &amp;gt; [판매대수]&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;체크 박스를 텍스트로 바꿀때&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;조회 속성을&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;확인란 -&amp;gt; 텍스트상자 로 변경하고&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;형식에&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;;(체크되었을때 값);(체크안됐을때 값)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) ;남자;여자&amp;nbsp;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;instr(문자열, 찾을문자)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;찾을문자가 뒤에 오는거 조심&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;외부데이터 가져올때&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 범위로 정의된 이름 '정산현황'의 내용을 가져와 테이블을 생성하시오.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 범위로 정의된 이름으로 가져오는거 주의하기&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;로드될때 정렬, 필터&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;정렬 : 속성시트 -&amp;gt; 정렬 칸에 입력&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) &lt;span style=&quot;background-color: #f6e199;&quot;&gt;도서관분류, 도서관명 desc&lt;/span&gt; (생략하면 오름차순)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;로드될 때 정렬 : 예 로 설정&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;필터 : 폼필터 사용&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;조건 입력하고 필터 적용/해제 버튼 누른 다음에&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;로드될때 필터링 예 로 설정을 해야 적용이 된다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;콤보상자 행원본 지정할때 중복없이 가져오기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; select와 필드명 사이에 distinct 입력&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 입력 및 수정기능 구현&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;본문에 있는 모든 컨트롤의 가로 간격을 동일하게 설정&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 본문 컨트롤 선택 후 리본 메뉴 상단 정렬 선택해서 크기/맞춤 들어가서 설정하기&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;폼에서 컨트롤에 마우스를 가져가면 관련 텍스트가 나오도록 설정하는 옵션&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&quot;컨트롤 팁 텍스트&quot;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(이름이 기억나지 않을 수도 있다.)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;조건부 서식 지정할때 수식 입력하는 칸에&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;주어를 반드시 입력해야됨&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) txt주문번호의 서식을 지정할땐&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[txt주문번호] like &quot;A[B-C]*&quot; 이렇게 써야하고&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;그냥 like 만 쓰면 안된다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;형식 문자들&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;mmm : 영어로 월 표시 ex) Feb&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;aaa : 한글 요일 짧게 ex) 수&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;aaaa: 한글 요일 길게 ex) 수요일&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ddd : 영어 요일 짧게 ex) Wed&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;dddd : 영어 요일 길게 ex) Wednesday&amp;nbsp;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 조회 및 출력 기능 구현&lt;/b&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;특정 컨트롤의 위치를 이동시키는 문제&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;각 필드의 레이블이 페이지마다 상단에 한번씩만 표시되도록 위치를 변경 -&amp;gt; 페이지 머리글로 이동&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;특정 레이블이 매 페이지마다 인쇄되도록 설정 -&amp;gt; 페이지 머리글로 이동&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;&amp;amp; 연산자 안쓰고 필드 뒤에 문자 쓰는법&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex ) 강민용 -&amp;gt; 강민용 학생&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;속성시트 형식 속성에 @&quot; 학생&quot;으로 지정하면&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;표시할 수 있다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;D함수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;Dsum(&quot;[필드]&quot;,&amp;nbsp; &quot;테이블/쿼리&quot;, &quot;조건&quot;)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;테이블이나 쿼리에서 조건을 만족하는 필드의 합&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;messagebox 에 now(), date(), time()등 함수를 쓰려면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;메시지 내용을 = 기호를 쓰고 입력해야한다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;프로시저&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;me.filter 조건&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;문자 일때 : me.filter = &quot;회사명 = ' &quot; &amp;amp; txt조회 &amp;amp; &quot; ' &quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;숫자 일때 : me.filter = &quot;month([사용일]) = &quot; &amp;amp; cmb월&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;날짜 일때 : me.filter = &quot;날짜 = #&quot; &amp;amp; txt본문날짜 &amp;amp; &quot;#&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;me.filteron = True 적는거 까먹지 말기&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;recordsource 함수 사용&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;me.recordsource = &quot;select * from 테이블명 where 조건&quot;&amp;nbsp; &amp;nbsp; 이렇게 사용&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;다음줄에 me.requery를 적어줘야 작동함&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;시수 필드를 기준으로 내림차순 정렬&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;me.orderBy = &quot;시수 desc&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;me.orderByon = True&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 처리 기능 구현&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;함수에 들어갈 인수나 순서가 헷갈릴때는&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;아무 테이블이나 디자인보기로 들어가서 유효성 검사 규칙 쓰는 곳에다 수식을 입력해보자&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 도움말이 뜬다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;dateadd함수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;dateadd(&quot;형식&quot;, 더할 값, 시작일)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;일 : d&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;분기 : q&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;월 : m&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;결과값을 상위 3개만 표시하는 법&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;리본메뉴 상단의 &quot;쿼리 설정&quot; 탭을 보면 &quot;반환&quot; 버튼이 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;반환을 3으로 설정&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;like 조건식&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;첫번째 글자는 A로 시작하고 두번째 글자는 B부터 D까지의 문자로 시작&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; like &quot;A[B-D]*&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;첫번째 글자가 A 또는 B로 시작하고 B부터 D까지의 문자로 끝나는 데이터&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; like &quot;[A,B]*[B-D]&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;네번째 글자는 1부터 3까지의 숫자로 입력되도록&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt; like &quot;???[1-3]*&quot;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;In연산자의 사용&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;분류명 필드의 마지막 2자리가 용돈 이나 요금으로 끝나는 데이터만 조회&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;필드 : right([분류명],2)&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;조건 : In(&quot;용돈&quot;, &quot;요금&quot;)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;사용자가 임의로 설정한 필드명으로 계산하려면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[총구매액] / [구매횟수]&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(&amp;lt;- 테이블에는 없는 필드이지만 사용자가 이름을 직접 지정한 필드를 사용할때)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;요약을 &quot;식&quot;으로 지정해야만 값이 구해진다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;집계함수의 절로 포함될수 없습니다. &amp;lt;- 이런 오류가 뜨면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;수식을 사용한 필드가 요약이 &quot;식&quot;으로 지정되어있는지 확인해보자.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;대여일자가 대여일자의 최대값인 데이터를 가져올때&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;in(select 도서코드 from 대여정보 where 대여일자 = max(대여일자))로 하면 안되고&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;in( select 도서코드 from 대여정보 where 대여일자 = (select max(대여일자) from 대여정보) ) 로 해서&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;최대값은 또다른 하위 쿼리를 작성해서 가져와야한다.&lt;/p&gt;</description>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/19</guid>
      <comments>https://najakprogram.tistory.com/19#entry19comment</comments>
      <pubDate>Wed, 21 Jan 2026 15:09:58 +0900</pubDate>
    </item>
    <item>
      <title>컴활 1급 실기 요점 정리 - 엑셀</title>
      <link>https://najakprogram.tistory.com/18</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;컴활 1급 실기 시험을 준비하면서 헷갈리기 쉬운 점, 알면 좋은 것들을 단원별로 정리해보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 기본작업&lt;/b&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;1. 고급필터&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;조건문이 길어지면 쉼표로 구분 (100프로 정확하진 않을 수 있음)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 상품종류가 &quot;청약&quot;으로 시작하고 성별이 &quot;여&quot;이거나&lt;span style=&quot;background-color: #99cefa;&quot;&gt;, &lt;/span&gt;지점명이 &quot;여의도&quot;이고 월불입액이 150,000원 이상인 데이터&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;or(앞부분, 뒷부분)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;문자데이터로 된 숫자를 비교할때는 숫자를 큰 따옴표로 감싸기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 회사코드의 4번째 숫자가 5이상인 데이터&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;끝 두글자가 20이상인 데이터&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;mid(a4, 4, 1) &amp;gt;= &lt;span style=&quot;background-color: #99cefa;&quot;&gt;&quot;5&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;left(a4, 2) &amp;gt;= &lt;span style=&quot;background-color: #99cefa;&quot;&gt;&quot;20&quot;&lt;/span&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;조건부서식&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;4색원이랑 4색 신호등 구분하기!!!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;비슷해서 헷갈리기 쉽다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;식이 헷갈리면 셀에 수식 입력하고 복사해서 사용하기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(함수 도움말 사용하려고)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;2. 페이지 레이아웃&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;머릿글, 바닥글에 페이지 번호 표시할때는&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;amp;[페이지번호] &amp;amp; &quot;페이지&quot;로 입력하면 안되고&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;&amp;amp;[페이지번호]페이지&lt;/span&gt; 로 입력해야된다. (서로 차이가 있음)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;페이지 여백을 '좁게'로 설정할 때는 위의 메뉴에서 선택하기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;페이지 설정의 여백탭에 들어가봐도 '좁게'가 안나와서 당황할 수 있다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; 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;489&quot; data-origin-height=&quot;196&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWadJ8/dJMcabCXNSE/d0tnzsZKpFg1MOQkwXxsKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWadJ8/dJMcabCXNSE/d0tnzsZKpFg1MOQkwXxsKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWadJ8/dJMcabCXNSE/d0tnzsZKpFg1MOQkwXxsKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWadJ8%2FdJMcabCXNSE%2Fd0tnzsZKpFg1MOQkwXxsKk%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;273&quot; height=&quot;109&quot; data-origin-width=&quot;489&quot; data-origin-height=&quot;196&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;인쇄영역 제대로 확인&lt;/span&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;문제의 범위 (ex:[A28:I28]) 를 보고 지정&lt;/span&gt;하는게 가장 안전하다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;기존의 인쇄영역에 다른 영역 추가할때는 원래 지정되어있던 영역 건들지 않기&amp;nbsp;&lt;/span&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 계산작업&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;offset 함수와 index함수는 구별해서 생각하기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;index는 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;범위&lt;/span&gt;에서 몇행 몇열에 있는 데이터를 가져오는거라면&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;offset은 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;기준점으로 부터&lt;/span&gt; 몇행, 몇열 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;떨어져있는&lt;/span&gt; 데이터를 가져오는 함수이다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;match함수로 정확히 일치하지 않는 값을 찾을때&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;match(찾을값, 범위, 옵션)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;1 : 범위가 오름차순&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-1 : 범위가 내림차순&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;할인한 금액인지, 할인금액 인지 구별하기&lt;/span&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;누적개수 구하기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;countif($E$3:$E3, $E3)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;countif(범위, 조건)이라고 생각하면 되고&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;범위에서 콜론을 포함한 범위를 써야하고 콜론 앞쪽은 고정한다고 생각하면 됨&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 상품명별 누적개수 구하기.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(sumif함수 사용)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이런식이면, &lt;span style=&quot;background-color: #99cefa;&quot;&gt;구하는 범위도 누적개수 처럼&lt;/span&gt; 써주면 됨&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;sumif($B$3:$B3, $B3, &lt;span style=&quot;background-color: #99cefa;&quot;&gt;$E$3:$E3&lt;/span&gt;)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;(sum과 if 배열수식 사용)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: center;&quot;&gt;sum(if($B$3:$B3 = $B3,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;$E$3:$E3&lt;/span&gt;))&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(구하는 범위도 누적개수처럼)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;frequency 함수로 빈도를 구할때는 값이 출력될 범위를 모두 선택한다음 수식 입력&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;frequency(빈도를 구하려는 데이터, 구간의 범위)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(여기서 구간의 범위는 구간 뒷부분 범위를 선택해야 한다.)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;배열수식에서 '또는' 조건은 +로 표현&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;sum(if( (조건1) + (조건2), 구하는 범위))&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;if가 없고 조건이 하나일때의 배열수식&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;sum( (조건1) * 구하려는 범위)로 해야 잘 구해진다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;sum((조건1), 구하려는 범위)로 구하면 잘 안구해짐&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;배열상수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 학과 점수가 높은 상위 1,2,3위의&amp;nbsp; 평균 점수 구하기&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;average(large(G4:G28, &lt;span style=&quot;background-color: #99cefa;&quot;&gt;{1,2,3}&lt;/span&gt;)) (배열상수로 표시)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) lookup 함수와 같이 이용 (출제빈도는 낮은듯)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;lookup(검색할값, 검색할 벡터, 결과벡터)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;lookup(mid(a4,3,1), &lt;span style=&quot;background-color: #99cefa;&quot;&gt;{&quot;1&quot;, &quot;2&quot;} &lt;/span&gt;, &lt;span style=&quot;background-color: #99cefa;&quot;&gt;[&quot;M&quot;,&quot;W&quot;}&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;값이 1이면 M 2이면 W를 출력&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;데이터 베이스 함수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;dmin(데이터베이스(표), &lt;span style=&quot;background-color: #99cefa;&quot;&gt;최종적으로 구하려는 필드&lt;/span&gt;, &lt;span style=&quot;background-color: #f6e199;&quot;&gt;조건&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 메뉴명이 짬뽕에 해당하는 최소 주문수량 구하기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;534&quot; data-origin-height=&quot;328&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vjQvB/dJMcaajK1NN/aKO845pRdLEC3fKKK7XT7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vjQvB/dJMcaajK1NN/aKO845pRdLEC3fKKK7XT7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vjQvB/dJMcaajK1NN/aKO845pRdLEC3fKKK7XT7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvjQvB%2FdJMcaajK1NN%2FaKO845pRdLEC3fKKK7XT7k%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;272&quot; height=&quot;167&quot; data-origin-width=&quot;534&quot; data-origin-height=&quot;328&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;조건을 지정할때는 저렇게 열 머리글을 포함한 블록형태로 지정하기&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;select case 함수&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;일반적인 조건은 is , 범위 지정은 to 사용&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;268&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kDxn8/dJMcabJKW1A/SY5HxdzyNNRwTbE5hdHwgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kDxn8/dJMcabJKW1A/SY5HxdzyNNRwTbE5hdHwgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kDxn8/dJMcabJKW1A/SY5HxdzyNNRwTbE5hdHwgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkDxn8%2FdJMcabJKW1A%2FSY5HxdzyNNRwTbE5hdHwgk%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;268&quot; height=&quot;190&quot; data-origin-width=&quot;268&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 분석작업&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;분석작업 1 (피벗테이블 보고서)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;문제에서 직접 말해주지 않은 조건도 그림보고 확인하기&lt;/span&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;계산필드 추가 탭이 활성화 되지 않을때는 &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;피벗테이블 필드에 해당 값을 한번 더 끌어서 넣고 수정해서 계산필드 처럼 만들기&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;셀의 테두리를 클릭하고 드래그해서 보여지는 항목의 순서를 바꿀 수 있다!&lt;/span&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;분석작업 2&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;데이터 유효성 검사&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;제한대상을 목록으로 직접 지정할때는 큰따옴표 쓰지 않기 (큰따옴표도 같이 나옴)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 원본 : &quot;소설&quot;, &quot;시&quot;, &quot;단편문학&quot;, &quot;장편문학&quot; &amp;lt;- 이렇게 입력하면&amp;nbsp; X&lt;/p&gt;
&lt;p style=&quot;text-align: center;&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;lt;- 이런식으로 입력할것!&amp;nbsp;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;사용자 지정 정렬&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;오름차순, 내림차순이 아닌 사용자 지정 목록으로 정렬할때는&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;먼저 표시될 데이터 부터 엔터로 구분해 사용자지정 목록에 입력&lt;/span&gt;해주면 된다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 여의도&amp;nbsp; - 명동 -&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;814&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bY7MIp/dJMcajnpStb/eRbW2ktOhcfiyqk0V3hFuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bY7MIp/dJMcajnpStb/eRbW2ktOhcfiyqk0V3hFuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bY7MIp/dJMcajnpStb/eRbW2ktOhcfiyqk0V3hFuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbY7MIp%2FdJMcajnpStb%2FeRbW2ktOhcfiyqk0V3hFuk%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;470&quot; height=&quot;208&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 기타작업&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;1. 차트&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;계열의 보여지는 순서 바꾸기&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;435&quot; data-origin-height=&quot;247&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b49ZVA/dJMcaacZKXw/KqdpOxPWDrav3HfqbeikBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b49ZVA/dJMcaacZKXw/KqdpOxPWDrav3HfqbeikBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b49ZVA/dJMcaacZKXw/KqdpOxPWDrav3HfqbeikBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb49ZVA%2FdJMcaacZKXw%2FKqdpOxPWDrav3HfqbeikBk%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;289&quot; height=&quot;164&quot; data-origin-width=&quot;435&quot; data-origin-height=&quot;247&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 선택 -&amp;gt; 저 화살표 아이콘으로 순서 바꾼뒤 확인&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;2. 매크로&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;사용자지정 서식 지정할때&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;문제에서는 3%이상인 데이터라고 해도&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;[&amp;gt;=3%] 으로 하면 안되고 [&amp;gt;=0.03]으로&lt;/span&gt; 해야된다.&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;특정문자를 셀의 너비만큼 반복해서 표시하기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) [&amp;gt;=200][빨강]&quot;우수&quot;* 0.0 (공백을 셀 너비만큼 반복)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;-&amp;gt;우수&amp;nbsp; &amp;nbsp; 32.5 이런식으로 표시됨&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;매크로 기록 끝났으면 꼭 기록 중지 버튼 누르기&lt;/span&gt;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;버튼이 들어갈 위치 잘보고 지정하기&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;(헷갈리기 쉽다.)&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;3. 프로시저&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;목록에 특정영역이 표시 되도록&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;cmb목록.rowSource = &quot;I4:I8&quot;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;행이 2개이상이면 열개수를 따로 지정해야한다.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;cmb목록.rowSource = &quot;J4:K7&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;cmb목록. columncount = 2&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;셀의 서식과 관련된 프로시저&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[F4].Font.&lt;span style=&quot;background-color: #99cefa;&quot;&gt;Size&lt;/span&gt; = 13&amp;nbsp; (글자 크기)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[F4].Font.&lt;span style=&quot;background-color: #99cefa;&quot;&gt;Name&lt;/span&gt; = &quot;궁서&quot; (글꼴변경)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[F4].Font.&lt;span style=&quot;background-color: #99cefa;&quot;&gt;bold&lt;/span&gt; =&amp;nbsp; True (굵은 글씨)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[F4].font.&lt;span style=&quot;background-color: #99cefa;&quot;&gt;italic&lt;/span&gt; = True (기울임꼴, 이탤릭체)&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;[F4].font.&lt;span style=&quot;background-color: #99cefa;&quot;&gt;color&lt;/span&gt; = RGB(255,0,0) &amp;lt;- rgb로 색 지정&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #9feec3;&quot;&gt;리스트에 항목 직접 추가는 addItem으로&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;ex) 목록상자의 목록에는 &quot;현금&quot;, &quot;카드&quot;, &quot;포인트&quot;가 표시되도록&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;lst품목.addItem &quot;현금&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;lst품목.addItem &quot;카드&quot;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;lst품목.addItem &quot;포인트&quot;&lt;/p&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: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/18</guid>
      <comments>https://najakprogram.tistory.com/18#entry18comment</comments>
      <pubDate>Tue, 20 Jan 2026 16:03:38 +0900</pubDate>
    </item>
    <item>
      <title>바로가기 할일 개인정보 처리방침</title>
      <link>https://najakprogram.tistory.com/17</link>
      <description>&lt;h1 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;211&quot; data-start=&quot;184&quot;&gt;개인정보처리방침 (Privacy Policy)&lt;/h1&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;305&quot; data-start=&quot;213&quot; data-ke-size=&quot;size16&quot;&gt;본 개인정보처리방침은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;[바로가기 할일]&lt;/b&gt;(이하 &amp;ldquo;본 앱&amp;rdquo;)이 제공하는 서비스 이용과 관련하여 사용자의 개인정보를 어떻게 수집, 사용 및 보호하는지에 대해 설명합니다.&lt;/p&gt;
&lt;hr data-end=&quot;310&quot; data-start=&quot;307&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;325&quot; data-start=&quot;312&quot; data-ke-size=&quot;size26&quot;&gt;1. 수집하는 정보&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;373&quot; data-start=&quot;327&quot; data-ke-size=&quot;size16&quot;&gt;본 앱은 서비스 제공 및 광고 제공을 위해 다음과 같은 정보를 수집할 수 있습니다.&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;390&quot; data-start=&quot;375&quot; data-ke-size=&quot;size23&quot;&gt;1) 자동 수집 정보&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;482&quot; data-start=&quot;391&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;415&quot; data-start=&quot;391&quot;&gt;기기 정보 (기기 모델, OS 버전 등)&lt;/li&gt;
&lt;li data-end=&quot;447&quot; data-start=&quot;416&quot;&gt;광고 ID (Google Advertising ID)&lt;/li&gt;
&lt;li data-end=&quot;455&quot; data-start=&quot;448&quot;&gt;IP 주소&lt;/li&gt;
&lt;li data-end=&quot;465&quot; data-start=&quot;456&quot;&gt;앱 사용 기록&lt;/li&gt;
&lt;li data-end=&quot;482&quot; data-start=&quot;466&quot;&gt;오류 로그 및 진단 데이터&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;545&quot; data-start=&quot;484&quot; data-ke-size=&quot;size16&quot;&gt;본 앱은 사용자의 이름, 이메일 주소, 전화번호 등&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;개인 식별이 가능한 정보는 직접 수집하지 않습니다.&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;550&quot; data-start=&quot;547&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;566&quot; data-start=&quot;552&quot; data-ke-size=&quot;size26&quot;&gt;2. 정보 사용 목적&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;592&quot; data-start=&quot;568&quot; data-ke-size=&quot;size16&quot;&gt;수집된 정보는 다음 목적을 위해 사용됩니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;657&quot; data-start=&quot;594&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;609&quot; data-start=&quot;594&quot;&gt;앱 서비스 제공 및 유지&lt;/li&gt;
&lt;li data-end=&quot;620&quot; data-start=&quot;610&quot;&gt;앱 사용성 개선&lt;/li&gt;
&lt;li data-end=&quot;637&quot; data-start=&quot;621&quot;&gt;오류 분석 및 안정성 향상&lt;/li&gt;
&lt;li data-end=&quot;657&quot; data-start=&quot;638&quot;&gt;맞춤형 광고 제공 (AdMob)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;662&quot; data-start=&quot;659&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;681&quot; data-start=&quot;664&quot; data-ke-size=&quot;size26&quot;&gt;3. 제3자 서비스 제공자&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;753&quot; data-start=&quot;683&quot; data-ke-size=&quot;size16&quot;&gt;본 앱은 다음과 같은 제3자 서비스를 사용하며,&lt;br /&gt;해당 서비스는 자체적인 개인정보처리방침에 따라 정보를 수집할 수 있습니다.&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;772&quot; data-start=&quot;755&quot; data-ke-size=&quot;size23&quot;&gt;사용 중인 제3자 서비스&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;898&quot; data-start=&quot;773&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;831&quot; data-start=&quot;773&quot;&gt;&lt;b&gt;Google AdMob&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;831&quot; data-start=&quot;794&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;831&quot; data-start=&quot;794&quot;&gt;&lt;a href=&quot;https://policies.google.com/privacy&quot;&gt;https://policies.google.com/privacy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;898&quot; data-start=&quot;832&quot;&gt;&lt;b&gt;Google Play Services&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;898&quot; data-start=&quot;861&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;898&quot; data-start=&quot;861&quot;&gt;&lt;a href=&quot;https://policies.google.com/privacy&quot;&gt;https://policies.google.com/privacy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;945&quot; data-start=&quot;900&quot; data-ke-size=&quot;size16&quot;&gt;이들 제3자는 광고 제공, 분석, 서비스 개선을 위해 정보를 사용할 수 있습니다.&lt;/p&gt;
&lt;hr data-end=&quot;950&quot; data-start=&quot;947&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;971&quot; data-start=&quot;952&quot; data-ke-size=&quot;size26&quot;&gt;4. 광고 및 광고 ID 사용&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;1064&quot; data-start=&quot;973&quot; data-ke-size=&quot;size16&quot;&gt;본 앱은 Google AdMob을 사용하여 광고를 제공합니다.&lt;br /&gt;AdMob은 사용자의 관심사에 맞는 광고를 제공하기 위해&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;광고 ID&lt;/b&gt;를 사용할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;1108&quot; data-start=&quot;1066&quot; data-ke-size=&quot;size16&quot;&gt;사용자는 기기 설정을 통해 광고 ID 기반 맞춤 광고를 제한할 수 있습니다.&lt;/p&gt;
&lt;hr data-end=&quot;1113&quot; data-start=&quot;1110&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;1127&quot; data-start=&quot;1115&quot; data-ke-size=&quot;size26&quot;&gt;5. 로그 데이터&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;1233&quot; data-start=&quot;1129&quot; data-ke-size=&quot;size16&quot;&gt;앱 사용 중 오류가 발생할 경우,&lt;br /&gt;본 앱은 제3자 도구를 통해 로그 데이터를 수집할 수 있습니다.&lt;br /&gt;이 데이터에는 기기 정보, 오류 발생 시간, 사용 환경 등이 포함될 수 있습니다.&lt;/p&gt;
&lt;hr data-end=&quot;1238&quot; data-start=&quot;1235&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;1248&quot; data-start=&quot;1240&quot; data-ke-size=&quot;size26&quot;&gt;6. 보안&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;1349&quot; data-start=&quot;1250&quot; data-ke-size=&quot;size16&quot;&gt;본 앱은 사용자의 정보를 보호하기 위해 상업적으로 합리적인 보호 수단을 사용합니다.&lt;br /&gt;다만, 인터넷을 통한 전송이나 전자 저장 방식은 100% 안전할 수 없음을 양해 바랍니다.&lt;/p&gt;
&lt;hr data-end=&quot;1354&quot; data-start=&quot;1351&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;1367&quot; data-start=&quot;1356&quot; data-ke-size=&quot;size26&quot;&gt;7. 외부 링크&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;1459&quot; data-start=&quot;1369&quot; data-ke-size=&quot;size16&quot;&gt;본 앱은 외부 사이트로 연결되는 링크를 포함할 수 있습니다.&lt;br /&gt;외부 사이트는 본 앱이 운영하지 않으며, 해당 사이트의 개인정보처리방침에 대해 책임지지 않습니다.&lt;/p&gt;
&lt;hr data-end=&quot;1464&quot; data-start=&quot;1461&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;1483&quot; data-start=&quot;1466&quot; data-ke-size=&quot;size26&quot;&gt;8. 아동의 개인정보 보호&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;1572&quot; data-start=&quot;1485&quot; data-ke-size=&quot;size16&quot;&gt;본 앱은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;만 13세 미만 아동을 대상으로 하지 않습니다.&lt;/b&gt;&lt;br /&gt;만약 13세 미만 아동의 개인정보가 수집되었음을 인지한 경우 즉시 삭제 조치를 취합니다.&lt;/p&gt;
&lt;hr data-end=&quot;1577&quot; data-start=&quot;1574&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;1596&quot; data-start=&quot;1579&quot; data-ke-size=&quot;size26&quot;&gt;9. 개인정보처리방침 변경&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;1653&quot; data-start=&quot;1598&quot; data-ke-size=&quot;size16&quot;&gt;본 개인정보처리방침은 필요 시 업데이트될 수 있으며,&lt;br /&gt;변경 사항은 본 페이지를 통해 공지됩니다.&lt;/p&gt;
&lt;hr data-end=&quot;1658&quot; data-start=&quot;1655&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;1671&quot; data-start=&quot;1660&quot; data-ke-size=&quot;size26&quot;&gt;10. 문의하기&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-end=&quot;1712&quot; data-start=&quot;1673&quot; data-ke-size=&quot;size16&quot;&gt;본 개인정보처리방침에 대한 문의사항이 있을 경우 아래로 연락 바랍니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1736&quot; data-start=&quot;1714&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1736&quot; data-start=&quot;1714&quot;&gt;이메일:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;parksoft38@gmail.com&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/17</guid>
      <comments>https://najakprogram.tistory.com/17#entry17comment</comments>
      <pubDate>Mon, 12 Jan 2026 00:46:21 +0900</pubDate>
    </item>
    <item>
      <title>아이폰 화면 잠금 시 유튜브 백그라운드 재생이 멈출때</title>
      <link>https://najakprogram.tistory.com/14</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;유튜브 프리미엄을 쓰고 있고 인터넷도 잘 되는데 아이폰 화면을 끄면 백그라운드 재생이 잠깐동안은 되었다가 그 이후에는 안 되는 문제를 해결하는 방법을 알아보겠습니다.&lt;br&gt;&lt;br&gt;&lt;br&gt;해결 방법은 다음과 같습니다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;br&gt;아이폰 설정 -&amp;gt; 일반 -&amp;gt; 백그라운드 앱 새로고침으로 들어갑니다&lt;br&gt;(설정에 있는 검색창에 '백그라운드' 라고만 쳐도 바로 나온다.)&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2622&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mKP4i/btsQ35aWfsk/i4TA1yo473MRtaVzUIVkLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mKP4i/btsQ35aWfsk/i4TA1yo473MRtaVzUIVkLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mKP4i/btsQ35aWfsk/i4TA1yo473MRtaVzUIVkLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmKP4i%2FbtsQ35aWfsk%2Fi4TA1yo473MRtaVzUIVkLk%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;1206&quot; height=&quot;2622&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;2622&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;해당기능이 꺼져있으면 유튜브 백그라운드 재생이 되지 않습니다!!!&lt;br&gt;꺼져있다면 켜주기!!&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>아이폰 백그라운드 재생</category>
      <category>유튜브 백그라운드 재생</category>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/14</guid>
      <comments>https://najakprogram.tistory.com/14#entry14comment</comments>
      <pubDate>Fri, 3 Oct 2025 16:40:22 +0900</pubDate>
    </item>
    <item>
      <title>아두이노 우노, esp-01(esp8266)으로 파이어베이스에 값 업로드 하기-2021.07.06</title>
      <link>https://najakprogram.tistory.com/13</link>
      <description>&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;*2021년 7월 6일에 정상 작동함*&lt;br /&gt;&lt;br /&gt;우선, &lt;u&gt;준비물&lt;/u&gt;은 매우 간단하다.&lt;br /&gt;아두이노 우노, 브레드 보드, 점퍼선, esp-01만 있으면 된다.&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1.따라하기&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;일단 아래 게시물에 들어가서&lt;br /&gt;Step 7 : Connections for uploading code 까지 따라하고 다시 이 사이트로 돌아와보라&lt;br /&gt;&lt;a href=&quot;https://create.arduino.cc/projecthub/pulasthi-nanayakkara/connecting-esp8266-to-firebase-to-send-receive-data-4adf66&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;https://create.arduino.cc/projecthub/pulasthi-nanayakkara/connecting-esp8266-to-firebase-to-send-receive-data-4adf66&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;Connecting ESP8266 to Firebase to Send &amp;amp; Receive Data&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;In this tutorial, you will learn how to upload and download data to/from a Firebase Real time database with Arduino UNO and ESP8266. By Pulasthi Nanayakkara.&quot; data-og-host=&quot;create.arduino.cc&quot; data-og-source-url=&quot;https://create.arduino.cc/projecthub/pulasthi-nanayakkara/connecting-esp8266-to-firebase-to-send-receive-data-4adf66&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bPf8x5/hyKOavXWrj/z3CSxwqtqgjAwSqmbGLnn0/img.jpg?width=600&amp;amp;height=450&amp;amp;face=0_0_600_450,https://scrap.kakaocdn.net/dn/cvsQkM/hyKN52ujkW/qmiMChbxCOTAoeEY71vJYK/img.jpg?width=600&amp;amp;height=450&amp;amp;face=0_0_600_450,https://scrap.kakaocdn.net/dn/l2Yio/hyKN2Y0rYq/evN5CkR0IRyvV0V2Pjgc0K/img.jpg?width=861&amp;amp;height=646&amp;amp;face=0_0_861_646&quot; data-og-url=&quot;https://create.arduino.cc/projecthub/pulasthi-nanayakkara/connecting-esp8266-to-firebase-to-send-receive-data-4adf66&quot;&gt;&lt;a href=&quot;https://create.arduino.cc/projecthub/pulasthi-nanayakkara/connecting-esp8266-to-firebase-to-send-receive-data-4adf66&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://create.arduino.cc/projecthub/pulasthi-nanayakkara/connecting-esp8266-to-firebase-to-send-receive-data-4adf66&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bPf8x5/hyKOavXWrj/z3CSxwqtqgjAwSqmbGLnn0/img.jpg?width=600&amp;amp;height=450&amp;amp;face=0_0_600_450,https://scrap.kakaocdn.net/dn/cvsQkM/hyKN52ujkW/qmiMChbxCOTAoeEY71vJYK/img.jpg?width=600&amp;amp;height=450&amp;amp;face=0_0_600_450,https://scrap.kakaocdn.net/dn/l2Yio/hyKN2Y0rYq/evN5CkR0IRyvV0V2Pjgc0K/img.jpg?width=861&amp;amp;height=646&amp;amp;face=0_0_861_646');&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;Connecting ESP8266 to Firebase to Send &amp;amp; Receive Data&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;In this tutorial, you will learn how to upload and download data to/from a Firebase Real time database with Arduino UNO and ESP8266. By Pulasthi Nanayakkara.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;create.arduino.cc&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;#Step7&lt;/b&gt;&lt;b&gt;에서 헷갈린다면&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;그런데 Step 7에 보면 회로도가 보일 것이다.&lt;br /&gt;이 회로도에서 내가 헷갈렸던 부분이 내가 지워 놓은 GND이다. 왜냐면 아두이노의 GND핀은 이미 사용중인데 어떻게 ESP8266의 GND핀에 연결한단 말인가? (보라색 부분에서 GND가 사용되었다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;780&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEAs2F/btq8WaVjpVr/yklY2N68cbE9MB7KjC93Tk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEAs2F/btq8WaVjpVr/yklY2N68cbE9MB7KjC93Tk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEAs2F/btq8WaVjpVr/yklY2N68cbE9MB7KjC93Tk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEAs2F%2Fbtq8WaVjpVr%2FyklY2N68cbE9MB7KjC93Tk%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;1562&quot; height=&quot;780&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;780&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;그래서 그냥 제일 위의 GND를 RST로 생각하면&lt;br /&gt;아두이노의 RST에서 나오는 선(파란색 동그라미)에서 나온 전류가 왼쪽 선(분홍색 동그라미)을 타고가&lt;br /&gt;esp8266의 GND핀에 흐른다고 생각하면 된다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;그래서 결론은&lt;/span&gt; 분홍 동그라미가 쳐져있는 선은 esp8266의 GND에 연결되면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;780&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5KyZ4/btq8Z0xDU6G/jHHIrk9KX3YLQ5hJhTFb01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5KyZ4/btq8Z0xDU6G/jHHIrk9KX3YLQ5hJhTFb01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5KyZ4/btq8Z0xDU6G/jHHIrk9KX3YLQ5hJhTFb01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5KyZ4%2Fbtq8Z0xDU6G%2FjHHIrk9KX3YLQ5hJhTFb01%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;1562&quot; height=&quot;780&quot; data-origin-width=&quot;1562&quot; data-origin-height=&quot;780&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;결과적으로 esp-01에 이렇게 꽃히면 된다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;3V3&lt;/span&gt; &lt;span style=&quot;background-color: #99cefa;&quot;&gt;RX&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;RST&lt;/span&gt; &lt;span style=&quot;background-color: #99cefa;&quot;&gt;IO0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;EN&lt;/span&gt; &lt;span style=&quot;background-color: #ffc9af;&quot;&gt;IO2&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;TX&lt;/span&gt; &lt;span style=&quot;background-color: #99cefa;&quot;&gt;GND&lt;/span&gt;&lt;br /&gt;(파란색에만 꽂으면 된다.)&lt;br /&gt;&lt;br /&gt;필요하다면 이 3D회로 사진도 참고해서 회로를 완성시키기 바란다. 회로를 정확히 연결해야 업로드시 오류가 안뜬다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oe8zp/btq8VFuLn7L/fqWPZJOUiAKKgVzfCuHXq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oe8zp/btq8VFuLn7L/fqWPZJOUiAKKgVzfCuHXq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oe8zp/btq8VFuLn7L/fqWPZJOUiAKKgVzfCuHXq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Foe8zp%2Fbtq8VFuLn7L%2FfqWPZJOUiAKKgVzfCuHXq1%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;1440&quot; height=&quot;1080&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;1080&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;1332&quot; data-origin-height=&quot;1440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x9EuQ/btq8UPqQ7iv/kKdco2iIgfIBw3OKo1ZX8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x9EuQ/btq8UPqQ7iv/kKdco2iIgfIBw3OKo1ZX8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x9EuQ/btq8UPqQ7iv/kKdco2iIgfIBw3OKo1ZX8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx9EuQ%2Fbtq8UPqQ7iv%2FkKdco2iIgfIBw3OKo1ZX8k%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;1332&quot; height=&quot;1440&quot; data-origin-width=&quot;1332&quot; data-origin-height=&quot;1440&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;1440&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QujzJ/btq811bv8R2/fhFN7MvSjpbTLmDN09SFP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QujzJ/btq811bv8R2/fhFN7MvSjpbTLmDN09SFP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QujzJ/btq811bv8R2/fhFN7MvSjpbTLmDN09SFP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQujzJ%2Fbtq811bv8R2%2FfhFN7MvSjpbTLmDN09SFP0%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;1440&quot; height=&quot;1080&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 코드 복사&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;회로를 완성시켰으면 이제 아래 코드를 복사하고 &lt;br /&gt;아두이노 IDE에 붙여넣어라.(그리고 주석에 따라서 코드를 수정하라.) 아직 업로드 하면 안된다. 파이어베이스에 유효한 지문을 사용해야한다.&lt;/p&gt;
&lt;pre class=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;cpp&quot;&gt;&lt;code&gt;#include &amp;lt;ESP8266WiFi.h&amp;gt;
#include &amp;lt;FirebaseArduino.h&amp;gt;

#define FIREBASE_HOST &quot;데이터베이스 이름&quot;
#define FIREBASE_AUTH &quot;데이터베이스 비밀번호&quot;
#define WIFI_SSID &quot;와이파이이름&quot;
#define WIFI_PASSWORD &quot;비밀번호&quot;

void setup() {
  Serial.begin(115200);

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print(&quot;connecting&quot;);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(&quot;.&quot;);
    delay(500);
  }
  Serial.println();
  Serial.print(&quot;connected: &quot;);
  Serial.println(WiFi.localIP());
  
  Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH);
}

void loop() {

  Firebase.pushInt(&quot;test&quot;, 36.2);

  if (Firebase.failed()) {
      Serial.print(&quot;setting /number failed:&quot;);
      Serial.println(Firebase.error());  
      return;
  }
 }&lt;/code&gt;&lt;/pre&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;프로젝트 설정 ㅡ&amp;gt; 서비스계정 ㅡ&amp;gt; 데이터베이스 비밀번호 에서 확인할 수 있습니다.&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 파이어베이스 지문 등록&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;이제 파이어베이스에 유효한 지문을 사용해야 한다.&lt;br /&gt;파이어베이스에 유효한 지문을 사용하는 것은 다음의 블로그를 참고했다.&lt;br /&gt;&lt;a href=&quot;https://m.blog.naver.com/ssjk0802/222094738880&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;https://m.blog.naver.com/ssjk0802/222094738880&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;[아두이노/Arduino] nodeMCU, WeMos D1 파이어베이스 Firebase 통신 간단 예제 (LED on, LED off)&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;와이파이 통신 가능한 보드만 있다면 한 코드를 가지고 파이어베이스와 연동시킬 수 있다. nodeMCU, We...&quot; data-og-host=&quot;blog.naver.com&quot; data-og-source-url=&quot;https://m.blog.naver.com/ssjk0802/222094738880&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ewoqt8/hyKOc8rbjo/fiKJwsE6yqjF6Y4T41FTqK/img.png?width=743&amp;amp;height=418&amp;amp;face=0_0_743_418&quot; data-og-url=&quot;https://blog.naver.com/ssjk0802/222094738880&quot;&gt;&lt;a href=&quot;https://blog.naver.com/ssjk0802/222094738880&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://m.blog.naver.com/ssjk0802/222094738880&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ewoqt8/hyKOc8rbjo/fiKJwsE6yqjF6Y4T41FTqK/img.png?width=743&amp;amp;height=418&amp;amp;face=0_0_743_418');&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;[아두이노/Arduino] nodeMCU, WeMos D1 파이어베이스 Firebase 통신 간단 예제 (LED on, LED off)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;와이파이 통신 가능한 보드만 있다면 한 코드를 가지고 파이어베이스와 연동시킬 수 있다. nodeMCU, We...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;blog.naver.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;이 블로그의 아랫부분을 보면 지문을 수정하는 방법이 나와있다. 직접 들어가서 확인하고 Visual Studio Code등의 &lt;br /&gt;코드 뷰어를 사용해서 지문을 수정하거나 VS code가 없다면 파일을 메모장으로 열어서 수정해도 문제 없다.&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 업로드 및 확인&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; 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;957&quot; data-origin-height=&quot;105&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VniJ4/btq80zNkANW/Pi2h6AbI0K31YAhprHSpJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VniJ4/btq80zNkANW/Pi2h6AbI0K31YAhprHSpJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VniJ4/btq80zNkANW/Pi2h6AbI0K31YAhprHSpJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVniJ4%2Fbtq80zNkANW%2FPi2h6AbI0K31YAhprHSpJ0%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;957&quot; height=&quot;105&quot; data-origin-width=&quot;957&quot; data-origin-height=&quot;105&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&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;458&quot; data-origin-height=&quot;481&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bH4UtF/btq8UN7EPHB/MlQhfNCGtIT6ktTZAYK7IK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bH4UtF/btq8UN7EPHB/MlQhfNCGtIT6ktTZAYK7IK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bH4UtF/btq8UN7EPHB/MlQhfNCGtIT6ktTZAYK7IK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbH4UtF%2Fbtq8UN7EPHB%2FMlQhfNCGtIT6ktTZAYK7IK%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;458&quot; height=&quot;481&quot; data-origin-width=&quot;458&quot; data-origin-height=&quot;481&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;+&lt;br /&gt;사용하다가 업로드를 하려고 하면 오류가 뜰 때가 있는데 그럴때는 회로가 정확히 연결 되었는지 확인해야 한다.&lt;/p&gt;</description>
      <category>아두이노와 파이어베이스 연동하기</category>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/13</guid>
      <comments>https://najakprogram.tistory.com/13#entry13comment</comments>
      <pubDate>Tue, 6 Jul 2021 23:11:43 +0900</pubDate>
    </item>
    <item>
      <title>esp8266 업로드 시 warning: espcomm_sync failederror: espcomm_open failederror: espcomm_upload_mem failederror: espcomm_upload_mem failed 에러 해결 방법</title>
      <link>https://najakprogram.tistory.com/12</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;warning:&amp;nbsp;espcomm_sync&amp;nbsp;failederror:&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;espcomm_open&amp;nbsp;failederror:&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;espcomm_upload_mem&amp;nbsp;failederror:&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;espcomm_upload_mem&amp;nbsp;failed&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;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;b&gt;경우 1. esp8266에 처음 업로드 하는 경우&lt;/b&gt;&lt;/h3&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;esp8266은 업로드 할때와 실제 코드가 동작할때의 회로구성이 다른데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업로드 할때에는 다음과 같이 다른 곳에는 모두 선을 꼽고 RST, IO2에는 점퍼선을 꼽지 않아야 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;90&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7InLl/btq8ZusdxE5/QS2W9y6anYkmStrbZEj8F1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7InLl/btq8ZusdxE5/QS2W9y6anYkmStrbZEj8F1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7InLl/btq8ZusdxE5/QS2W9y6anYkmStrbZEj8F1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7InLl%2Fbtq8ZusdxE5%2FQS2W9y6anYkmStrbZEj8F1%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;90&quot; height=&quot;123&quot; data-origin-width=&quot;90&quot; data-origin-height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(파란색에만 꽂으면 된다.)&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;경우 2. esp8266에 코드를 업로드해서 저번에는 제대로 됐는데 갑자기 안되는 경우&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본인이 이전에는 잘 됐는데 갑자기 업로드 시 에러가 뜬다면 그냥 파란 usb선을 뽑고 다시 꽂고 업로드&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>아두이노와 파이어베이스 연동하기</category>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/12</guid>
      <comments>https://najakprogram.tistory.com/12#entry12comment</comments>
      <pubDate>Tue, 6 Jul 2021 22:24:27 +0900</pubDate>
    </item>
    <item>
      <title>학교우산대여앱 개발일지-01
파이썬으로 인증번호 만들고 안드로이드 앱에서 사용하기</title>
      <link>https://najakprogram.tistory.com/11</link>
      <description>&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;그래서 나는 로그인처럼 구현하기 어려워 보이는 기능말고 간단하게 내가 미리 학번과 인증번호를 담고 있는 Json text를 만들어 이를 각 반 반장에게 뿌리고 사용자가 자신의 학번과 인증번호를 입력하면 반복문을 돌아서 Json text상에서 사용자가 입력한 학번이 있는 position(위치)을 찾아서 그 position에 있는 키가 pw(필자가 임의로 지정한 키, password의 줄임말)인 값을 가져와 사용자가 입력한 값과 비교해서 같으면 본인인증을 성공하는 방식으로 구현 하기로 했다.&lt;br&gt;&lt;br&gt;그런데 여기서 문제가 생긴다. 약 300명이나 되는 전교생의 인증번호를 어떻게 다 일일히 Json text로 만들며, 설령 반복문을 통해 만들었다 하더라도 이를 각 반 반장들에게 전달해야할텐데 어떻게 이 Json text를 보기좋게 전달한단 말인가?&lt;br&gt;&lt;br&gt;그래서 나는 이 문제를 해결하기 위해 구글에서 제공하는 코드 서비스 colaboratory를 사용했다.(사람들은 이를 줄여서 colab이라고 부르기도 한다) colab에서는 python 코드를 쉽게 사용할 수 있다. 그래서 나는 구글에 비밀번호를 만들기위해 파이썬으로 랜덤 패스워드를 만드는 방법을 찾아봤고 또 이를 각 반 반장들이 보기 좋게 전달하기 위해 파이썬으로 자동적으로 엑셀파일에 값을 입력하고 그 파일을 저장하는 방법을 찾아서 다음과 같은 코드를 colab에서 작성했다.&lt;br&gt; &lt;/p&gt;
&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;import xlwt, xlrd from google.colab import files import random import string def gen_random_pw(length): global result_str letters = string.ascii_letters result_str = ''.join(random.choice(letters) for i in range(length)) grade = &quot;&quot; ban = &quot;&quot; num = &quot;&quot; pw = &quot;&quot; idx =0 wb = xlwt.Workbook() ws_1 = wb.add_sheet('sheet0', cell_overwrite_ok=True) for i in range(4): if i != 0: grade = str(i) for k in range(7): if k != 0: ban = str(k) for j in range(24): if j != 0: if j &amp;lt; 10: num = &quot;0&quot; + str(j) if j &amp;gt;= 10: num = str(j) if j == 23: file_name = grade + '학년 ' + ban + '반 우산대여앱 인증번호.xls' wb.save(file_name) files.download(file_name) wb = xlwt.Workbook() ws_1 = wb.add_sheet('sheet0', cell_overwrite_ok=True) idx = 0 hakbun = grade + ban + num ws_1.write(idx, 0, hakbun) pw = gen_random_pw(4) ws_1.write(idx, 1, result_str) print('{&quot;hakbun&quot;:&quot;' + str(hakbun) + '&quot;,' + '&quot;pw&quot;:&quot;' + str(result_str) + '&quot;},') idx +=1 file_name = '우산대여앱 인증번호.xls' wb.save(file_name) files.download(file_name)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt;그리고 패스워드가 생성될때마다 학번과 함께 Json text의 양식으로 출력하고 이를 복사해 붙여넣어서 Json Text를 listmap에 추가시켰다.&lt;br&gt; &lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;904&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/KQN8P/btq8qF2NLfF/AkWv7x2XvDP5btppBR0YYK/img.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KQN8P/btq8qF2NLfF/AkWv7x2XvDP5btppBR0YYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KQN8P/btq8qF2NLfF/AkWv7x2XvDP5btppBR0YYK/img.png&quot; data-alt=&quot;코드는 colab에서 구현했다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KQN8P/btq8qF2NLfF/AkWv7x2XvDP5btppBR0YYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKQN8P%2Fbtq8qF2NLfF%2FAkWv7x2XvDP5btppBR0YYK%2Fimg.png&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;904&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/KQN8P/btq8qF2NLfF/AkWv7x2XvDP5btppBR0YYK/img.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;코드는 colab에서 구현했다.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;89&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/JgRPA/btq8nFba1FM/KsVna70obgvGEngtq6mBIK/img.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JgRPA/btq8nFba1FM/KsVna70obgvGEngtq6mBIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JgRPA/btq8nFba1FM/KsVna70obgvGEngtq6mBIK/img.png&quot; data-alt=&quot;스케치웨어에서 listmap에 Json text를 추가시킨 모습이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JgRPA/btq8nFba1FM/KsVna70obgvGEngtq6mBIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJgRPA%2Fbtq8nFba1FM%2FKsVna70obgvGEngtq6mBIK%2Fimg.png&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;89&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/JgRPA/btq8nFba1FM/KsVna70obgvGEngtq6mBIK/img.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;스케치웨어에서 listmap에 Json text를 추가시킨 모습이다.&lt;/figcaption&gt;
&lt;/figure&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;그래서 이를 보완하려면 firebase auth 등을 활용해 전문적으로 로그인을 구현하는 방법을 사용하는 것이 좋을 것 같다.&lt;/p&gt;</description>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/11</guid>
      <comments>https://najakprogram.tistory.com/11#entry11comment</comments>
      <pubDate>Wed, 30 Jun 2021 13:34:01 +0900</pubDate>
    </item>
    <item>
      <title>학교 우산대여앱 개발일지-00
아이디어 및 구현 방법</title>
      <link>https://najakprogram.tistory.com/10</link>
      <description>&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;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
 &lt;li&gt;개발환경 : 안드로이드 스마트폰&lt;/li&gt;
 &lt;li&gt;개발 앱 : 스케치웨어&lt;/li&gt;
 &lt;li&gt;사용 언어 : 자바(안드로이드용 앱이라 당연하겠지만..)&lt;/li&gt;
&lt;/ul&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;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1559&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/baopyF/btq8dQX7qzj/Cro5pKJ4GJa2nkkTc90rRk/img.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baopyF/btq8dQX7qzj/Cro5pKJ4GJa2nkkTc90rRk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baopyF/btq8dQX7qzj/Cro5pKJ4GJa2nkkTc90rRk/img.jpg&quot; data-alt=&quot;관리자용 앱의 모습이다. 메모되어있는 좋아요 얘기는 좋아요를 구현하는 방식으로 구현하면 될것같다... 이런 식으로 메모를 해놓은것이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baopyF/btq8dQX7qzj/Cro5pKJ4GJa2nkkTc90rRk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaopyF%2Fbtq8dQX7qzj%2FCro5pKJ4GJa2nkkTc90rRk%2Fimg.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1559&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/baopyF/btq8dQX7qzj/Cro5pKJ4GJa2nkkTc90rRk/img.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;관리자용 앱의 모습이다. 메모되어있는 좋아요 얘기는 좋아요를 구현하는 방식으로 구현하면 될것같다... 이런 식으로 메모를 해놓은것이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1417&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/lAi3M/btq8jKBENwa/4AGwbB47UKiYDiRwqxGqpK/img.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lAi3M/btq8jKBENwa/4AGwbB47UKiYDiRwqxGqpK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lAi3M/btq8jKBENwa/4AGwbB47UKiYDiRwqxGqpK/img.jpg&quot; data-alt=&quot;남은 우산수를 나타낼때는 파이어베이스를 사용할거라 메모해뒀다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lAi3M/btq8jKBENwa/4AGwbB47UKiYDiRwqxGqpK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlAi3M%2Fbtq8jKBENwa%2F4AGwbB47UKiYDiRwqxGqpK%2Fimg.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1417&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/lAi3M/btq8jKBENwa/4AGwbB47UKiYDiRwqxGqpK/img.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;남은 우산수를 나타낼때는 파이어베이스를 사용할거라 메모해뒀다.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1321&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/8OeKy/btq8jJQilci/nSdkww7NCXbcxmLbEooMGK/img.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8OeKy/btq8jJQilci/nSdkww7NCXbcxmLbEooMGK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8OeKy/btq8jJQilci/nSdkww7NCXbcxmLbEooMGK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8OeKy/btq8jJQilci/nSdkww7NCXbcxmLbEooMGK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8OeKy%2Fbtq8jJQilci%2FnSdkww7NCXbcxmLbEooMGK%2Fimg.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1321&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/8OeKy/btq8jJQilci/nSdkww7NCXbcxmLbEooMGK/img.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;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1375&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/Bc5Uw/btq8ivLwha7/3DfEQf5ZCAEGLyzOFl7QMk/img.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Bc5Uw/btq8ivLwha7/3DfEQf5ZCAEGLyzOFl7QMk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Bc5Uw/btq8ivLwha7/3DfEQf5ZCAEGLyzOFl7QMk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Bc5Uw/btq8ivLwha7/3DfEQf5ZCAEGLyzOFl7QMk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBc5Uw%2Fbtq8ivLwha7%2F3DfEQf5ZCAEGLyzOFl7QMk%2Fimg.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1375&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/Bc5Uw/btq8ivLwha7/3DfEQf5ZCAEGLyzOFl7QMk/img.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;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1199&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/bga9s9/btq8hlbiza1/kzP9kptSHycFFVBi3RFBu0/img.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bga9s9/btq8hlbiza1/kzP9kptSHycFFVBi3RFBu0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bga9s9/btq8hlbiza1/kzP9kptSHycFFVBi3RFBu0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bga9s9/btq8hlbiza1/kzP9kptSHycFFVBi3RFBu0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbga9s9%2Fbtq8hlbiza1%2FkzP9kptSHycFFVBi3RFBu0%2Fimg.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1199&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/bga9s9/btq8hlbiza1/kzP9kptSHycFFVBi3RFBu0/img.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;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1531&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/bk6lGD/btq8jK2Jbp2/549n7mSvQ1F5cBfHKn6BA0/img.jpg&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bk6lGD/btq8jK2Jbp2/549n7mSvQ1F5cBfHKn6BA0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bk6lGD/btq8jK2Jbp2/549n7mSvQ1F5cBfHKn6BA0/img.jpg&quot; data-alt=&quot;반.장은 반납장소의 줄일맘이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bk6lGD/btq8jK2Jbp2/549n7mSvQ1F5cBfHKn6BA0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbk6lGD%2Fbtq8jK2Jbp2%2F549n7mSvQ1F5cBfHKn6BA0%2Fimg.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1531&quot; data-image-src=&quot;https://k.kakaocdn.net/dn/bk6lGD/btq8jK2Jbp2/549n7mSvQ1F5cBfHKn6BA0/img.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;반.장은 반납장소의 줄일맘이다.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt; &lt;br&gt;내가 만들앱은 사용자용 앱, 관리자용 앱 총 2가지이다.&lt;br&gt; &lt;br&gt;기본적인 메커니즘은 사용자가 앱에서 우산대출을 신청하면 관리자가 이를 수락하는 구조이다. 반납의 경우에는 대출자가 반납을 하러오면 관리자가 버튼을 누르기만 하면 주말을 제외해서 사용자의 대출일자를 계산해 3일보다 작거나 같으면 반납 리스트에서 제외, 아니면 연체 리스트로 옮기는 식으로 진행된다. 연체의 경우는 반납 후 7일 뒤에 해제된다.&lt;br&gt; &lt;br&gt;이번앱은 내가 개인적인 호기심으로 시작했던 앱들과 달리 사용자들의 수요가 있을 것 같아 많은 학생들이 다운로드 할 수 도 있을 것 같다.&lt;br&gt; &lt;/p&gt;</description>
      <category>학교 우산대여앱 개발일지</category>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/10</guid>
      <comments>https://najakprogram.tistory.com/10#entry10comment</comments>
      <pubDate>Mon, 28 Jun 2021 02:00:32 +0900</pubDate>
    </item>
    <item>
      <title>인터넷 익스프롤러 웹사이트 복원오류 무한로딩 해결법</title>
      <link>https://najakprogram.tistory.com/9</link>
      <description>&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;&lt;i&gt;&lt;b&gt;인터넷 아이콘 우클릭 -&amp;gt; 관리자 권한으로 실행&lt;/b&gt;&lt;/i&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;-&amp;gt; 해결!&lt;/p&gt;</description>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/9</guid>
      <comments>https://najakprogram.tistory.com/9#entry9comment</comments>
      <pubDate>Sun, 9 May 2021 14:12:25 +0900</pubDate>
    </item>
    <item>
      <title>파이썬 - 'Tesseract is not installed or it's not in your path'  혹은 '[winerror 5] 액세</title>
      <link>https://najakprogram.tistory.com/8</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;해결방법 요약&lt;br&gt;(요약이지만 헤매지 않으려면 본문을 꼭 보시길)&lt;br&gt;1. &lt;a href=&quot;https://github.com/UB-Mannheim/tesseract/wiki&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;github.com/UB-Mannheim/tesseract/wiki &lt;/span&gt;&lt;/a&gt;에서 tesseract.exe설치(32비트,64비트 중 하나 선택해서)&lt;br&gt;&lt;br&gt;2. 한국어를 사용할것이라면 설치마법사에서 한국어 데이터도 다운 받아준다.&lt;br&gt;&lt;br&gt;3. 설치경로를 &lt;span style=&quot;color: #000000;&quot;&gt;C:\Users\사용자_이름\AppData\Local로 설정&lt;br&gt;&lt;/span&gt;&lt;br&gt;4&lt;span style=&quot;color: #000000;&quot;&gt;.&amp;nbsp; 코드 중간에 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pytesseract.pytesseract.tesseract_cmd&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;'C:&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;\U&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;sers&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;\사용자_이름&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;\A&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ppData&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;\L&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ocal&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;\t&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;esseract&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;exe' 붙여넣기&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;pip를 통해 pytesseract를 설치 했는데도&lt;/p&gt;&lt;pre data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;pip install pytesseract&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;'&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Tesseract is not installed or it's not in your path' 혹은 '[winerror 5] 액세스가 거부되었습니다'&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #000000;&quot;&gt;와 같은 오류가 뜬다면 pytesseract가 직접 설치되지 않아 발생하는 문제일 수 도 있다.&lt;/span&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다음 사이트에 접속해서 32비트와 64비트중 자신에게 맞는 버전으로 tesseract.exe를 설치한다.&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;https://github.com/UB-Mannheim/tesseract/wiki&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;github.com/UB-Mannheim/tesseract/wiki&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;UB-Mannheim/tesseract&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;Tesseract Open Source OCR Engine (main repository) - UB-Mannheim/tesseract&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/UB-Mannheim/tesseract/wiki&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c2z1o2/hyJsgqmDSq/GCsSHM1iIbP7IeyET0VuW1/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400&quot; data-og-url=&quot;https://github.com/UB-Mannheim/tesseract&quot;&gt;&lt;a href=&quot;https://github.com/UB-Mannheim/tesseract&quot; target=&quot;_blank&quot; data-source-url=&quot;https://github.com/UB-Mannheim/tesseract/wiki&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c2z1o2/hyJsgqmDSq/GCsSHM1iIbP7IeyET0VuW1/img.png?width=400&amp;amp;height=400&amp;amp;face=0_0_400_400')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;UB-Mannheim/tesseract&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;Tesseract Open Source OCR Engine (main repository) - UB-Mannheim/tesseract&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;github.com&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VgDVe/btqXb2GUFA6/BnsWkU924uzKC5icFMILoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VgDVe/btqXb2GUFA6/BnsWkU924uzKC5icFMILoK/img.png&quot; data-alt=&quot;파란색 글씨를 누르면 설치가 진행된다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VgDVe/btqXb2GUFA6/BnsWkU924uzKC5icFMILoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVgDVe%2FbtqXb2GUFA6%2FBnsWkU924uzKC5icFMILoK%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; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파란색 글씨를 누르면 설치가 진행된다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;br&gt;설치 완료 후 뜨는 팝업창에서&lt;br&gt;Next -&amp;gt; I Agree -&amp;gt; Next의 순서로&amp;nbsp;&lt;br&gt;버튼을 계속 누르면 다음과 같은 화면이 나오는데 여기서&amp;nbsp;&lt;br&gt;Additional script data를 체크하고&amp;nbsp;&lt;br&gt;Additional language data 의 체크박스 옆에 +버튼을 눌러 Korean을 찾아 체크해주고 Next를 누른다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dGLCKa/btqXj8fsS8M/Az8kHhsetkkwoIbnzxPD51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dGLCKa/btqXj8fsS8M/Az8kHhsetkkwoIbnzxPD51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dGLCKa/btqXj8fsS8M/Az8kHhsetkkwoIbnzxPD51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdGLCKa%2FbtqXj8fsS8M%2FAz8kHhsetkkwoIbnzxPD51%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; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;그리고 다음에 나오는 창에서 설치경로를 다음과 같이 설정해주고 Next를 누른다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span style=&quot;background-color: #F6E199;&quot;&gt;C:\Users\사용자_이름\AppData\Local&lt;/span&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span style=&quot;color: #000000;&quot;&gt;/주의사항/&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용자_이름에는 자신이 쓰는 컴퓨터의 사용자 이름을 입력해주어야한다.&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용자 이름은 내 PC -&amp;gt; C드라이브 -&amp;gt; '사용자' 혹은 'Users' 폴더에서 확인할 수 있다.&lt;/span&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLK3IO/btqW1sGqVX2/DTdQ3WYUtaTkfMTjkzJEf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLK3IO/btqW1sGqVX2/DTdQ3WYUtaTkfMTjkzJEf1/img.png&quot; data-alt=&quot;필자는 필자의 컴퓨터의 사용자 이름을 입력했다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLK3IO/btqW1sGqVX2/DTdQ3WYUtaTkfMTjkzJEf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLK3IO%2FbtqW1sGqVX2%2FDTdQ3WYUtaTkfMTjkzJEf1%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; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;필자는 필자의 컴퓨터의 사용자 이름을 입력했다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;설치가 완료되면 코드 중간에&amp;nbsp;&lt;br&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;background-color: #F6E199;&quot;&gt;pytesseract.pytesseract.tesseract_cmd&amp;nbsp;=&amp;nbsp;r'C:\Users\사용자_이름\AppData\Local\tesseract.exe'&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: #000000;&quot;&gt;(우리가 설치한 경로의 뒷부분에 \tesseracte.exe 를 추가로 입력한다.)&lt;/span&gt;&lt;br&gt;를 붙여넣어 경로를 설정해준다.&lt;br&gt;&amp;nbsp;&lt;br&gt;그리고 실행하면 정상적으로 작동할 것이다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;다음은 간단한 예제이다.&lt;/p&gt;&lt;pre data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;import pytesseract
from PIL import Image

pytesseract.pytesseract.tesseract_cmd = r'C:\Users\MyPC\AppData\Local\tesseract.exe'

print(pytesseract.image_to_string(Image.open('cola.jpg'), lang='kor+eng'))&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>파이썬</category>
      <category>pytesseract</category>
      <category>pytesseract 오류</category>
      <category>Tesseract is not installed or it's not in your path</category>
      <author>나작프</author>
      <guid isPermaLink="true">https://najakprogram.tistory.com/8</guid>
      <comments>https://najakprogram.tistory.com/8#entry8comment</comments>
      <pubDate>Sun, 14 Feb 2021 03:22:48 +0900</pubDate>
    </item>
  </channel>
</rss>