<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Im between cherry</title>
    <link>https://it-mi.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 2 Jul 2026 07:01:54 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>meal</managingEditor>
    <image>
      <title>Im between cherry</title>
      <url>https://tistory1.daumcdn.net/tistory/3788380/attach/e922999e6dc347409d35073f2b0c0dc9</url>
      <link>https://it-mi.tistory.com</link>
    </image>
    <item>
      <title>SaaS란?</title>
      <link>https://it-mi.tistory.com/115</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. SaaS란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스형 소프트웨어(SaaS)는 인터넷 브라우저를 통해 최종 사용자에게 애플리케이션을 제공하는 클라우드 기반 소프트웨어 모델.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 공급업체는 고객이 필요에 따라 액세스할 수 있는 서비스 및 애플리케이션을 호스팅함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 제품 및 서비스를 사용하면 서비스의 유지 관리 방식이나 기본 인프라의 고나리 방식에 대해 고민할 필요가 없으며 소프트웨어를 어떻게 사용할지만 생각하면 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS모델의 다른 일반적인 측면으로는 요금제가 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 기능을 한 번에 크게 구매하는 대신 사용량에 따른 요금제 모델 또는 구독 기반으로 요금을 지불함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 애플리케이션의 일반적인 예로는 웹 기반 이메일이 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이메일 제품의 추가 기능을 관리하거나 이메일 프로그램이 실행되는 서버 및 운영 체계를 유지 관리할 필요 없이 이메일을 보내고 받을 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. SaaS가 중요한 이유&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS는 이전에는 온프레미스 환경에서 실행하기에 너무 많은 비용 또는 에너지가 들었던 강력한 소프트웨어를 비즈니스에서 이용할 수 있다는 점에서 중요함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 제공업체는 하드웨어, 소프트웨어 도구 및 애플리케이션을 자체 데이터 센터 또는 클라우드 환경에서 관리함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자는 브라우저 또는 모바일 애플리케이션에서 직접 소프트웨어에 액세스할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS는 구독 기반 모델을 제공하기 때문에 소프트웨어 사용을 비즈니스 요구 사항에 따라 늘리거나 줄일 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 SaaS의 몇 가지 이점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 클라우드 접근성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 저렴한 선결제 비용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 지속적으로 발생하는 비용 감소&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 빠른 배포&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 온디맨드 확장성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 신뢰성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 자동 업데이트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 통합&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 실시간 데이터 및 분석&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. SaaS는 어떻게 작동하나요?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스형 소프트웨어는 클라우드 제공 모델을 통해 작동함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 공급업체는 일반적으로 자체 서버 및 데이터베이스에서 애플리케이션 및 데이터를 호스팅하거나 서드 파티 클라우드 제공업체의 서버를 활용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 공급업체는 또한 플랫폼, 운영 체제 및 미들웨어를 관리함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 솔루션 구독에 가입하면 웹 브라우저의 사용자 등록 및 로그인을 통해 애플리케이션에 액세스할 수 있는 권한이 부여됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 공급업체는 일반적으로 다중 테넌트 모델을 채택함. 따라서 단일 버전의 SaaS 솔루션이 공급업체의 서버에서 호스팅되어 개별 구독자에게 제공됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 서비스 수준 계약(SLA)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SLA는 SaaS 제품의 이용 양관을 명시하는 법적 계약임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공급업체가 제공하는 항목과 가동 시간, 보안, 지원 및 자동 업데이트 등의 서비스 기대치를 다루며 클라이언트로서의 사용자 책임도 명시되어 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 대부분의 비즈니스에서는 정보의 보관 위치와 관계없이 데이터의 소유권을 가져야 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;표준 SLA는 고객의 회사가 데이터의 소유권을 유지하며 언제든지 검색할 수 있는 권리를 가진다는 것을 서면으로 확인함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 경우 고객은 언제든지 로컬에서 데이터를 다운로드하고 백업할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 일반적으로 사용되는 SaaS 애플리케이션&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 고객 관계 관리(CRM)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 전사적 자원 관리(ERP)&lt;br /&gt;- 이메일 마케팅 소프트웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 회계 소프트웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 인사 관리 소프트웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 보안 소프트웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Amazon Chime과 같은 협업 도구&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Amazon WorkDocs아 같은 문서 편집 서비스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 통신 소프트웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Amazon Connect와 같은 고객 센터 소프트웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. SaaS는 다른 클라우드 모델과 어떻게 비교되나요?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS는 서비스형 플랫폼(PaaS) 및 서비스형 인프라(IaaS)와 더불어 클라우드 컴퓨팅의 3가지 기본 모델 중 하나임.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;서비스형 플랫폼&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스형 플랫폼은 일반적으로 API를 통해 애플리케이션을 구성하고 유지 관리하는 데 사용되는 하드웨어와 소프트웨어 인프라를 제공함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하드웨어 및 소프트웨어 개발 도구는 클라우드 제공업체의 데이터 센터에서 호스팅됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PaaS를 사용하면 더 저렴한 비용으로 더 빠르게 애플리케이션을 구축, 테스트, 실행 및 조정할 수 있음.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;SaaS와 PaaS&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS는 특정 태스크를 수행하는데 사용되지만 PaaS는 애플리케이션 개발을 위한 관리형 인프라를 제공함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 제품에서 비교하자마녀 Amazon Chime은 조직에서 대화, 채팅 및 비즈니스 회의를 여는 데 사용할 수 있는 온라인 SaaS 서비스임. 반면 Amaon Chime SDK는 실시간 통신 기능의 개발을 지원하는 PaaS 플랫폼임.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;서비스형 인프라&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스형 인프라(IaaS)는 네트워킹, 컴퓨터(가상 또는 물리) 및 데이터 스토리지를 위한 서비스를 제공함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IaaS를 사용하면 최고 수준의 유연성으로 IT 리소스 관리를 제어할 수 있고 기존 IT 리소스와 유사함.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;SaaS와 IaaS&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS는 가장 포괄적인 서드파티 소프트웨어 및 유지 관리 옵션을 제공함. 반면 IaaS는 서버 또는 스토리지와 같은 코어 구성 요소만 제공하고 유지 관리함. IaaS는 환경에 대한 제어를 최대화하려는 경우 적합한 옵션이고 SaaS는 사용 편의성을 원하는 경우 선호하는 옵션임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. AWS 기반 SaaS 사용 사례&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS 애플리케이션은 클라우드 인프라에서 구축되고 실행됨. 다수의 선도적인 기업이 AWS를 사용하여 SaaS 애플리케이션을 구축함. 예를 들면 다음과 같음.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;BMC Software&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미국의 다국적 IT 서비스 조직인 BMC Software는 AWS와 협력하여 Control-M의 SaaS 버전을 개발함. 이 회사의 가장 오래된 제품 중 하나인 Contro-M은 애플리케이션 및 데이터 워크플로 오케스트레이션을 간소화함. BMC는 AWS SaaS Factory의 전문성을 활용하여 SaaS 솔루션 개발에 필요한 인사이트를 제공함. 또한 AWS 비용을 최적화하는 동시에 비즈니스 민첩성 및 운영 효율을 개선하기 위한 조언을 제공함&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;CyberArk&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CyberArk의 Identity Security Platform은 원격 액세스 관리, 관리 권한 및 보안 인증 정보 등 원격 근무로 인한 당면 과제를 해결하는데 도움이 됨. Cyberark는 AWS SaaS Factory 팀과 협력하여 이 플랫폼에 사용할 새로운 공유 서비스를 구축함. Cyberark는모든 SaaS솔루션에 사용할 중앙 집중식 클라우드 네이티브 공유 서비스를 구축하여 SaaS 개발을 검증하고 가속화하는 동시에 출시 시간을 30% 단축함&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Cohesity&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS의 어드백스드 기술 파트너인 Cohesity는 AWS에서 데이터 관리를 급진적으로 간호화하는 서비스형 데이터 관리(DMaaS)를 릴리즈 시켰는데요. Cohesity는 제품의 설계, 구현 및 출시 과정에서 AWS SaaS Factory를 포함한 다수의 AWS 팀과 긴밀하게 협력함. 그 결과 출시 시간이 50% 빨라졌음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. SaaS를 구축할 때 AWS를 선택해야 하는 이유&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS는 사용자 지정 SaaS 애플리케이션과 서드 파티 SaaS 솔루션을 구축하는 데 사용할 수 있는 다수의 플랫폼을 제공함. SaaS 혁신을 추진하는 데 도움이 되는 여러 도구와 리소스에 액서할 수 있음. AWS 모범 사례와 SaaS 전문성을 활용하여 조직, 운영 및 기술 역량을 구축하라. AWS 파트너는 AWS SaaS Facoty를 통해 SaaS 여정의 모든 단계에 도움이 되는전문가 SaaS 리소스에 액세스 할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS SaaS를 사용하면 다음을 달성할 수 있음&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;*AWS SaaS를 사용하면 다음을 달성할 수 있음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- MVP 개발 시간 30~50% 단축&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 총 수익 마진 70% 증가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 신규 시장의 출시 기간 66~677%단축&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 운영 마진 41%증가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Cloud</category>
      <category>AWS</category>
      <category>saas</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/115</guid>
      <comments>https://it-mi.tistory.com/115#entry115comment</comments>
      <pubDate>Wed, 7 Dec 2022 14:33:36 +0900</pubDate>
    </item>
    <item>
      <title>최신 클라우드 컴퓨팅 개념</title>
      <link>https://it-mi.tistory.com/114</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 데이터 준비&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 준비는 추가 처리 및 분석에 적합하도록 언시 데이터를 준비하는 과정.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심 단계에는 원시 데이터를 수집하고 정리하여 기계 학습(ML) 알고리즘에 적합한 양식으로 레이블 지정한 다음 데이터를 탐색하고 시각화하는 단계가 포함됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 준비는 ML 프로젝트에서 소비되는 시간 중 최대 80%를 차지할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 과정을 최적화하기 위해 특화된 데이터 준비 도구를 사용하는 것이 중요함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. JRE&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java 런타임 환경(JRE)은 Java 프로그램이 올바르게 실행되기 위해 필요한 소프트웨어.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Java는 여러 최신 웹 및 모바일 애플리케이션의 기반이 되는 컴퓨터 언어임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JRE는 Java 프로그램과 운영 체제 간의 통신을 위한 기본 기술임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JRE는 Java&amp;nbsp; 소프트웨어 작성 시 추가 수정 없이 어떤 운영 체제에서도 실행되도록 모든 리소스를 제공하는 번역기 및 촉진자 역할을 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. MFA&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다중 인증(MFA)은 사용자에게 암호 이외의 추가 정보를 입력하도록 요구하는 다중 단계 계정 로그인 과정임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 사용자에게 암호와 더불어 이메일로 전송된 코드 입력, 보안 암호 질문에 응답, 지문 스캔 등을 요청할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두번째 인증 양식을 사용하면 시스템 암호 도용 시 무단 계정 액세스를 방지하는 데 도움이 됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. JavaScript&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JavaScript는 개발자가 대화식 웹 페이지를 만들기 위해 사용하는 프로그래밍 언어임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소셜 미디어 피드 새로고침부터 애니메이션 및 대화형 지도표시에 이르기까지, JavaScript 기능은 웹사이트의 사용자 경험을 개선할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라이언트 측 스크립팅 언어로서 JavaScript는 월드 와이드 웹의 핵심 기술 중 하나임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 인터넷 탐색 시 웹페이지에서 이미지 슬라이드쇼, 클릭하면 표시되는 드롭 다운 메뉴 또는 객체 색상의 동적 변화를 보게 된다면 이는 JavaScript의 효과를 보는 것임.&lt;/p&gt;</description>
      <category>Cloud</category>
      <category>AWS</category>
      <category>javascript</category>
      <category>jre</category>
      <category>MFA</category>
      <category>데이터준비</category>
      <category>클라우드컴퓨팅</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/114</guid>
      <comments>https://it-mi.tistory.com/114#entry114comment</comments>
      <pubDate>Wed, 7 Dec 2022 13:55:01 +0900</pubDate>
    </item>
    <item>
      <title>클라우드 컴퓨팅이란?</title>
      <link>https://it-mi.tistory.com/113</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;IT리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것을 말함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물리적 데이터센터와 서버를 구입, 소유 및 유지 관리하는 대신, Amazon Web Services(AWS)와 같은 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;누가 사용할까?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 유형, 규모 및 산업의 조직이 데이터 백업, 재해 복구, 이메일, 가상 데스크톱, 소프트웨어 개발 및 테스트, 빅 데이터 분석, 고객 대상 웹 애플리케이션 등 다양한 사용 사례에 클라우드를 사용하고 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 의료 회사들은 클라우드를 사용하여 환자를 위한 좀 더 개인화된 치료법을 개발하고 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;금융 서비스 회사들은클라우드를 사용하여 실시간 부정 행위 탐지 및 예방에 힘을 쏟고 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 비디오 게임 제작자들은 클라우드를 사용하여 전 세계 수백만 명의 플레이어에게 온라인 게임을 제공하고 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;클라우드 컴퓨팅 이점&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 민첩성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨팅, 스토리지, 데이터베이스와 같은 인프라 서비스부터 사물 인터넷, 기계 학습, 데이터 레이크 및 분석 등에 이르기까지 필요에 따라 리소스를 빠르게 구동할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단 몇 분 만에 기술 서비스를 배포할 수 있으며 이전보다 몇 백배나 더 빠르게 아이디어를 구현할 수 있음.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 탄력성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라우드 컴퓨팅을 사용하면 향후 최고 수준의 비즈니스 활동을 처리하기 위해 리소스를 사전에 오버 프로비저닝할 필요가 없음. 대신, 실제로 필요한 만큼 리소스를 프로비저닝하면 됨. 비즈니스 요구가 변화함에 따라 이러한 리소스를 확장하거나 축소하여 용량을 즉시 늘리거나 줄일 수 있음.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 비용 절감&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라우드를 통해 고정 비용(데이터 센터, 물리적 서버 등)을 가변 비용으로 전환하고, 사용한 만큼만 IT비용을 지불할 수 있음. 또한 규모의 경제 덕분에 직접 운영할 때보다 가변 비용이 훨씬 더 저렴함.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 몇 분 만에 전 세계에 배포&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라우드를 사용하면 몇 분 만에 새로운 지리적 리적으로 확장하고 전 세계에 배포할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 AWS는 전 세계에 인프라가 있으므로 사용자는 클릭 몇 번으로 여러 물리적 위치에 애플리케이션을 배포할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플리케이션을 최종 사용자와 근접하게 배치하면 지연 시간이 단축되고 사용자 경험이 향상됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;클라우드 컴퓨팅 유형&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클라우드 컴퓨팅의 세 가지 주요 유형에는 Infrastructure as a Service, Platform as a Service, Software as a Service가 있음. 각 클라우드 컴퓨팅 유형은 다양한 수준의 제어, 유연성 및 관리 기능을 제공하므로 필요에 맞는 서비스 세트를 선택할 수 있음.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Infrastructure as a Service(IaaS)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IaaS에는 클라우드 IT를 위한 기본 빌딩 블록이 포함되어 있으며, 일반적으로 네트워킹 기능, 컴퓨터(가상 또는 전용 하드웨어) 및 데이터 스토리지 공간에 대한 액세스를 제공함. IaaS는IT 리소스에 대한 최고 수준의 유연성과 관리 제어 기능을 제공함. 이는 많은 IT 부서 및 개발자에게 익숙한 기존 IT 리소스와 가장 유사함&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Platform as a Service(PaaS)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PaaS를 사용하면 기본 인프라(일반적으로 하드웨어와 운영 체제)를 관리할 필요가 없어 애플리케이션 개발과 관리에 집중할 수 있음. 즉, 애플리케이션 실행과 관련된 리소스 구매, 용량 계획, 소프트웨어 유지 관리, 패치 작업 또는 다른 모든 획일적인 작업에 대한 부담 없이 더욱 효율적으로 운영할 수 있음.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Software as a Service(SaaS)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SaaS는 서비스 공급자에 의해 실행되고 관리되는 완전한 제품을 제공함. 대부분의 경우 SaaS라고 하면 웹 기반 이메일과 같은 최종 사용자 애플리케이션을 말함. SaaS오퍼링의 경우 서비스를 유지 관리하는 방법이나 기본 인프라를 관리하는 방법에 대해 생각할 필요가 없음. 특정 소프트웨어를 어떻게 사용할지만 생각하면 됨.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;참고: &lt;a href=&quot;https://aws.amazon.com/ko/what-is-cloud-computing/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aws.amazon.com/ko/what-is-cloud-computing/&lt;/a&gt;&lt;/p&gt;</description>
      <category>Cloud</category>
      <category>AWS</category>
      <category>클라우드컴퓨팅</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/113</guid>
      <comments>https://it-mi.tistory.com/113#entry113comment</comments>
      <pubDate>Wed, 7 Dec 2022 11:21:05 +0900</pubDate>
    </item>
    <item>
      <title>SSD와 RAM의 차이</title>
      <link>https://it-mi.tistory.com/112</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;SSD&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(Solid State Drive)&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;br /&gt;- 하드디스크 드라이브(HDD, hard distk drive): 모든 파일들이 저장되는 공간&amp;nbsp;&lt;br /&gt;- 솔리드스테이트 드라이브(SSD, solid state drive): 최근에 SSD라고 전자식 디스크로 발전. HDD보다 읽어오는 속도가 빠름&lt;br /&gt;- 그래서 주로 SSD를 C드라이브로 쓰고 HDD를 D드라이브로 써서, 빨리 불러오고 싶은 프로그램을 C드라이브에(부팅 프로그램)설치하고, 안 빨라도 되는 그냥 파일들이나 프로그램은 D드라이브에 나눠서 저장하곤 함&lt;br /&gt;- 근데 최근엔 반도체 기술이 늘어서 HDD를 아예 빼고 통채로 디스크를 SSD로 넣어도 됨 &lt;br /&gt;- 하지만 SSD는 쓸수록 닳는 성질이 있음 (단점) &lt;br /&gt;- 문서작업을 엄청 많이하고 저장을 많이 해야하면 디스크(SSD,HDD)가 중요함&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;br /&gt;RAM&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(Random Access Memory)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;- 주기억장치 aka 메모리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 보조기억장치에 있는 데이터들을 불러와 CPU가 작업할 수 있게 해주는 작업공간&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 게임 프로그램, 에디터 프로그램을 실행하고 싶으면 CPU가 디스크에서 직접 읽는게 아니라 램이 사이에서 &lt;span&gt;드라이브에 저장해뒀던 파일을 읽어옴&lt;/span&gt;&lt;br /&gt;- 디스크 : 박살나지 않는 이상 삭제가 안되고 평생 저장되는 공간&lt;br /&gt;- RAM : 실제로 CPU가 연산을 처리하는 메모리 공간. 주기억장치에 저장된 코드를 읽어들여서 저장해놓는 공간. 휘발성이라 프로그램이 종료되거나 파일을 끄면 메모리에서 사라짐&lt;br /&gt;- 우리가 크롬을 키면 메모리에 크롬 브라우저 프로그램이 적재돼서 CPU가 실행하는것 &lt;br /&gt;- 근데 크롬탭을 2만개 생성하면 느려지다가 컴터 멈추면서 강제종료하라고 뜨는데 이건 메모리 용량을 초과해서 그런 것(=스택오버플로우)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 예전의 프로그래밍 언어 C, C++ 로 작성된 프로그램들은 메모리 관리를 잘해야한다 라는 말이 있었던건 프로그램이 쓸데없이 변수도 많고 메모리를 사용하고 해지를 안하면 실제 컴퓨터 RAM의 용량을 그 프로그램 혼자 차지해서 다른 프로그램은 못 돌아가니까 개발자가 메모리 관리를 잘해야한다라는 말이 나왔음&lt;br /&gt;- 비교적 최근에 나온 언어들은 어차피 하드웨어, 메모리가 빵빵하여 메모리 관리를 굳이 개발자가 힘써서 할필요는 없다 라는 철학으로 개발됨 &lt;/p&gt;</description>
      <category>CS</category>
      <category>CPU</category>
      <category>hdd</category>
      <category>ram</category>
      <category>ssd</category>
      <category>드라이브</category>
      <category>디스크</category>
      <category>램</category>
      <category>메모리</category>
      <category>보조기억장치</category>
      <category>주기억장치</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/112</guid>
      <comments>https://it-mi.tistory.com/112#entry112comment</comments>
      <pubDate>Mon, 28 Nov 2022 14:25:45 +0900</pubDate>
    </item>
    <item>
      <title>Jira + Confluence를 활용한 Agile 프로젝트 관리 (feat. ZenHub + Notion)</title>
      <link>https://it-mi.tistory.com/111</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://jinwoo1990.github.io/jira/jira-example/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://jinwoo1990.github.io/jira/jira-example/&lt;/a&gt;&lt;/p&gt;</description>
      <category>Project Management</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/111</guid>
      <comments>https://it-mi.tistory.com/111#entry111comment</comments>
      <pubDate>Sun, 1 May 2022 23:55:50 +0900</pubDate>
    </item>
    <item>
      <title>정규화, 노름, L1정규화, L2정규화, Elastic net, Early Stopping</title>
      <link>https://it-mi.tistory.com/110</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;정규화&lt;/h2&gt;
&lt;p&gt;- 일반화 오차를 줄이기 위한 기계학습의 모형이나 알고리즘의 수정&lt;/p&gt;
&lt;p&gt;-- 모형의 파라미터에 제약을 가한다&lt;/p&gt;
&lt;p&gt;-- 여러 개의 모형을 학습시킨다&lt;/p&gt;
&lt;p&gt;-- 여러가지 과제에 학습시킨다&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;노름(Norm)&lt;/h2&gt;
&lt;p&gt;- 길이 또는 크기를 일반화한 개념&lt;/p&gt;
&lt;p&gt;- Lp 노름&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; width=&quot;148&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kwDg0/btqOtZsEnKr/xjiL9dzmo1slxBIm6NoZKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kwDg0/btqOtZsEnKr/xjiL9dzmo1slxBIm6NoZKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kwDg0/btqOtZsEnKr/xjiL9dzmo1slxBIm6NoZKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkwDg0%2FbtqOtZsEnKr%2FxjiL9dzmo1slxBIm6NoZKK%2Fimg.png&quot; width=&quot;148&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;L1 정규화&lt;/h2&gt;
&lt;p&gt;- 손실함수에 파라미터의 L1 노름을 추가: 가중치(w)를 최대한 작게, 손실 함수도 작게.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; width=&quot;259&quot; height=&quot;NaN&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zipzI/btqOtZznwFw/W4lpttKVTJilCkEe4TrcLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zipzI/btqOtZznwFw/W4lpttKVTJilCkEe4TrcLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zipzI/btqOtZznwFw/W4lpttKVTJilCkEe4TrcLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzipzI%2FbtqOtZznwFw%2FW4lpttKVTJilCkEe4TrcLK%2Fimg.png&quot; width=&quot;259&quot; height=&quot;NaN&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;- LASSO(통계 회귀분석에서 불리는 용어)&lt;/p&gt;
&lt;p&gt;- 가중치를 0으로 만드는 경향이 강함:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;변수선택(fearue selection) -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;중요하지 않은 변수는 날려버린다. 손실함수가 0이 됨.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;L2정규화&lt;/h2&gt;
&lt;p&gt;- 손실함수에 파라미터의 L2 노름을 추가: L1 정규화랑 큰 차이는 없지만, 이건 제곱을 하니까 계수를 작게하려는 경향이 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; width=&quot;264&quot; height=&quot;NaN&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BNNDE/btqOzBRCNN8/KTPPIIFy0K84nuJ6C1ZSgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BNNDE/btqOzBRCNN8/KTPPIIFy0K84nuJ6C1ZSgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BNNDE/btqOzBRCNN8/KTPPIIFy0K84nuJ6C1ZSgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBNNDE%2FbtqOzBRCNN8%2FKTPPIIFy0K84nuJ6C1ZSgk%2Fimg.png&quot; width=&quot;264&quot; height=&quot;NaN&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;- Ridge 회귀분석(통계 회귀분석에서 불리는 용어) or Weight Decay(딥러닝, 인공신경망에서 불리는 용어)&lt;/p&gt;
&lt;p&gt;- 가중치(계수)를 전반적으로 작게 만드는 경향이 강함 - 손실함수를 완만하게(L1은 0으로)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Elastic Net&lt;/h2&gt;
&lt;p&gt;- 손실함수에 파라미터의 L1, L2 노름을 추가&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; width=&quot;342&quot; height=&quot;NaN&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8LcGe/btqOqTtd265/CPliYn4U1E050DiQx0BoAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8LcGe/btqOqTtd265/CPliYn4U1E050DiQx0BoAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8LcGe/btqOqTtd265/CPliYn4U1E050DiQx0BoAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8LcGe%2FbtqOqTtd265%2FCPliYn4U1E050DiQx0BoAk%2Fimg.png&quot; width=&quot;342&quot; height=&quot;NaN&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;- 다른 여러 종류의 노름은 Elastic Net으로 근사&lt;/p&gt;
&lt;p&gt;- 알파와 베타의 조합을 어떻게 하느냐에 따라, 노름(커브 형태)을 조절하여 다양한 정규화를 할 수 있다. 원하는 가중치를 줄 수 있는 것&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Early Stopping&lt;/h2&gt;
&lt;p&gt;- 인공신경망의 학습에서 epoch(데이터를 처음부터 끝까지 한 번 훓어보는 것)수를 결정하는 방법&lt;/p&gt;
&lt;p&gt;-- epoch를 늘이면 train 데이터의 오차는 줄어든다. 일반화 에러는 증가한다.&lt;/p&gt;
&lt;p&gt;- 매 epoch마다 별도의 데이터로 검증을 수행&lt;/p&gt;
&lt;p&gt;-- epoch도 하이퍼파라미터이기 때문에 검증(validation)가능&lt;/p&gt;
&lt;p&gt;- 성능이 더 이상 개선되지 않으면 중단&lt;/p&gt;
&lt;p&gt;-- 그래프가 줄어들다가 증가하면, 과적합이 일어나는 것으로 판단하고, 일찍 중단하는 것&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;정규화로서 Early Stopping&lt;/h2&gt;
&lt;p&gt;-- epoch는 정규화이기도 하다.&lt;/p&gt;
&lt;p&gt;- 인공신경망의 학습: 데이터 입력 -&amp;gt; 손실 계산 -&amp;gt; 파라미터 업데이트&lt;/p&gt;
&lt;p&gt;- 파라미터를 많이 업데이트할 수록 초기값에서 멀리 떨어진 값을 추정.&lt;/p&gt;
&lt;p&gt;--&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;L1, L2도 0에서 많이 벗어나지 않도록 하는 것&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;- 학습을 일찍 중단하면 파라미터는 초기값에 가까운 값이 됨&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/텍스트 데이터 분석</category>
      <category>early stopping</category>
      <category>elastic net</category>
      <category>L1정규화</category>
      <category>L2정규화</category>
      <category>노름</category>
      <category>정규화</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/110</guid>
      <comments>https://it-mi.tistory.com/110#entry110comment</comments>
      <pubDate>Sun, 29 Nov 2020 00:54:21 +0900</pubDate>
    </item>
    <item>
      <title>일반화, 용량, 과적합, 하이퍼파라미터, 검증, 편향-분산 교환</title>
      <link>https://it-mi.tistory.com/109</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;일반화&lt;/h2&gt;
&lt;p&gt;- 학습된 결과를 새로운 데이터에 적용하는 것&lt;/p&gt;
&lt;p&gt;- &lt;b&gt;일반화 오차:&lt;/b&gt; 일반화에서 발생하는 오차&lt;/p&gt;
&lt;p&gt;- 보통 테스트를 통해 측정하므로 테스트 오차라고 함&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;용량&lt;/h2&gt;
&lt;p&gt;- 기계학습 모형이 표현할 수 있는 패턴의 범위&lt;/p&gt;
&lt;p&gt;- 예시: y=wx, y=b, y=wx+b&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;과적합&lt;/h2&gt;
&lt;p&gt;- underfitting(과소적합): 데이터의 패턴이 모형이 표현할 수 있는 것보다 복잡&lt;/p&gt;
&lt;p&gt;- overfitting(과대적합): 모형이 표현하는 패턴이 실제 데이터보다 복잡&lt;/p&gt;
&lt;p&gt;- 과적합이 발생하면 일반화 오차가 커짐&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;No Free Lunch Theorem&lt;/h2&gt;
&lt;p&gt;(공짜 점심은 없다)&lt;/p&gt;
&lt;p&gt;- 모든 가능한 문제들에 대한 기계학습 방법의 평균적 성능은 같다&lt;/p&gt;
&lt;p&gt;- 항상 더 좋은 방법은 없음&lt;/p&gt;
&lt;p&gt;- 단, 어떤 문제들에 대해서는 항상 더 좋은 방법이 있을 수 있다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;하이퍼파라미터&lt;/h2&gt;
&lt;p&gt;- 모형의 특성이나 학습 과정의 설정값들(예: epoch)&lt;/p&gt;
&lt;p&gt;- 데이터로 학습하기 어렵거나, 학습시키기 바람직하지 않음&lt;/p&gt;
&lt;p&gt;- 시행착오를 통해 설정&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;검증&lt;/h2&gt;
&lt;p&gt;- 기계학습에서 데이터를 train, validation, test로 나눔&lt;/p&gt;
&lt;p&gt;- train: 모형의 파라미터를 학습&lt;/p&gt;
&lt;p&gt;- validation: 모형의 하이퍼파라미터를 검증&lt;/p&gt;
&lt;p&gt;- test: 모형의 성능을 테스트. 테스트 데이터는 최종 1번만 사용.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;추정량의 편향과 분산&lt;/h2&gt;
&lt;p&gt;- 추정량: 샘플로부터 파라미터를 추정하는 방법&lt;/p&gt;
&lt;p&gt;- 샘플에 따라 얻어진 추정값은 달라진다&lt;/p&gt;
&lt;p&gt;- 편향: 추정값의 기댓값과 실젯값의 차이&lt;/p&gt;
&lt;p&gt;- 분산: 추정값이 샘플에 따라 달라지는 정도&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;편향-분산 교환(Bias-Variance tradeoff)&lt;/h2&gt;
&lt;p&gt;- 모형의 일반화 오차 = 편향과 분산으로 구성&lt;/p&gt;
&lt;p&gt;- 모형의 용량이 증가하면 편향은 감소, 분산은 증가&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SXYxC/btqOCb6bz0Y/kfOqOZntKUQO6ik5gDyUKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SXYxC/btqOCb6bz0Y/kfOqOZntKUQO6ik5gDyUKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SXYxC/btqOCb6bz0Y/kfOqOZntKUQO6ik5gDyUKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSXYxC%2FbtqOCb6bz0Y%2FkfOqOZntKUQO6ik5gDyUKK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;</description>
      <category>데이터분석/텍스트 데이터 분석</category>
      <category>검증</category>
      <category>과적합</category>
      <category>용량</category>
      <category>일반화</category>
      <category>편향-분산 교환</category>
      <category>하이퍼파라미터</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/109</guid>
      <comments>https://it-mi.tistory.com/109#entry109comment</comments>
      <pubDate>Sun, 29 Nov 2020 00:53:57 +0900</pubDate>
    </item>
    <item>
      <title>감성 분석, 선형 모형, 로지스틱 회귀분석, 경사하강법, 교차 엔트로피</title>
      <link>https://it-mi.tistory.com/108</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 감성 분석&lt;/h2&gt;
&lt;p&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;/ul&gt;
&lt;p&gt;- 기쁨, 슬픔, 분노 등은 정서라고 함&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;감성 분석의 방법&lt;/h2&gt;
&lt;p&gt;- 사전 기반&lt;/p&gt;
&lt;p&gt;- 기계 학습 기반&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;사전 기반 감성 분석&lt;/h3&gt;
&lt;p&gt;- 단어 별로 긍/부정을 분류하여 &lt;b&gt;감성 사전 만듦&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 긍정 단어의 예) 좋다, 만족한다, 뛰어나다&lt;/p&gt;
&lt;p&gt;- 부정 단어의 예) 나쁘다, 불만이다, 뒤떨어진다&lt;/p&gt;
&lt;p&gt;- 문장에서 긍정단어의 수와 부정단어의 수를 세서 많은 쪽으로 결정&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;감성 사전의 장단점&lt;/h4&gt;
&lt;p&gt;- 장점: 배경지식이 있다면 감정사전 만들 수 있음. 복잡한 프로그래밍 필요 없음. 우리가 가진 지식&amp;nbsp; 활용 가능&lt;/p&gt;
&lt;p&gt;- 단점: 해박한 배경지식이 필요. 사전으로 만드는데 많은 노력이 필요. 문장의 어순을 고려 못함&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;기계 학습의 장단점&lt;/h4&gt;
&lt;p&gt;- 장점: 감정 사전보다 성능이 높음. 배경지식이 불필요. 모형에 따라 문장의 어순도 고려할 수 있음. 감성 사전을 자동으로 만들 수도 있음&lt;/p&gt;
&lt;p&gt;- 단점: 대량의 학습용 데이터가 필요. 학습용 데이터에 긍/부정으로 레이블을 붙이는데 많은 노력이 필요. 통계나 기계학습 지식이 필요&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 선형 모형&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;선형 모형을 이용한 감성 분석&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;선형 모형 : y = wx + b
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li&gt;x: 문서 내 특정 단어의 빈도&lt;/li&gt;
&lt;li&gt;y: 문서의 긍/부정(긍정=1, 부정=0)&lt;/li&gt;
&lt;li&gt;w: 가중치 또는 계수&lt;/li&gt;
&lt;li&gt;b: 절편 또는 편향&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;가중치에 따른 차이&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가중치가 + : x가 증가할수록 y도 증가 -&amp;gt; 긍정 단어&lt;/li&gt;
&lt;li&gt;가중치가 - : x가 증가하면 y는 감소 -&amp;gt; 부정 단어&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 로지스틱 회귀분석&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;로지스틱 모형&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmi70S/btqOqUEj2uH/w1AfMKgUUQaC0VgTGPIjbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmi70S/btqOqUEj2uH/w1AfMKgUUQaC0VgTGPIjbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmi70S/btqOqUEj2uH/w1AfMKgUUQaC0VgTGPIjbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbmi70S%2FbtqOqUEj2uH%2Fw1AfMKgUUQaC0VgTGPIjbk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;선형 모형의 경우 y가 -&amp;infin; ~ +&amp;infin;의 범위를 가짐&lt;/li&gt;
&lt;li&gt;실제로 y는 긍정(1) 또는 부정(0)&lt;/li&gt;
&lt;li&gt;선형 모형에 로지스틱함수를 결합하여 y가 0~1범위를 가지게 함&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;로지스틱 함수&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cPF7ov/btqOtDhICJv/gDTenSD1OcgksLEK71mWXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cPF7ov/btqOtDhICJv/gDTenSD1OcgksLEK71mWXK/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; style=&quot;width: 54.5199%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cPF7ov/btqOtDhICJv/gDTenSD1OcgksLEK71mWXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcPF7ov%2FbtqOtDhICJv%2FgDTenSD1OcgksLEK71mWXK%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;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVjNK0/btqOjmhX6hM/qhmGlIqqJEkuQPgxPyArYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVjNK0/btqOjmhX6hM/qhmGlIqqJEkuQPgxPyArYK/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; style=&quot;width: 44.3173%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVjNK0/btqOjmhX6hM/qhmGlIqqJEkuQPgxPyArYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVjNK0%2FbtqOjmhX6hM%2FqhmGlIqqJEkuQPgxPyArYK%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;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;벨기에 수학자 P.F. 베르헐스트가 고안&lt;/li&gt;
&lt;li&gt;기계학습에서는, S자 형태의 곡선이라 '&lt;b&gt;시그모이드&lt;/b&gt;'라고도 함
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li&gt;sigma: 그리스어의 S&lt;/li&gt;
&lt;li&gt;-oid: ~를 닮은(안드로이드: 인간을 닮은)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;로지스틱 모형의 출력값에 대한 해석&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로지스틱 모형은 0~1 사이의 실수를 출력 -&amp;gt; 확률로 해석&lt;/li&gt;
&lt;li&gt;ex) 0.8인 경우 -&amp;gt; 긍정일 확률 80% (부정일 확률 20%)&lt;/li&gt;
&lt;li&gt;보통 0.5를 기준으로 그보다 높으면 긍정, 낮으면 부정으로 예측&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 경사하강법&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;로지스틱 모형의 학습 방법&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmi70S/btqOqUEj2uH/w1AfMKgUUQaC0VgTGPIjbk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmi70S/btqOqUEj2uH/w1AfMKgUUQaC0VgTGPIjbk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmi70S/btqOqUEj2uH/w1AfMKgUUQaC0VgTGPIjbk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbmi70S%2FbtqOqUEj2uH%2Fw1AfMKgUUQaC0VgTGPIjbk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'학습'이란 모형의 파라미터(w,b)를 추정하는 것&lt;/li&gt;
&lt;li&gt;모형의 예측과 문장의 실제 긍/부정의 &lt;b&gt;차이&lt;/b&gt;를 &lt;b&gt;손실 함수&lt;/b&gt;로 측정, 손실 함수의 값을 가장 작게 만드는 파라미터르를 찾음 -&amp;gt; 차이에 따라 w와 b를 조정해준다.
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li&gt;중고등학교 때 배운것은 closed - form&lt;/li&gt;
&lt;li&gt;머신러닝, 기계학습, 통계는 데이터가 완벽하지 않고 오차가 들어있기 때문에, 오차를 작게 하는게 중요한 open - form&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;주로 &lt;b&gt;경사하강법&lt;/b&gt;(gradient descent)이라는 알고리즘을 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;경사하강법의 원리&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터의 일부(batch)를 모형에 입력&lt;/li&gt;
&lt;li&gt;모형의 예측과 실제값을 비교하여 손실을 구함&lt;/li&gt;
&lt;li&gt;손실이 작아지는 방향으로 파라미터를 약간 수정&lt;/li&gt;
&lt;li&gt;위의 과정을 반복&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 교차 엔트로피&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;교차 엔트로피&lt;/h3&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;감성분석과 같이 0/1로 분류하는 문제일 경우, 교차 엔트로피를 손실 함수로 사용&lt;/li&gt;
&lt;li&gt;p와 q 두 확률 분포가 비슷할 수록 작아짐: y와 y^이 얼마나 비슷한지 보는 것&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TWhvL/btqOleqBN9T/edwdzCWrL0nv8iOZ7kiY8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TWhvL/btqOleqBN9T/edwdzCWrL0nv8iOZ7kiY8k/img.png&quot; data-alt=&quot;p(실제 확률분포) * q(층정 확률분포)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TWhvL/btqOleqBN9T/edwdzCWrL0nv8iOZ7kiY8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTWhvL%2FbtqOleqBN9T%2FedwdzCWrL0nv8iOZ7kiY8k%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;p(실제 확률분포) * q(층정 확률분포)&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;우도(likelihood)&lt;/h3&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;li&gt;로그 - 우도 최대화 = 교차 엔트로피 최소화
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li&gt;측정분포와 실제분포가 비슷하다&lt;/li&gt;
&lt;li&gt;w,b가 관찰될 가능성이 크다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>데이터분석/텍스트 데이터 분석</category>
      <category>감성분석</category>
      <category>경사하강법</category>
      <category>교차 엔트로피</category>
      <category>로지스틱 회귀분석</category>
      <category>선형 모형</category>
      <category>우도</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/108</guid>
      <comments>https://it-mi.tistory.com/108#entry108comment</comments>
      <pubDate>Fri, 27 Nov 2020 15:42:26 +0900</pubDate>
    </item>
    <item>
      <title>Github 깃헙으로 협업할 때, 버전 충돌 해결하기!!</title>
      <link>https://it-mi.tistory.com/107</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;깃헙으로 협업하기 위해, 공용 레퍼지토리는 만들었는데...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;만약, 하나의 파일을 두명, 세명이서 동시에 작업을 하게 된다면? 괜찮은건가??&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다른 사람 코드를 가져와서 수정을 하는 사이에 또 다른 사람이 수정을 하면 어떡하지??&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다른 사람이 먼저 수정했는지 모르고 가져왔다가 내가 수정해버리면 제대로 병합이 되는걸까??&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;와 같은 궁금증들이 생기실텐데요!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 문제를 해결하기위해 알아야 할 개념이 바로,&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;branch &amp;amp; merge &lt;span style=&quot;color: #000000;&quot;&gt;&amp;amp; conflict&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; background-color: #f6e199;&quot;&gt;1. branch&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #000000;&quot;&gt;''만약, 하나의 파일을 두명, 세명이서 동시에 작업을 하게 된다면? 괜찮은건가??''&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 문제를 해결하기 위해서는 따로 작업을 하다가 마지막에 하나로 합치면 될 것 같습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이를 위해 branch, 즉, 가지치기를 해야하는데요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저장소를 만들면 기본적으로 &lt;span style=&quot;color: #006dd7;&quot;&gt;HEAD&lt;/span&gt;가 만들어지고, &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;master &lt;span style=&quot;color: #ee2323;&quot;&gt;branch&lt;/span&gt;가 만들어집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;따라서, HEAD가 만들어지면 이는 &lt;b&gt;master branch&lt;/b&gt;상태라는 것을 알 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;master branch에 있는 상태에서 버전(1)이 만들어지면, HEAD가 버전(1)을 가르킵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;여기서 버전(2)을 새롭게 만들면, master branch가 버전(2)를 가르킵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 상태에서 새로운 new branch를 만들면, new branch는 버전(2)를 가르킨 채 시작됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이때 버전(3)을 만들면, new branch는 버전(3)을 가르킵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이렇게 master branch를 최종 작업물을 하나로 합치는 공간으로 두고 각자 new branch, new new branch ... 를 만들어 작업을 하면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000; background-color: #dddddd;&quot;&gt;branch 만들기&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1606151761426&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;브랜치의 목록을 볼 때
git branch

브랜치를 생성
git branch &quot;새로운 브랜치 이름&quot;

브랜치를 삭제
git branch -d

병합하지 않은 브랜치를 강제 삭제
git branch -D

브랜치를 전환(체크아웃)할 때
git checkout &quot;전환하려는 브랜치 이름&quot;

브랜치를 생성하고 전환까지 할 때&amp;nbsp;
git checkout -b &quot;생성하고 전환할 브랜치 이름&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;checkout 과 reset&lt;/h3&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;checkout, reset은 주인공인 HEAD, branch, commit들 간의 관계를 체크하는 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;checkout은 HEAD의 값을 바꾸는 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 checkout 1이라고 하면 HEAD가 바로 버전(1)을 가르킵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;이러한 상태를 detached라고 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;checkout master와 reset master의 차이&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;checkout&lt;/b&gt;은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;HEAD&lt;/b&gt;를 제어합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;HEAD가 branch를 가르킬 때, checkout은 branch를 제어합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;reset&lt;/b&gt;은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;branch&lt;/b&gt;를 바꿔줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;branch가 가르키는 commit을 바꾸면 commit이후에 나오는 링크는 끊겨버리기 때문에 삭제의 느낌인 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;따라서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;checkout&lt;/b&gt;은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;change&lt;/b&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;reset&lt;/b&gt;은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;delete&lt;/b&gt;라 생각하면 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000; background-color: #dddddd;&quot;&gt;branch 정보확인&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1606151833455&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;브랜치 간에 비교할 때
git log &quot;비교할 브랜치 명 1&quot;..&quot;비교할 브랜치 명 2&quot;

브랜치 간의 코드를 비교 할 때&amp;nbsp;
git diff&amp;nbsp;&quot;비교할 브랜치 명 1&quot;..&quot;비교할 브랜치 명 2&quot;

로그에 모든 브랜치, 그래프, 브랜치 명을 표시하고, 한줄로 표시할 때&amp;nbsp;
git log --branches --graph --decorate --oneline&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000; background-color: #ffc9af;&quot;&gt;2. merge &amp;amp; conflict&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;branch에서 작업을 다 했으면 master branch에&lt;b&gt; 병합&lt;/b&gt;을 시켜줘야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;하지만, A가 master branch에 있는 a코드를 pull해와서 작업 후 a+c를 master branch로 올리는 와중에, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;B가 a코드를 수정해 master branch에 a+b코드가 있는 상황이라면, 서로의 코드가 &lt;b&gt;충돌&lt;/b&gt;할 수도 있습니다.&lt;/span&gt;&lt;br /&gt;A와 B가 같은 코드를 다르게 고쳤을 때! 말이죠.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000; background-color: #dddddd;&quot;&gt;branch 병합&lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1606151858297&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;A 브랜치로 B 브랜치를 병합할 때 (A &amp;larr; B)
git checkout A
git merge B&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000; background-color: #dddddd;&quot;&gt;branch 병합 시 충돌해결&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;충돌이 일어났을 때&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;충돌이 생기면 아래와 같은 메시지가 뜹니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;640&quot; height=&quot;70&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5fNmq/btqNVRPTTKa/n3W1UiXEKEtBthrQv1G1Y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5fNmq/btqNVRPTTKa/n3W1UiXEKEtBthrQv1G1Y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5fNmq/btqNVRPTTKa/n3W1UiXEKEtBthrQv1G1Y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5fNmq%2FbtqNVRPTTKa%2Fn3W1UiXEKEtBthrQv1G1Y0%2Fimg.png&quot; width=&quot;640&quot; height=&quot;70&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git status를 하면 충돌이 일어난 파일을 찾을 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;640&quot; height=&quot;165&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AnYCE/btqNWhHACy6/GemFNzY5kbEK85mfLLAayK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AnYCE/btqNWhHACy6/GemFNzY5kbEK85mfLLAayK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AnYCE/btqNWhHACy6/GemFNzY5kbEK85mfLLAayK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAnYCE%2FbtqNWhHACy6%2FGemFNzY5kbEK85mfLLAayK%2Fimg.png&quot; width=&quot;640&quot; height=&quot;165&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;충돌이 발생한 파일은 아래와 같습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;640&quot; height=&quot;260&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bm1FuJ/btqNWgu8Vpt/u3mBMS7YXk8NeNIBrRvE80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bm1FuJ/btqNWgu8Vpt/u3mBMS7YXk8NeNIBrRvE80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bm1FuJ/btqNWgu8Vpt/u3mBMS7YXk8NeNIBrRvE80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbm1FuJ%2FbtqNWgu8Vpt%2Fu3mBMS7YXk8NeNIBrRvE80%2Fimg.png&quot; width=&quot;640&quot; height=&quot;260&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;충돌이 발생한 파일을 수동으로 수정해 줄 수 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;'&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; HEAD' 부터 '=======' 사이의 구간이 현재 체크 아웃된 파일의 내용이고 &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #9d9d9d;&quot;&gt;'=======' 부터 '&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; exp' 사이의 구간이 병합하려는 대상인 exp 브랜치의 코드 내용입니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이를 참고로해서 두 개의 코드를 병합한 후, 특수기호들을 제거해주면 됩니다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;작업이 끝나면 파일을 저장하고,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;충돌 작업을 끝냈다는 것을 git에게 알려줍니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;git add 'conflicted file name'&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1606151889654&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git add 'conflicted file name'&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;참고&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://opentutorials.org/course/2708&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;opentutorials.org/course/2708&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1606152193563&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;university&quot; data-og-title=&quot;지옥에서 온 Git (새 수업으로 대체) - 생활코딩&quot; data-og-description=&quot;이 수업은 GITn 시리즈로 완전히 대체 되었습니다. GITn은 보다 많은 내용을 작은 단위로 쪼개서 선택적으로 공부하실 수 있도록 제작된 수업입니다. 아래 주소를 통해서 GITn 을 접할 수 있습니다.&quot; data-og-host=&quot;opentutorials.org&quot; data-og-source-url=&quot;https://opentutorials.org/course/2708&quot; data-og-url=&quot;https://opentutorials.org/course/2708&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://opentutorials.org/course/2708&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://opentutorials.org/course/2708&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;지옥에서 온 Git (새 수업으로 대체) - 생활코딩&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;이 수업은 GITn 시리즈로 완전히 대체 되었습니다. GITn은 보다 많은 내용을 작은 단위로 쪼개서 선택적으로 공부하실 수 있도록 제작된 수업입니다. 아래 주소를 통해서 GITn 을 접할 수 있습니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;opentutorials.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1606152028605&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;초심자를 위한 Github 협업 튜토리얼 (with 토끼와 거북이)&quot; data-og-description=&quot;git을 사용해 Github에서 협업을 하는 과정을 설명한 글입니다. 초심자를 대상으로 하며, SourceTree를 사용합니다.&quot; data-og-host=&quot;milooy.wordpress.com&quot; data-og-source-url=&quot;https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/&quot; data-og-url=&quot;https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bKUNDy/hyIlQeLwTg/K1okceTfQAg8UH5FGkQTMk/img.png?width=797&amp;amp;height=583&amp;amp;face=0_0_797_583,https://scrap.kakaocdn.net/dn/h3B20/hyIkJVR1qU/idJDKBUyYrs71otDCAnKHK/img.png?width=640&amp;amp;height=468&amp;amp;face=0_0_640_468,https://scrap.kakaocdn.net/dn/cSDly8/hyIkFlC1d5/z35tLsEUMX4i3EikStjil0/img.jpg?width=1024&amp;amp;height=768&amp;amp;face=0_0_1024_768&quot;&gt;&lt;a href=&quot;https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bKUNDy/hyIlQeLwTg/K1okceTfQAg8UH5FGkQTMk/img.png?width=797&amp;amp;height=583&amp;amp;face=0_0_797_583,https://scrap.kakaocdn.net/dn/h3B20/hyIkJVR1qU/idJDKBUyYrs71otDCAnKHK/img.png?width=640&amp;amp;height=468&amp;amp;face=0_0_640_468,https://scrap.kakaocdn.net/dn/cSDly8/hyIkFlC1d5/z35tLsEUMX4i3EikStjil0/img.jpg?width=1024&amp;amp;height=768&amp;amp;face=0_0_1024_768');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;초심자를 위한 Github 협업 튜토리얼 (with 토끼와 거북이)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;git을 사용해 Github에서 협업을 하는 과정을 설명한 글입니다. 초심자를 대상으로 하며, SourceTree를 사용합니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;milooy.wordpress.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://rogerdudler.github.io/git-guide/index.ko.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;rogerdudler.github.io/git-guide/index.ko.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1606152031955&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;git - 간편 안내서 - 어렵지 않아요!&quot; data-og-description=&quot;&quot; data-og-host=&quot;rogerdudler.github.io&quot; data-og-source-url=&quot;https://rogerdudler.github.io/git-guide/index.ko.html&quot; data-og-url=&quot;https://rogerdudler.github.io/git-guide/index.ko.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/owC8W/hyIkIo691X/DWV93EoNWHWf5EsQMTEmD0/img.png?width=900&amp;amp;height=320&amp;amp;face=0_0_900_320,https://scrap.kakaocdn.net/dn/cfD9BM/hyIlPAasJW/17zFUkZIAR2iCwnoJI5IRk/img.png?width=900&amp;amp;height=320&amp;amp;face=0_0_900_320,https://scrap.kakaocdn.net/dn/bOEY4m/hyIkx2b7yU/kmg4IFPyapUqHZLbDHIgNK/img.png?width=900&amp;amp;height=200&amp;amp;face=0_0_900_200&quot;&gt;&lt;a href=&quot;https://rogerdudler.github.io/git-guide/index.ko.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://rogerdudler.github.io/git-guide/index.ko.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/owC8W/hyIkIo691X/DWV93EoNWHWf5EsQMTEmD0/img.png?width=900&amp;amp;height=320&amp;amp;face=0_0_900_320,https://scrap.kakaocdn.net/dn/cfD9BM/hyIlPAasJW/17zFUkZIAR2iCwnoJI5IRk/img.png?width=900&amp;amp;height=320&amp;amp;face=0_0_900_320,https://scrap.kakaocdn.net/dn/bOEY4m/hyIkx2b7yU/kmg4IFPyapUqHZLbDHIgNK/img.png?width=900&amp;amp;height=200&amp;amp;face=0_0_900_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;git - 간편 안내서 - 어렵지 않아요!&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;rogerdudler.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href=&quot;https://gmlwjd9405.github.io/2017/10/27/how-to-collaborate-on-GitHub-1.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;gmlwjd9405.github.io/2017/10/27/how-to-collaborate-on-GitHub-1.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1606152051346&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;[GitHub] GitHub로 협업하는 방법[1] - Feature Branch Workflow - Heee's Development Blog&quot; data-og-description=&quot;Step by step goes a long way.&quot; data-og-host=&quot;gmlwjd9405.github.io&quot; data-og-source-url=&quot;https://gmlwjd9405.github.io/2017/10/27/how-to-collaborate-on-GitHub-1.html&quot; data-og-url=&quot;http://gmlwjd9405.github.io/2017/10/27/how-to-collaborate-on-GitHub-1.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bw0yx2/hyIl0IssY6/BHZw7p4tJ9eN3j9vExPipK/img.png?width=2002&amp;amp;height=1127&amp;amp;face=0_0_2002_1127,https://scrap.kakaocdn.net/dn/bP0AZW/hyIkyNBsuo/TyMbVCzTUcNnr4AAahYbN1/img.png?width=2002&amp;amp;height=1127&amp;amp;face=0_0_2002_1127,https://scrap.kakaocdn.net/dn/cB64tm/hyIkEUwNVf/2mdNJHXyA017U0Z9NK6rAk/img.png?width=2002&amp;amp;height=1127&amp;amp;face=0_0_2002_1127&quot;&gt;&lt;a href=&quot;https://gmlwjd9405.github.io/2017/10/27/how-to-collaborate-on-GitHub-1.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gmlwjd9405.github.io/2017/10/27/how-to-collaborate-on-GitHub-1.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bw0yx2/hyIl0IssY6/BHZw7p4tJ9eN3j9vExPipK/img.png?width=2002&amp;amp;height=1127&amp;amp;face=0_0_2002_1127,https://scrap.kakaocdn.net/dn/bP0AZW/hyIkyNBsuo/TyMbVCzTUcNnr4AAahYbN1/img.png?width=2002&amp;amp;height=1127&amp;amp;face=0_0_2002_1127,https://scrap.kakaocdn.net/dn/cB64tm/hyIkEUwNVf/2mdNJHXyA017U0Z9NK6rAk/img.png?width=2002&amp;amp;height=1127&amp;amp;face=0_0_2002_1127');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[GitHub] GitHub로 협업하는 방법[1] - Feature Branch Workflow - Heee's Development Blog&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Step by step goes a long way.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;gmlwjd9405.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Git</category>
      <category>branch</category>
      <category>conflict</category>
      <category>Git</category>
      <category>github</category>
      <category>merge</category>
      <category>깃</category>
      <category>깃헙협업</category>
      <category>버전충돌</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/107</guid>
      <comments>https://it-mi.tistory.com/107#entry107comment</comments>
      <pubDate>Tue, 24 Nov 2020 02:18:52 +0900</pubDate>
    </item>
    <item>
      <title>Git 개념 / Git으로 버전 관리 뜻 / Git 사용 방법</title>
      <link>https://it-mi.tistory.com/106</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Git(깃)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;한 줄 정의: 여러 명이 함께 협업할 때 따로 작업하다가 코드를 합치고 백업을 쉽게 하기 위한 `분산 &lt;b&gt;버전 관리&lt;/b&gt; 시스템`&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;위키 정의: 깃은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;버전관리란?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;코딩할 때, 원하는 시점마다 깃발을 꽂고(&lt;b&gt;버전을 만들고&lt;/b&gt;) 이들 간에 자유롭게 돌아다닐 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;내가 만든 버전 뿐 아니라 동료가 만든 &lt;b&gt;버전으로 이동&lt;/b&gt;할 수 있고, 동료와 내 &lt;b&gt;버전을 비교&lt;/b&gt;해서 코드를 &lt;b&gt;최신본으로 업데이트&lt;/b&gt; 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Git을 사용하는 2가지 방법&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. CLI&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. GUI&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Git으로 버전 관리 개념(기본)&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 커밋(Commit)&lt;/h4&gt;
&lt;p&gt;커밋이란, 변경 사항 덩어리! &lt;span style=&quot;color: #333333;&quot;&gt;커밋은 꾸준히 쌓인다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1605977210768&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#CLI
git commit -m &quot;commit-name&quot;
#GUI
'커밋' 버튼 클릭&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 푸시(push)&lt;/h4&gt;
&lt;p&gt;커밋을 원격(공동)저장소에 올리고 싶을 때, 푸시를 한다!&lt;/p&gt;
&lt;p&gt;푸시를 해서 &lt;b&gt;원격 저장소&lt;/b&gt;에 올리면, 다른 개발자들도 내 코드를 볼 수 있다.&lt;/p&gt;
&lt;p&gt;*원격저장소: Github, AWS 등&lt;/p&gt;
&lt;pre id=&quot;code_1605977365497&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#CLI
git push origin master
#GUI
'push'버튼 클릭
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 풀(pull)&lt;/h4&gt;
&lt;p&gt;다른 사람이 개발한 코드(커밋)을 내 컴퓨터에 받아오고 싶을 때, 풀을 한다!&lt;/p&gt;
&lt;pre id=&quot;code_1605977434401&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#CLI
git pull
#GUI
'pull' 버튼 클릭&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. 브랜치(branch)&lt;/h4&gt;
&lt;p&gt;한 저장소에서 다른 개발자랑 같이 작업을 하고 싶을 때, &lt;b&gt;브랜치&lt;/b&gt;를 만든다!&lt;/p&gt;
&lt;p&gt;브랜치란, 한 줄로 쌓던 커밋을 &lt;b&gt;n줄로 쌓을 수 있게&lt;/b&gt; 만들어 준다!&lt;/p&gt;
&lt;p&gt;n줄로 쌓아야 하는 이유는, 한 줄에서 작업하면 &lt;b&gt;충돌&lt;/b&gt;이 일어날 수 있기 때문! 똑같은 코드를 동시에 고칠 가능성이 있다.&lt;/p&gt;
&lt;p&gt;n줄로 쌓고 나중에 합치면 된다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1605977590580&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#CLI
git branch branch-name
#GUI
브랜치 버튼 클릭&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5. 병합(merge)&lt;/h4&gt;
&lt;p&gt;브랜치에서 작업이 끝나고 코드를 합치고 싶을 때, 병합을 한다!&lt;/p&gt;
&lt;p&gt;병합이란, 브랜치와 브랜치를 합치는 것!&lt;/p&gt;
&lt;pre id=&quot;code_1605977672729&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#CLI
git merge branch-name&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Git으로 버전 관리 개념(심화)&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 풀 리퀘스트&lt;/h4&gt;
&lt;p&gt;병합하기 전에 다른 개발자들에게 리뷰 및 컨펌을 받고 싶을 때, 풀 리퀘스트를 보낸다.&lt;/p&gt;
&lt;p&gt;풀 리퀘스트란, '병합 요청 편지'이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 병합의 종류&lt;/h4&gt;
&lt;p&gt;2-1. fast forward merge&lt;/p&gt;
&lt;p&gt;2-2. making merge commit&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;merge, push, conflict 해결&lt;/h4&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;1. feat/comment 브랜치 생성, 커밋, 푸시&lt;/p&gt;
&lt;p&gt;2. master 브랜치로 checkout(head이동)&lt;/p&gt;
&lt;p&gt;3. feat/main 브랜치 생성, 커밋, 푸시&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 포크(fork)&lt;/h4&gt;
&lt;p&gt;다른 사람이 만든 오픈소스에 기여하고 싶지만 푸시 권한이 없을 때, 포크로 저장소 전체를 내 계정에 복제한 다음, 내 계정의 저장소에 커밋+푸시 후, 원래 저장소로 풀 리퀘스트를 보낸다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: right;&quot; data-ke-size=&quot;size14&quot;&gt;참고: &lt;a href=&quot;https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/&lt;/a&gt;&lt;/p&gt;</description>
      <category>Git</category>
      <category>branch</category>
      <category>commit</category>
      <category>conflict</category>
      <category>fork</category>
      <category>full request</category>
      <category>Git</category>
      <category>merge</category>
      <category>pull</category>
      <category>Push</category>
      <category>버전관리</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/106</guid>
      <comments>https://it-mi.tistory.com/106#entry106comment</comments>
      <pubDate>Sun, 22 Nov 2020 02:04:51 +0900</pubDate>
    </item>
    <item>
      <title>Github 깃헙으로 협업하기 10분 완성!!!</title>
      <link>https://it-mi.tistory.com/105</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;깃헙으로 협업하기&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;깃헙으로 협업하기가 필요한 이유요?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CJdVD/btqNQ2JptSx/aC51khc1wkSKct0fK9XJd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CJdVD/btqNQ2JptSx/aC51khc1wkSKct0fK9XJd0/img.png&quot; data-alt=&quot;https://opentutorials.org/course/3842/23971&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CJdVD/btqNQ2JptSx/aC51khc1wkSKct0fK9XJd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCJdVD%2FbtqNQ2JptSx%2FaC51khc1wkSKct0fK9XJd0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://opentutorials.org/course/3842/23971&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;최종, 최종최종, 진짜최종, 최최최종, 이게최종일리없어.txt&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;를 경험해 보신 분이라면 일단 그냥 따라해봅시다!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. github 가입&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;&lt;a href=&quot;https://github.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;github.com/&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1605808785987&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;object&quot; data-og-title=&quot;GitHub: Where the world builds software&quot; data-og-description=&quot;GitHub is where over 50 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...&quot; data-og-host=&quot;github.com&quot; data-og-source-url=&quot;https://github.com/&quot; data-og-url=&quot;https://github.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/GQl8C/hyIimfkdeB/167bZQk2twlnc3JwxmLJwK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://github.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://github.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/GQl8C/hyIimfkdeB/167bZQk2twlnc3JwxmLJwK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;GitHub: Where the world builds software&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;GitHub is where over 50 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...&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;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. CLI(Command Line Interface)를 쓸 것이기 때문에 git 다운로드&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;git-scm.com/&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1605809185169&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Git&quot; data-og-description=&quot;&quot; data-og-host=&quot;git-scm.com&quot; data-og-source-url=&quot;https://git-scm.com/&quot; data-og-url=&quot;https://git-scm.com/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bED0qi/hyIif1zZHs/cnfkeOXbVOhH8RV6KJwt0K/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502&quot;&gt;&lt;a href=&quot;https://git-scm.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://git-scm.com/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bED0qi/hyIif1zZHs/cnfkeOXbVOhH8RV6KJwt0K/img.png?width=778&amp;amp;height=502&amp;amp;face=0_0_778_502');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Git&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;git-scm.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git을 깔고 아래와 같은 command 창이 뜨면 정상적으로 깔린 것입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;501&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PIxcP/btqNQxv7q45/23fgdasK4JSAfWj8liJHv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PIxcP/btqNQxv7q45/23fgdasK4JSAfWj8liJHv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PIxcP/btqNQxv7q45/23fgdasK4JSAfWj8liJHv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPIxcP%2FbtqNQxv7q45%2F23fgdasK4JSAfWj8liJHv1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;501&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. github에 new repository 생성&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c5ekN7/btqNRI40Y3Z/V09aZGAbD3ZlKkUxKv5YaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c5ekN7/btqNRI40Y3Z/V09aZGAbD3ZlKkUxKv5YaK/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;273&quot; height=&quot;NaN&quot; style=&quot;width: 53.4131%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c5ekN7/btqNRI40Y3Z/V09aZGAbD3ZlKkUxKv5YaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc5ekN7%2FbtqNRI40Y3Z%2FV09aZGAbD3ZlKkUxKv5YaK%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;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpk7o7/btqNRIw9RFp/BJHAQiSc3KI3iB9dDMC5HK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpk7o7/btqNRIw9RFp/BJHAQiSc3KI3iB9dDMC5HK/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; style=&quot;width: 45.4241%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpk7o7/btqNRIw9RFp/BJHAQiSc3KI3iB9dDMC5HK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcpk7o7%2FbtqNRIw9RFp%2FBJHAQiSc3KI3iB9dDMC5HK%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;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;New repository &amp;gt; repository name 설정 &amp;gt; Public(공개) &amp;gt; Create repository 하면 new repository가 만들어집니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MhRSx/btqNQagSJf1/BGCJ1aGjpqSoq9FVXd9sg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MhRSx/btqNQagSJf1/BGCJ1aGjpqSoq9FVXd9sg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MhRSx/btqNQagSJf1/BGCJ1aGjpqSoq9FVXd9sg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMhRSx%2FbtqNQagSJf1%2FBGCJ1aGjpqSoq9FVXd9sg0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;레퍼지토리를 새로 만들면 이 페이지가 뜹니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;보통 처음부터 시작하면 첫번째 `...or create a new repository on the command line`을 따라하시면 되지만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;조금 더 빨리 만들기위해 지금은 두번째 가이드라인을 따라할 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그러려면 이전에, 내 컴퓨터에 폴더를 만들고 init을 해줘야 해요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. &lt;/b&gt;&lt;b&gt;내 컴퓨터, 내가 원하는 위치(=레퍼지토리=폴더)에 협업용으로 쓸 폴더 생성&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n4nXB/btqNMg9822T/82c4NOgOWygZXpEBjYUQIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n4nXB/btqNMg9822T/82c4NOgOWygZXpEBjYUQIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n4nXB/btqNMg9822T/82c4NOgOWygZXpEBjYUQIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn4nXB%2FbtqNMg9822T%2F82c4NOgOWygZXpEBjYUQIK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;전 바탕화면에 '깃헙코웤'이라는 폴더를 만들어줬어요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJyjqE/btqNQb09nIc/41nt0eUUd1IjFRnPL7bTS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJyjqE/btqNQb09nIc/41nt0eUUd1IjFRnPL7bTS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJyjqE/btqNQb09nIc/41nt0eUUd1IjFRnPL7bTS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJyjqE%2FbtqNQb09nIc%2F41nt0eUUd1IjFRnPL7bTS1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;노란 표시를 한 곳을 click하면 폴더 위치를 알 수 있어요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;제 폴더의 위치는 `C:\Users\Lg\Desktop\깃헙코웤`이네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git을 할 때는 레퍼지토리 위치가 중요하기 때문에, 알아두면 좋습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5. 협업용 폴더 안에서 git init 하기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;폴더 안에서 우클릭&amp;gt;Git bash here 선택&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;git bash창(command창)이 뜨면 `git init` 입력 &amp;gt; master가 뜨는 것 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;`ls -al`해서 현재 폴더 내에 상태 확인해보면 `.git`이 생긴걸 확인할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctcYwk/btqNNi0M8kT/rUt5i3vB6mJn1MWtkZPxPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctcYwk/btqNNi0M8kT/rUt5i3vB6mJn1MWtkZPxPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctcYwk/btqNNi0M8kT/rUt5i3vB6mJn1MWtkZPxPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctcYwk%2FbtqNNi0M8kT%2FrUt5i3vB6mJn1MWtkZPxPK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;* `&lt;/b&gt;&lt;span style=&quot;color: #333333;&quot;&gt;ls -al` : 현재 위치에 있는 모든 파일 목록 보여 줌&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;6. 내컴퓨터의 협업용 폴더와 github(원격저장소)와 연결하는 기초 작업(1회 수행)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아까 github깔면 첫 페이지에 나오는 가이드라인 중 2번째를 보고 따라하면 된다.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xkeu9/btqNSzzY6TF/NxKkHRXhpYxvKlHIwmBh8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xkeu9/btqNSzzY6TF/NxKkHRXhpYxvKlHIwmBh8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xkeu9/btqNSzzY6TF/NxKkHRXhpYxvKlHIwmBh8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fxkeu9%2FbtqNSzzY6TF%2FNxKkHRXhpYxvKlHIwmBh8K%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;338&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c534C8/btqNMhnLbHc/44ckXpBuGGYcMgl5ZHFin0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c534C8/btqNMhnLbHc/44ckXpBuGGYcMgl5ZHFin0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c534C8/btqNMhnLbHc/44ckXpBuGGYcMgl5ZHFin0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc534C8%2FbtqNMhnLbHc%2F44ckXpBuGGYcMgl5ZHFin0%2Fimg.png&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;338&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;error뜨고 무섭지만 일단 계속 진행을 해봅시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 한 번 해주면 기초 세팅은 끝이에요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;7. 폴더 안에 work.txt 파일 생성&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qK0DF/btqNQbtmGYj/i6TpgA7hme7ZBLK70qFQZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qK0DF/btqNQbtmGYj/i6TpgA7hme7ZBLK70qFQZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qK0DF/btqNQbtmGYj/i6TpgA7hme7ZBLK70qFQZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqK0DF%2FbtqNQbtmGYj%2Fi6TpgA7hme7ZBLK70qFQZ0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;`nano work.txt &amp;gt; 1(입력) &amp;gt; Ctrl + X &amp;gt; Y &amp;gt; enter` 하면 work.txt파일이 '깃헙코웤' 폴더 내에 생깁니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;8. 내 컴퓨터에 있는 폴더에 새로운 파일 생성 후, github(원격저장소)에 더하고, 커밋하고, 푸시하기 : `git add .` &amp;gt; `git commit -m &quot;커밋명&quot;` &amp;gt; `git push`&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LD3ie/btqNMNtfX3w/pergSmSVj1LhTnkzO2Kxo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LD3ie/btqNMNtfX3w/pergSmSVj1LhTnkzO2Kxo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LD3ie/btqNMNtfX3w/pergSmSVj1LhTnkzO2Kxo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLD3ie%2FbtqNMNtfX3w%2FpergSmSVj1LhTnkzO2Kxo1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;`git add .` &amp;gt; `git commit -m &quot;커밋명&quot;` &amp;gt; `git push` 하면 처음에 `git push --set-upstream origin master` 뜨는데, 그대로 복사해서 붙여넣기 하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;처음 1회만 시행하면 이후론 `git push`만 하면 돼요.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 나서 내 폴더와 깃헙 레퍼지토리를 확인하면 올라가 있는 걸 확인할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5PQQO/btqNNi0Nq5s/t1ayiTvA8SKQnKW5ap5ZK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5PQQO/btqNNi0Nq5s/t1ayiTvA8SKQnKW5ap5ZK1/img.png&quot; data-alt=&quot;내 컴퓨터의 폴더&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5PQQO/btqNNi0Nq5s/t1ayiTvA8SKQnKW5ap5ZK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5PQQO%2FbtqNNi0Nq5s%2Ft1ayiTvA8SKQnKW5ap5ZK1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;내 컴퓨터의 폴더&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cWiMVx/btqNMNmqdJZ/XAYAZEte2mKcHKidTQNGrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cWiMVx/btqNMNmqdJZ/XAYAZEte2mKcHKidTQNGrk/img.png&quot; data-alt=&quot;깃헙 레퍼지토리&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cWiMVx/btqNMNmqdJZ/XAYAZEte2mKcHKidTQNGrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcWiMVx%2FbtqNMNmqdJZ%2FXAYAZEte2mKcHKidTQNGrk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;깃헙 레퍼지토리&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;-------------------------------------------여기까지는 git으로 혼자 작업하기-----------------------------------&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여기까지는 혼자 github을 사용하여 작업할 때도 똑같이 적용하면 되는 부분!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;함께 작업하기 위해서는,&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;1. 함께 협업할 사람 초대&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. 초대받은 사람은 github 레퍼지토리 clone&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;2. push와 pull&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;두 가지 작업을 더 해주면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;------------------------------------------여기부터는 git으로 같이 작업하기 ------------------------------------&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;9. github에서 함께 협업할 사람 초대&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsEZ7I/btqNLQxaizw/pHHTQtrd2GXl1Xt9fDGAv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsEZ7I/btqNLQxaizw/pHHTQtrd2GXl1Xt9fDGAv1/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; style=&quot;width: 56.1453%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsEZ7I/btqNLQxaizw/pHHTQtrd2GXl1Xt9fDGAv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsEZ7I%2FbtqNLQxaizw%2FpHHTQtrd2GXl1Xt9fDGAv1%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;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqXYaj/btqNMNmqhGD/OMcJsNjBb0eghKgliJqKdK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqXYaj/btqNMNmqhGD/OMcJsNjBb0eghKgliJqKdK/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; style=&quot;width: 42.6919%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqXYaj/btqNMNmqhGD/OMcJsNjBb0eghKgliJqKdK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqXYaj%2FbtqNMNmqhGD%2FOMcJsNjBb0eghKgliJqKdK%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;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bliFJH/btqNMgPUdkt/iKb7PKaDWoCvWOgnmFmjF0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bliFJH/btqNMgPUdkt/iKb7PKaDWoCvWOgnmFmjF0/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; style=&quot;width: 53.6299%; margin-right: 10px; margin-top: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bliFJH/btqNMgPUdkt/iKb7PKaDWoCvWOgnmFmjF0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbliFJH%2FbtqNMgPUdkt%2FiKb7PKaDWoCvWOgnmFmjF0%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;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqUyUn/btqNMN7P4D7/xzyZGYDUeiHDbEkaCsTK90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqUyUn/btqNMN7P4D7/xzyZGYDUeiHDbEkaCsTK90/img.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; style=&quot;width: 45.2073%; margin-top: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqUyUn/btqNMN7P4D7/xzyZGYDUeiHDbEkaCsTK90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqUyUn%2FbtqNMN7P4D7%2FxzyZGYDUeiHDbEkaCsTK90%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;0&quot; height=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;github에 만들어놓은 협업할 레퍼지토리에서 settings &amp;gt; manage access &amp;gt; invite a collaborator&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;협업할 사람의 이름을 찾아서 초대하면 됩니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;9-1. 초대받은 사람은 깃헙 레퍼지토리를 클론해와서 내컴퓨터에 똑같은 폴더를 복제한다.&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3lvfZ/btqNVAr7o5y/DZKwxMufTAOUA5cfKKwHjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3lvfZ/btqNVAr7o5y/DZKwxMufTAOUA5cfKKwHjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3lvfZ/btqNVAr7o5y/DZKwxMufTAOUA5cfKKwHjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3lvfZ%2FbtqNVAr7o5y%2FDZKwxMufTAOUA5cfKKwHjK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;`git clone &lt;span style=&quot;color: #9d9d9d;&quot;&gt;https://github.com/본인의_깃헙_이름/레퍼지토리_이름.git&lt;/span&gt;`&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;초록색 code버튼 &amp;gt; clone &amp;gt; HTTPS에 있는 주소를 복사/붙여넣기 하면, 본인의 컴퓨터에 깃헙 레퍼지토리가 복제됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;10. 내 컴퓨터에서 수정 -&amp;gt; github(원격저장소)에 push&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;아까 work.txt에 1만 입력돼 있었는데 2를 추가해서 수정사항 발생 -&amp;gt; github으로 push&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CTFGT/btqNP93mBp7/W7Iay1Q3wA8r1HyHwQqk61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CTFGT/btqNP93mBp7/W7Iay1Q3wA8r1HyHwQqk61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CTFGT/btqNP93mBp7/W7Iay1Q3wA8r1HyHwQqk61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCTFGT%2FbtqNP93mBp7%2FW7Iay1Q3wA8r1HyHwQqk61%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;push 할 때는 항상 add와 commit이 선행돼야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;기억합시다! add, commit, push!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;커밋할 때 커밋명은 마음대로~&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m7Wxp/btqNMN06F3F/oKp2CyVslN0FNQKWhLJSkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m7Wxp/btqNMN06F3F/oKp2CyVslN0FNQKWhLJSkK/img.png&quot; data-alt=&quot;github에 저장되는 형태&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m7Wxp/btqNMN06F3F/oKp2CyVslN0FNQKWhLJSkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm7Wxp%2FbtqNMN06F3F%2FoKp2CyVslN0FNQKWhLJSkK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;github에 저장되는 형태&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;보이시나요!!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;work.txt파일 수정 후, work_수정.txt파일로 따로 저장할 필요 없이! 기존의 work.txt 파일이 변해서 저장되는 것이!!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이제 &lt;s&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;work.txt, work_수정.txt, work_최종.txt, work_최최최종.txt&lt;/span&gt; &lt;/s&gt;이럴 필요가 없습니다!! 놀랍지 않습니까???&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;추가로, 커밋명(plus2)를 누르면, 어디에서 어떻게 바꼈는지 수정사항도 알 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ce2rEL/btqNSyOCo5Q/3DXyjGPZl2GnVckF2nYOwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ce2rEL/btqNSyOCo5Q/3DXyjGPZl2GnVckF2nYOwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ce2rEL/btqNSyOCo5Q/3DXyjGPZl2GnVckF2nYOwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fce2rEL%2FbtqNSyOCo5Q%2F3DXyjGPZl2GnVckF2nYOwK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;그리고 댓글 달고, 토론도 가능하네요!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/91Rxe/btqNQanC8v2/X1km0h6miCnGkLzNGhq4G1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/91Rxe/btqNQanC8v2/X1km0h6miCnGkLzNGhq4G1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/91Rxe/btqNQanC8v2/X1km0h6miCnGkLzNGhq4G1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F91Rxe%2FbtqNQanC8v2%2FX1km0h6miCnGkLzNGhq4G1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;11. gihub(원격저장소)에 저장된 수정된 파일 -&amp;gt; 내컴퓨터로 pull&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;함께 협업하는 사람들도 github에 올려진 파일을 자신의 컴퓨터로 가져와 수정할 수 있겠죠?&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;github에서 자신의 컴퓨터도 가져올 때는 `git pull`&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;수정하고 다시 github에 올릴 때는 `git push` !!&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;참 쉽 죵?&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&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;size18&quot;&gt;깃헙으로 협업하기 10분 완성~ 끝!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Git</category>
      <category>CLI</category>
      <category>Git</category>
      <category>github</category>
      <category>깃헙</category>
      <category>깃헙협업</category>
      <category>언택트</category>
      <category>온라인협업</category>
      <category>원격근무</category>
      <category>협업</category>
      <category>협업툴</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/105</guid>
      <comments>https://it-mi.tistory.com/105#entry105comment</comments>
      <pubDate>Fri, 20 Nov 2020 05:03:38 +0900</pubDate>
    </item>
    <item>
      <title>[MySQL] table pivot을 하며 깨달은 CASE()과 GROUP BY()의 속성</title>
      <link>https://it-mi.tistory.com/104</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://leetcode.com/problems/reformat-department-table/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;leetcode.com/problems/reformat-department-table/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1605341593453&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Reformat Department Table - LeetCode&quot; data-og-description=&quot;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/reformat-department-table/&quot; data-og-url=&quot;https://leetcode.com/problems/reformat-department-table/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/nnKck/hyIegTwJEz/lsb29PGMK1TryeUCGC8ItK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/7wouw/hyIeoRAX7w/fz0kklJLwG2svjqW8Od5KK/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/reformat-department-table/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/reformat-department-table/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/nnKck/hyIegTwJEz/lsb29PGMK1TryeUCGC8ItK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/7wouw/hyIeoRAX7w/fz0kklJLwG2svjqW8Od5KK/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Reformat Department Table - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;이 문제를 풀 때마다 SUM()을 쓰는 이유에 대해 헷갈렸다!&lt;/p&gt;
&lt;p&gt;선미님께서 CASE()와 GROUP BY()의 속성을 생각한다면 조금 더 쉽게 이해할 수 있을 거라고 하셔서, 다시 정리하며 풀어 보았다!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;선미님 강의는 아래 링크 참고!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.inflearn.com/course/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EC%A4%91%EA%B8%89-SQL/lecture/30027?tab=question&amp;amp;q=24200&quot;&gt;www.inflearn.com/course/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EC%A4%91%EA%B8%89-SQL/lecture/30027?tab=question&amp;amp;q=24200&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;figure id=&quot;og_1605341670726&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;[백문이불여일타] 데이터 분석을 위한 중급 SQL - 인프런&quot; data-og-description=&quot;SQL 중급 이론을 배우고, 실습 문제를 함께 풀어봅니다. 초급 중급이상 데이터베이스 데이터베이스 데이터 분석 SQL 데이터 분석 온라인 강의 업무에 SQL을 바로 적용할 수 있고 SQL 코딩 테스트도 &quot; data-og-host=&quot;www.inflearn.com&quot; data-og-source-url=&quot;https://www.inflearn.com/course/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EC%A4%91%EA%B8%89-SQL/lecture/30027?tab=question&amp;amp;q=24200&quot; data-og-url=&quot;https://www.inflearn.com/course/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EC%A4%91%EA%B8%89-SQL&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/3v1uO/hyIek9sV1a/ylbt8YK10jpzYW6bvTRQf1/img.png?width=768&amp;amp;height=500&amp;amp;face=0_0_768_500,https://scrap.kakaocdn.net/dn/cYa736/hyIedJgzro/0H6S4KG3Z7SFCTrdiQFz5K/img.png?width=768&amp;amp;height=500&amp;amp;face=0_0_768_500,https://scrap.kakaocdn.net/dn/Ackj7/hyIem0wtup/yLaARM4U0etM069KnC7Px1/img.png?width=886&amp;amp;height=616&amp;amp;face=0_0_886_616&quot;&gt;&lt;a href=&quot;https://www.inflearn.com/course/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EC%A4%91%EA%B8%89-SQL/lecture/30027?tab=question&amp;amp;q=24200&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.inflearn.com/course/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EC%A4%91%EA%B8%89-SQL/lecture/30027?tab=question&amp;amp;q=24200&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/3v1uO/hyIek9sV1a/ylbt8YK10jpzYW6bvTRQf1/img.png?width=768&amp;amp;height=500&amp;amp;face=0_0_768_500,https://scrap.kakaocdn.net/dn/cYa736/hyIedJgzro/0H6S4KG3Z7SFCTrdiQFz5K/img.png?width=768&amp;amp;height=500&amp;amp;face=0_0_768_500,https://scrap.kakaocdn.net/dn/Ackj7/hyIem0wtup/yLaARM4U0etM069KnC7Px1/img.png?width=886&amp;amp;height=616&amp;amp;face=0_0_886_616');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[백문이불여일타] 데이터 분석을 위한 중급 SQL - 인프런&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;SQL 중급 이론을 배우고, 실습 문제를 함께 풀어봅니다. 초급 중급이상 데이터베이스 데이터베이스 데이터 분석 SQL 데이터 분석 온라인 강의 업무에 SQL을 바로 적용할 수 있고 SQL 코딩 테스트도&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.inflearn.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;일단, 코드부터 보면 아래와 같다.&lt;/p&gt;
&lt;pre id=&quot;code_1605341728728&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT id
    , SUM(CASE WHEN month = 'Jan' THEN revenue ELSE NULL END) AS Jan_Revenue
    , SUM(CASE WHEN month = 'Feb' THEN revenue ELSE NULL END) AS Feb_Revenue
    , SUM(CASE WHEN month = 'Mar' THEN revenue ELSE NULL END) AS Mar_Revenue
    , SUM(CASE WHEN month = 'Apr' THEN revenue ELSE NULL END) AS Apr_Revenue
    , SUM(CASE WHEN month = 'May' THEN revenue ELSE NULL END) AS May_Revenue
    , SUM(CASE WHEN month = 'Jun' THEN revenue ELSE NULL END) AS Jun_Revenue
    , SUM(CASE WHEN month = 'Jul' THEN revenue ELSE NULL END) AS Jul_Revenue
    , SUM(CASE WHEN month = 'Aug' THEN revenue ELSE NULL END) AS Aug_Revenue
    , SUM(CASE WHEN month = 'Sep' THEN revenue ELSE NULL END) AS Sep_Revenue
    , SUM(CASE WHEN month = 'Oct' THEN revenue ELSE NULL END) AS Oct_Revenue
    , SUM(CASE WHEN month = 'Nov' THEN revenue ELSE NULL END) AS Nov_Revenue
    , SUM(CASE WHEN month = 'Dec' THEN revenue ELSE NULL END) AS Dec_Revenue    
FROM Department
GROUP BY id&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;월별 수익을 id별로 알 수 있는 테이블을 피보팅해야 했는데,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;CASE문에 왜 `SUM`을 써야하는지 너무나 헷갈렸다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;CASE()의 속성&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;`CASE WHEN ~ THEN ~ ELSE ~ END` : &lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;데이터를 순서대로 조회하면서, WHEN 조건에 맞는다면 THEN 뒤의 값을 넣고, 그렇지 않으면 ELSE 값을 넣는 역할을 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;아래 쿼리를 실행해서 CASE문에 따라 Jan_Revenue가 어떻게 나오는지 확인해보자.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1605342608487&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT id 
           , month
           , revenue
           , CASE WHEN month = 'Jan' THEN revenue ELSE NULL END AS Jan_Revenue
FROM DEPARTMENT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;id, month, revenue를 차례대로 출력하고,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;CASE문에 따라 month = 'Jan' 이라면 Jan_Revenue에 revenue의 값을, 그렇지 않으면 NULL 값을 출력&lt;span style=&quot;color: #333333;&quot;&gt;해준다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;---+--------+------------+--------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;id month &lt;b&gt;revenue &lt;span style=&quot;color: #333333;&quot;&gt;Jan_Revenue&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+-----&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;----+--------------&lt;/span&gt;&lt;br /&gt;1&amp;nbsp; &amp;nbsp;&quot;Jan&quot;&amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;8000&amp;nbsp; &amp;nbsp; &amp;nbsp;8000&lt;/span&gt;&lt;br /&gt;1&amp;nbsp; &amp;nbsp;&quot;Feb&quot;&amp;nbsp; 7000&amp;nbsp; &amp;nbsp; &amp;nbsp;NULL&lt;br /&gt;1&amp;nbsp; &amp;nbsp;&quot;Mar&quot;&amp;nbsp; 6000&amp;nbsp; &amp;nbsp; &amp;nbsp;NULL&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2&amp;nbsp; &amp;nbsp;&quot;Jan&quot;&amp;nbsp; &amp;nbsp;9000&amp;nbsp; &amp;nbsp; &amp;nbsp;9000&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3&amp;nbsp; &amp;nbsp;&quot;Feb&quot;&amp;nbsp; 10000&amp;nbsp; &amp;nbsp; NULL&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+--------&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;-+--------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;id가 1인 것만 봤을 때&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;-&amp;gt; id가 1인 첫번째 행은 month가 &quot;Jan&quot;이기 때문에 revenue의 8000을 그대로 Jan_Revenue에 넣어준다.&lt;/p&gt;
&lt;p&gt;-&amp;gt; id가 1인 두번째,세 번째 행은 month가 &quot;Jan&quot;이 아니기 때문에 7000, 6000인 revenue 값 대신 CASE 문을 통해 NULL로 나온다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그럼 Feb_Revenue도 추가해서 어떻게 나오는지 확인해보자.&lt;/p&gt;
&lt;pre id=&quot;code_1605346990345&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT id 
           , month
           , revenue
           , CASE WHEN month = 'Jan' THEN revenue ELSE NULL END AS Jan_Revenue
           , CASE WHEN month = 'Feb' THEN revenue ELSE NULL END AS Feb_Revenue
FROM DEPARTMENT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;첫번째 CASE문에 따라 month = 'Jan' 이라면 Jan_Revenue에 revenue의 값을, 그렇지 않으면 NULL 값을 출력,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;두번째 CASE문에 따라 month = 'Feb' 이라면 Feb_Revenue에 revenue의 값을, 그렇지 않으면 NULL 값을 출력해준다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+----&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;-----+---------------&lt;span style=&quot;color: #333333;&quot;&gt;+----------------&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;id&amp;nbsp; month&amp;nbsp; &lt;b&gt;revenue&amp;nbsp; &lt;/b&gt;Jan_Revenue &lt;b&gt;Feb_Revenue&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+----&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;-----+---------------&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;+----------------&lt;/span&gt;&lt;br /&gt;1&amp;nbsp; &amp;nbsp; &quot;Jan&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; 8000&amp;nbsp; &amp;nbsp; 8000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NULL&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1&amp;nbsp; &amp;nbsp; &quot;Feb&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;7000&amp;nbsp; &amp;nbsp; &lt;/span&gt;NULL&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;7000&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1&amp;nbsp; &amp;nbsp; &quot;Mar&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp;6000&amp;nbsp; &amp;nbsp; &amp;nbsp;NULL&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NULL&lt;/span&gt;&lt;br /&gt;2&amp;nbsp; &amp;nbsp; &quot;Jan&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; 9000&amp;nbsp; &amp;nbsp; &amp;nbsp;9000&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;NULL&lt;br /&gt;3&amp;nbsp; &amp;nbsp; &quot;Feb&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp;10000&amp;nbsp; &amp;nbsp; NULL&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;10000&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+------&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;---+---------------&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;+----------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;id가 1인 것만 봤을 때&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;-&amp;gt; id가 1인 첫번째 행은 month가 &quot;Feb&quot;가 아니기 때문에 NULL값을 Feb_Revenue에 넣어준다&lt;/p&gt;
&lt;p&gt;-&amp;gt; id가 1인 두번째 행은 month가 &quot;Feb&quot;기 때문에 7000인 revenue 값을 그대로 Feb_Revenue에 넣어준다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;GROUP BY()의 속성&lt;/h2&gt;
&lt;p&gt;여기에 CASE문에 &lt;u&gt;SUM()을 걸어주지 않고&lt;/u&gt;, GROUP BY를 id 기준으로 수행해주면,&lt;/p&gt;
&lt;pre id=&quot;code_1605348281902&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT id
           , month
           , revenue
           , CASE WHEN month = 'Jan' THEN revenue ELSE NULL END AS Jan_revenue
           , CASE WHEN month = 'Feb' THEN revenue ELSE NULL END AS Feb_Revenue
FROM DEPARTMENT
GROUP BY id&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+------&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;---+---------------&lt;span style=&quot;color: #333333;&quot;&gt;+---------------&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;id&amp;nbsp; month &amp;nbsp; revenue&amp;nbsp; Jan_Revenue&lt;span&gt;&amp;nbsp;&lt;/span&gt;Feb_Revenue&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+-----&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;----+---------------&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;+---------------&lt;/span&gt;&lt;br /&gt;1&amp;nbsp; &amp;nbsp;&quot;Jan&quot;&amp;nbsp; &amp;nbsp; 8000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;8000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;NULL&lt;/span&gt;&lt;br /&gt;2&amp;nbsp; &amp;nbsp;&quot;Jan&quot;&amp;nbsp; &amp;nbsp; 9000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9000&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;NULL&lt;br /&gt;3&amp;nbsp; &amp;nbsp;&quot;Feb&quot;&amp;nbsp; &amp;nbsp;10000&amp;nbsp; &amp;nbsp; &amp;nbsp; NULL&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;10000&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+----&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;-----+---------------&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;+---------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;-&amp;gt; id가 1이고, month=&quot;Jan&quot;일 때, revenue인 8000을 Jan_Revenue에 넣고, 그 외에는(Feb_Revenue에는) NULL이 들어가게 된다.&lt;/p&gt;
&lt;p&gt;-&amp;gt; 더하는 게 아니므로 그대로 출력한다.&lt;/p&gt;
&lt;p&gt;따라서, 월별 수익을 id별로 보려면 SUM을 써서 합쳐줘야 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;SUM()&lt;/b&gt;을 해주면,&lt;/p&gt;
&lt;pre id=&quot;code_1605343795391&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT id
           , month
           , revenue
           , SUM(CASE WHEN month = 'Jan' THEN revenue ELSE NULL END) AS Jan_revenue
           , SUM(CASE WHEN month = 'Feb' THEN revenue ELSE NULL END) AS Feb_Revenue
FROM DEPARTMENT
GROUP BY id&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+-----&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;----+---------------&lt;span style=&quot;color: #333333;&quot;&gt;+---------------&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;id&amp;nbsp; month &amp;nbsp; revenue&amp;nbsp; Jan_Revenue&lt;span&gt;&amp;nbsp;&lt;/span&gt;Feb_Revenue&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+----&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;-----+---------------&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;+---------------&lt;/span&gt;&lt;br /&gt;1&amp;nbsp; &amp;nbsp;&quot;Jan&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp;8000&amp;nbsp; &amp;nbsp; &amp;nbsp; 8000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;7000&lt;/span&gt;&lt;br /&gt;2&amp;nbsp; &amp;nbsp;&quot;Jan&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp;9000&amp;nbsp; &amp;nbsp; &amp;nbsp; 9000&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;NULL&lt;br /&gt;3&amp;nbsp; &amp;nbsp;&quot;Feb&quot;&amp;nbsp; &amp;nbsp; 10000&amp;nbsp; &amp;nbsp; &amp;nbsp;NULL&lt;span style=&quot;color: #333333;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;10000&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;---+--------+----&lt;span style=&quot;color: #333333;&quot;&gt;---&lt;/span&gt;-----+---------------&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;+---------------&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;-&amp;gt; id가 1이고, month=&quot;Jan&quot;일 때, revenue인 8000을 Jan_Revenue에 넣고, 그 외에는(Feb_Revenue에는) NULL이 들어가게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;-&amp;gt; 그리고 id가 1인 것의 Jan_Revenue 값 8000, NULL, NULL을 다 더해주고, id가 1인 것의 Feb_Revenue값 NULL, 7000, NULL을 다 더해준다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;-&amp;gt; SUM() 함수는 NULL을 무시하므로&lt;/b&gt; Jan_Revenue의 최종값은 8000, Feb_Revenue의 최종값은 7000이 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;+ SUM()이 아닌 AVG()같은 집계함수를 써도 NULL은 무시하고 연산해주므로 괜찮다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #dddddd;&quot;&gt;다시는 휘발되지 말자 나의 작고 소중한 SQL 지식아..&lt;/span&gt;&lt;/p&gt;</description>
      <category>데이터분석/SQL</category>
      <category>case</category>
      <category>GROUP BY</category>
      <category>mysql</category>
      <category>null</category>
      <category>sql</category>
      <category>sum</category>
      <category>table pivot</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/104</guid>
      <comments>https://it-mi.tistory.com/104#entry104comment</comments>
      <pubDate>Sat, 14 Nov 2020 20:35:52 +0900</pubDate>
    </item>
    <item>
      <title>what is WAS?</title>
      <link>https://it-mi.tistory.com/103</link>
      <description>&lt;h2 data-local-attribute=&quot;d3bn&quot; data-attrid=&quot;title&quot; data-ved=&quot;2ahUKEwj3ip_kt_LsAhVCE4gKHRibAw4Q3B0oATAUegQIDBAL&quot;&gt;&lt;span&gt;WAS(Web Application Server, 웹 애플리케이션 서버)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;웹 애플리케이션 서버는&lt;span&gt;&amp;nbsp;&lt;/span&gt;웹 애플리케이션과&lt;span&gt;&amp;nbsp;&lt;/span&gt;서버&lt;span&gt;&amp;nbsp;&lt;/span&gt;환경을 만들어 동작시키는 기능을 제공하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;소프트웨어 프레임워크이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;인터넷 상에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;미들웨어(소프트웨어 엔진)*&lt;/u&gt;로 볼 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;웹 애플리케이션 서버는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 &lt;u&gt;웹 서버*&lt;/u&gt;와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;웹 애플리케이션 서버는 대부분이&lt;span&gt;&amp;nbsp;&lt;/span&gt;자바&lt;span&gt;&amp;nbsp;&lt;/span&gt;기반으로 주로&lt;span&gt;&amp;nbsp;&lt;/span&gt;자바 EE&lt;span&gt;&amp;nbsp;&lt;/span&gt;표준을 수용하고 있으나,&lt;span&gt;&amp;nbsp;&lt;/span&gt;자바&lt;span&gt;&amp;nbsp;&lt;/span&gt;기반이지만 자바 EE 표준을 따르지 않는 제품과 .NET이나 Citrix기반인 비자바 계열도 존재한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;WAS의 기본 기능&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;프로그램 실행 환경과 데이터베이스 접속 기능 제공.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;여러 개의 트랜잭션 관리.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;업무를 처리하는 비즈니스 로직 수행.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;*미들웨어&lt;/h4&gt;
&lt;p&gt;미들웨어&lt;span&gt;는 컴퓨터 제작 회사가 사용자의 요구대로 만들어 제공하는 프로그램으로,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;운영 체제&lt;span&gt;와&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;응용 소프트웨어&lt;span&gt;의 중간에서 조정과 중개의 역할을 수행하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;소프트웨어&lt;span&gt;다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;응용 소프트웨어&lt;span&gt;가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;운영 체제&lt;span&gt;로부터 제공받는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;서비스&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;이외에 추가적으로 이용할 수 있는 서비스를 제공하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;컴퓨터 소프트웨어&lt;span&gt;이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;*웹서버&lt;/h4&gt;
&lt;p&gt;웹 서버는 HTTP를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램을 말한다. 웹 서버 소프트웨어를 구동하는 하드웨어도 웹 서버라고 하는 경우가 간혹 있다.&lt;/p&gt;</description>
      <category>WAS</category>
      <category>미들웨어</category>
      <category>웹서버</category>
      <category>웹애플리케이션서버</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/103</guid>
      <comments>https://it-mi.tistory.com/103#entry103comment</comments>
      <pubDate>Sun, 8 Nov 2020 16:45:36 +0900</pubDate>
    </item>
    <item>
      <title>DB(Database)란?</title>
      <link>https://it-mi.tistory.com/102</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;데이터베이스&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;database,&lt;span&gt;&amp;nbsp;&lt;/span&gt;DB&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;데이터&lt;span&gt;의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;집합&lt;span&gt;이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;쉽게 말해, &lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;데이터베이스의 특징&lt;/span&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;실시간 접근 가능&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;지속적인 변화 가능&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;동시 공유 가능&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;내용에 대한 참조 기능&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터의 논리적 독립성 보장&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;데이터베이스의 장단점&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;데이터베이스 장점&lt;/h4&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터 중복 최소화&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터 공유&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일관성, 무결성, 보안성 유지&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;최신 데이터 유지&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터의 표준화 가능&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터의 논리적, 물리적 독립성&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터 접근 용이&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터 저장 공간 절약&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;데이터베이스 단점&lt;/h4&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터베이스 전문가 필요&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;비용 부담&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;데이터 백업과 복구가 어려움&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;시스템의 복잡도&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;대용량 디스크로 엑세스가 집중되면 과부하 발생&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;데이터베이스 모델&lt;/span&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span&gt;- 관계 데이터 모델&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span&gt;관계 데이터모델&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(relational datamodel)은 데이터 모델 중에서 가장 개념이 간단한 모델이다. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;데이터 모델을 개발하기 위해서 테이블 관계로 묘사하는 이론적 모델 과정이 발생하는데 이를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;개체관계모델&lt;span&gt;(entity relational model)이라고 한다. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;현실 세계는 객체관계 그림(&lt;/span&gt;다이어그램&lt;span&gt;)으로 표현되며,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;개체&lt;span&gt;와 그 관계는 각기 사각과 선으로 그려진다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwFupg/btqMN4oRs9K/yTLFoVa4bNb9vjpLhXEraK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwFupg/btqMN4oRs9K/yTLFoVa4bNb9vjpLhXEraK/img.png&quot; data-alt=&quot;&amp;amp;amp;nbsp; 개체관계모델 예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwFupg/btqMN4oRs9K/yTLFoVa4bNb9vjpLhXEraK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwFupg%2FbtqMN4oRs9K%2FyTLFoVa4bNb9vjpLhXEraK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&amp;nbsp; 개체관계모델 예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span&gt;&lt;span&gt;- SQL&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;개체 관계형 데이터베이스를 지원하기 위해 &lt;/span&gt;SQL&lt;span&gt;(Structured Query Language)가 창안되었&lt;/span&gt;&lt;span&gt;다. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;데이터 모델은 데이터를 조작하기 위한 연산집합을 가져야 한다. 연산집합이 데이터베이스 구조와 제약 조건을 정의한다. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;다시 말해, 관계 데이터모델 연산집합은 관계대수로 표현되고, 그 연산은 사용자에게 여러 질의를 가능하게 한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;데이터베이스 관리 시스템 선택&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;데이터베이스 설계 후 데이터베이스 관리 시스템을 사용해야 한다. 여러가지 데이터베이스 관리 시스템 선택 사항(Data Base Management System)이 존재한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;DBMS 언어 선택&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;데이터베이스 언어는 다음과 같이 이루어져 있다.&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;데이터 정의 언어(DDL:data definition language) - Create, Alter, Drop...&lt;/li&gt;
&lt;li&gt;데이터 조작 언어(DML:data manipulation language) - Select, Insert, Delete, Update...&lt;/li&gt;
&lt;li&gt;데이터 제어 언어(DCL:data control language)- Grant, Revoke, Commit, Rollback...&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>database</category>
      <category>db</category>
      <category>dbms</category>
      <category>dcl</category>
      <category>ddl</category>
      <category>dml</category>
      <category>sql</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/102</guid>
      <comments>https://it-mi.tistory.com/102#entry102comment</comments>
      <pubDate>Sun, 8 Nov 2020 16:34:52 +0900</pubDate>
    </item>
    <item>
      <title>OS(Linux, Windows 계열) 개념</title>
      <link>https://it-mi.tistory.com/101</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; OS(windows, Linux 계열)&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; - Linux&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;리눅스&lt;span&gt;(&lt;/span&gt;&lt;span&gt;Linux&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;는 1991년 9월 17일&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;리누스 토르발스&lt;span&gt;가 처음 출시한&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;운영 체제 커널&lt;span&gt;인 &lt;/span&gt;리눅스 커널&lt;span&gt;에 기반을 둔&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;오픈 소스&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;유닉스 계열&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;운영 체제&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;계열이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 네트워크를 이용하는 컴퓨팅에서는 리눅스가 강점&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 오픈 소스의 특징으로 인해 누구나 버그 수정이 가능.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 커널을 비롯한 각종 프로그램을 사용하기에 편리하게 묶어 놓은 배포판&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 리눅스의 강점&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. 시스템 사양에 대해&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;영향을 덜 받음&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단점) &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실시간 처리가 약하고&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 시스템 보안에 취약하다!&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; W&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;indows&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;마이크로소프트 윈도우&lt;span&gt;는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;마이크로소프트&lt;span&gt;가 개발한 컴퓨터&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;운영 체제&lt;span&gt;이다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;애플&lt;span&gt;이 개인용 컴퓨터에 처음으로 도입한&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;그래픽 사용자 인터페이스&lt;span&gt;(GUI) 운영 체제인&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;맥 OS&lt;span&gt;에 대항하여, 당시 널리 쓰이던&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;MS-DOS&lt;span&gt;에서 멀티태스킹과 GUI 환경을 제공하기 위한 응용 프로그램으로 처음 출시.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 한번에 여러 프로그램을 열어 놓고 수행 가능.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 대부분이 그림형태인 아이콘으로 이루어지는 GUI환경을 제공.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 명령의 입력이 아닌 사용자의 행동(클릭)으로 여러 기능들이 수행됨.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. 일관성이 있어 사용자가 적응하기 쉬움.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5. 메&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;리 제한이 적다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;6. 도움말 기능이 풍부해 별도의 메뉴얼이 필요없다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;7. '사용자의 편리'에 모든 초점을 맞추고 있어서 값도 싸고, 안정적.&lt;/span&gt;&lt;/p&gt;</description>
      <category>CS/OS</category>
      <category>linux</category>
      <category>OS</category>
      <category>windows</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/101</guid>
      <comments>https://it-mi.tistory.com/101#entry101comment</comments>
      <pubDate>Sun, 8 Nov 2020 16:15:48 +0900</pubDate>
    </item>
    <item>
      <title>[MySQL] DATE_ADD()/DATE_SUB() 함수, INTERVAL</title>
      <link>https://it-mi.tistory.com/100</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;DATE_ADD(), DATE_SUB() 함수&lt;/h2&gt;
&lt;p&gt;MySQL에서 특정 시간을 기준으로 더해야 할 때 쓰는 함수가 바로 `DATE_ADD()`함수이다.&lt;/p&gt;
&lt;p&gt;똑같이 특정 시간을 기준으로 빼야 할 때 쓰는 함수는 `DATE_SUB()` 함수이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다시말해, `DATE_ADD()`는 기준 날짜에 입력된 기간만큼을 더하는 함수고,&lt;/p&gt;
&lt;p&gt;`DATE_SUB()`는 기준 날짜에 입력된 기간만큼을 빼주는 함수이다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;DATE_ADD(), DATE_SUB() 사용 형식과 예제&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;DATE_ADD() 함수&lt;/h4&gt;
&lt;p&gt;`DATE_ADD(기준 날짜, INTERVAL)`&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;예) 현재 시간 2020-11-07 10:00:00에 하루를 더하고 싶을 때,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;`SELECT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;DATE_ADD&lt;/span&gt;(&lt;span&gt;NOW&lt;/span&gt;(),&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;INTERVAL&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt; DAY&lt;/span&gt;)` 이렇게 쓴다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;DATE_SUB() 함수&lt;/h4&gt;
&lt;p&gt;`DATE_SUB(기준 날짜, INTERVAL)`&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;예) 현재 시간 2020-11-07 10:00:00에 1분을 빼고 싶을 때,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;`SELECT&lt;/span&gt; &lt;span&gt;DATE_SUB&lt;/span&gt;(&lt;span&gt;NOW&lt;/span&gt;(), &lt;span&gt;INTERVAL&lt;/span&gt; &lt;span&gt;1&lt;/span&gt; &lt;span&gt;MINUTE&lt;/span&gt;)` 이런 식으로 쓰면 된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;DATE_ADD()함수를 쓴 Leet code문제&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;a href=&quot;https://it-mi.tistory.com/60&quot;&gt;2020/08/30 - [데이터분석/프로그래밍] - Leet Code | MySQL | 197. Rising Temperature&lt;/a&gt;&lt;/p&gt;</description>
      <category>데이터분석/SQL</category>
      <category>DATE_ADD</category>
      <category>DATE_SUB</category>
      <category>Interval</category>
      <category>mysql</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/100</guid>
      <comments>https://it-mi.tistory.com/100#entry100comment</comments>
      <pubDate>Sat, 7 Nov 2020 11:06:01 +0900</pubDate>
    </item>
    <item>
      <title>[python] 조건문에서 Boolean과 Boolean의 대체제 01, 빈값</title>
      <link>https://it-mi.tistory.com/99</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Boolean&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;비교 연산의 결과로 참(True)이나 거짓(False)을 얻을 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;참과 거짓은 '숫자'와 '문자'처럼 데이터 형태이다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;이를 Boolean(불린)이라고 부르고, Boolean의 결과값으로 올 수 있는 값은 True와 False 두가지 밖에 없다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #666666;&quot;&gt;불린은 &lt;b&gt;조건문&lt;/b&gt;에서 핵심적인 역할을 담당한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;조건문 if&lt;/h2&gt;
&lt;p&gt;조건문은 if로 시작한다. if 와 콜론(:) 사이에 조건이 오고, 조건이 될 수 있는 값은 Boolean이다.&lt;/p&gt;
&lt;p&gt;Boolean의 값이 True라면 if 문 다음 행의 구문이 실행된다.&lt;/p&gt;
&lt;p&gt;아래 예제는 &lt;span style=&quot;color: #333333;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;if 뒤에 True가 왔기 때문에&lt;/span&gt;&amp;nbsp;실행결과는 'result : true'다.&lt;/p&gt;
&lt;pre id=&quot;code_1604303833318&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if True:
    print 'result : true'&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;다음 예제는 &lt;span style=&quot;color: #333333;&quot;&gt;if 뒤에 False가 왔기 때문에 아&lt;/span&gt;무것도 출력하지 않을 것이다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1604303849337&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if False:
    print 'result : true'&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;boolean의 대체제&lt;/h2&gt;
&lt;h3&gt;0은 False, 1은 True&lt;/h3&gt;
&lt;p&gt;조건문에 사용될 수 있는 데이터 형이 꼭 불린만 되는 것은 아니다.&lt;/p&gt;
&lt;p&gt;관습적인 이유로 0는 False, 숫자 1는 True를 대체할 수 있다.&lt;/p&gt;
&lt;p&gt;다음 예제를 보자.&lt;/p&gt;
&lt;pre id=&quot;code_1604303877312&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if 1 and 1:
    print 1
if 1 and 0:
    print 2
if 0 and 1:
    print 3
if 0 and 0:
    print 4&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;빈값은 False&lt;/h3&gt;
&lt;p&gt;다음과 같이 값이 없는 변수도 파이썬에서는 False로 간주된다.&lt;/p&gt;
&lt;pre id=&quot;code_1604303889393&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;a=''
if a:
    print 1
b='coding everybody'
if b:
    print 2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;출처: &lt;a href=&quot;https://opentutorials.org/module/515/4587&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;opentutorials.org/module/515/4587&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1604303902335&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;university&quot; data-og-title=&quot;조건문 - python 2&quot; data-og-description=&quot;Boolean '비교 수업'에서 비교 연산의 결과로 참(True)이나 거짓(False)을 얻을 수 있다고 배웠다. 여기서 참과 거짓은 '숫자와 문자 수업'에서 배운 숫자와 문자처럼 언어에서 제공하는 데이터 형이다&quot; data-og-host=&quot;opentutorials.org&quot; data-og-source-url=&quot;https://opentutorials.org/module/515/4587&quot; data-og-url=&quot;https://opentutorials.org/module/515/4587&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://opentutorials.org/module/515/4587&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://opentutorials.org/module/515/4587&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;조건문 - python 2&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Boolean '비교 수업'에서 비교 연산의 결과로 참(True)이나 거짓(False)을 얻을 수 있다고 배웠다. 여기서 참과 거짓은 '숫자와 문자 수업'에서 배운 숫자와 문자처럼 언어에서 제공하는 데이터 형이다&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;opentutorials.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Language/python</category>
      <category>boolean</category>
      <category>PYTHON</category>
      <category>파이썬 조건문</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/99</guid>
      <comments>https://it-mi.tistory.com/99#entry99comment</comments>
      <pubDate>Mon, 2 Nov 2020 16:59:31 +0900</pubDate>
    </item>
    <item>
      <title>[python] enumerate 함수</title>
      <link>https://it-mi.tistory.com/98</link>
      <description>&lt;h3 id=&quot;enumerate-함수&quot;&gt;enumerate 함수&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;리스트가 있는 경우&lt;b&gt; 순서&lt;/b&gt;와 &lt;b&gt;리스트의 값&lt;/b&gt;을 전달하는 기능&lt;/li&gt;
&lt;li&gt;enumerate는 &amp;ldquo;열거하다&amp;rdquo;라는 뜻이다. 이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;주로 for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 인덱스 값이 필요할때 사용한다.&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1604300103395&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
# 시작 번호를 1로 조정
list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;다음과 동등하다&lt;/p&gt;
&lt;pre id=&quot;code_1604300119895&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def enumerate(sequence, start=0):
    n = start
    for elem in sequence:
        yield n, elem
        n += 1
#시작번호를 1로 조정
def enumerate(sequence, start=1):
	n = start
    for elem in sequence:
    yield n, elem
    n += 1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;출처: &lt;a href=&quot;https://docs.python.org/ko/3/library/functions.html?highlight=enumerate#enumerate&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;docs.python.org/ko/3/library/functions.html?highlight=enumerate#enumerate&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1604300666483&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;내장 함수 &amp;mdash; Python 3.9.0 문서&quot; data-og-description=&quot;내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍니다. 인자는 정수, 실수 또는 __&quot; data-og-host=&quot;docs.python.org&quot; data-og-source-url=&quot;https://docs.python.org/ko/3/library/functions.html?highlight=enumerate#enumerate&quot; data-og-url=&quot;https://docs.python.org/ko/3/library/functions.html?highlight=enumerate#enumerate&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://docs.python.org/ko/3/library/functions.html?highlight=enumerate#enumerate&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://docs.python.org/ko/3/library/functions.html?highlight=enumerate#enumerate&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;내장 함수 &amp;mdash; Python 3.9.0 문서&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍니다. 인자는 정수, 실수 또는 __&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;docs.python.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Language/python</category>
      <category>enumerate</category>
      <category>PYTHON</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/98</guid>
      <comments>https://it-mi.tistory.com/98#entry98comment</comments>
      <pubDate>Mon, 2 Nov 2020 15:59:46 +0900</pubDate>
    </item>
    <item>
      <title>파이썬, 괄호가 왤케 많은거야 ? [],{},() 대체 언제 어디서 쓰나?</title>
      <link>https://it-mi.tistory.com/97</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;[ ] 는 리스트(list)&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;619&quot; data-origin-height=&quot;324&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pKENZ/btqKC9j9EGX/TezDG7QQCo69aa7Drou0W0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pKENZ/btqKC9j9EGX/TezDG7QQCo69aa7Drou0W0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pKENZ/btqKC9j9EGX/TezDG7QQCo69aa7Drou0W0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpKENZ%2FbtqKC9j9EGX%2FTezDG7QQCo69aa7Drou0W0%2Fimg.png&quot; data-origin-width=&quot;619&quot; data-origin-height=&quot;324&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;- 리스트는&lt;b&gt; 수정이 가능하다(mutable).&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 여러 개의 값을 한 번에 다루기 위한 컨테이너 데이터타입 중 하나&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- 리스트 내부에는 여러 데이터타입이 같이 들어올 순 있지만, 이 경우에는 &lt;span style=&quot;color: #ee2323;&quot;&gt;정렬(sort)이 제대로 동작하지 않는다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;663&quot; data-origin-height=&quot;293&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/deMCre/btqKvPak8ek/FKbD0Jz9wlqWk1CCbqPvI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/deMCre/btqKvPak8ek/FKbD0Jz9wlqWk1CCbqPvI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/deMCre/btqKvPak8ek/FKbD0Jz9wlqWk1CCbqPvI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeMCre%2FbtqKvPak8ek%2FFKbD0Jz9wlqWk1CCbqPvI0%2Fimg.png&quot; data-origin-width=&quot;663&quot; data-origin-height=&quot;293&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;( ) 는 튜플(Tuple)&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;861&quot; data-origin-height=&quot;435&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u7hXY/btqKAz4IGpY/4S9mpQlJn0VKrxwKS6K7O1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u7hXY/btqKAz4IGpY/4S9mpQlJn0VKrxwKS6K7O1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u7hXY/btqKAz4IGpY/4S9mpQlJn0VKrxwKS6K7O1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu7hXY%2FbtqKAz4IGpY%2F4S9mpQlJn0VKrxwKS6K7O1%2Fimg.png&quot; data-origin-width=&quot;861&quot; data-origin-height=&quot;435&quot; data-filename=&quot;blob&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;- 튜플은 &lt;b&gt;수정이 불가능하다(immutable).&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- 여러 개의 값을 한 번에 다루기 위한 컨테이너 테이터타입 중 하나&lt;/p&gt;
&lt;p&gt;- 함수에서 여러 개의 값을 리턴하도록 했을 때 나오는 형태도 튜플! (고정값이니까 수정불가능한 튜플을 썼다고 생각하면 된다!)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;* 셋(set)&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vhWHx/btqKDaQUSdl/Oxj4LJ4npJjGhkIPaD9Rg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vhWHx/btqKDaQUSdl/Oxj4LJ4npJjGhkIPaD9Rg1/img.png&quot; data-alt=&quot;순서가 없기 때문에 index로 접근할 수 없다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vhWHx/btqKDaQUSdl/Oxj4LJ4npJjGhkIPaD9Rg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvhWHx%2FbtqKDaQUSdl%2FOxj4LJ4npJjGhkIPaD9Rg1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;순서가 없기 때문에 index로 접근할 수 없다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;- 집합의 형태를 쉽게 처리하기 위한 데이터타입&lt;/p&gt;
&lt;p&gt;- 딕셔너리와 비슷하게 생겼으나 키(key)가 없는 형태&lt;/p&gt;
&lt;p&gt;- 중복을 허용하지 않고 순서가 없다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;{}는 딕셔너리(Dictionary)&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CHXyb/btqKv6JJdNJ/xaVqUKHrhJWt4SY0AJMg01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CHXyb/btqKv6JJdNJ/xaVqUKHrhJWt4SY0AJMg01/img.png&quot; data-alt=&quot;&amp;amp;#39;a&amp;amp;#39;=1이였다가 &amp;amp;#39;a&amp;amp;#39;=2가 됐기 때문에 딕셔너리에서는 뒤에 것을 print해서 print(num[&amp;amp;#39;a&amp;amp;#39;])는 2이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CHXyb/btqKv6JJdNJ/xaVqUKHrhJWt4SY0AJMg01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCHXyb%2FbtqKv6JJdNJ%2FxaVqUKHrhJWt4SY0AJMg01%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;'a'=1이였다가 'a'=2가 됐기 때문에 딕셔너리에서는 뒤에 것을 print해서 print(num['a'])는 2이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;- 여러 개의 값을 한 번에 다루기 위한 컨테이너 데이터 타입 중 하나&lt;/p&gt;
&lt;p&gt;- key-value 쌍의 형태로 이루어짐&lt;/p&gt;
&lt;p&gt;- 유니크한 key를 통해 값(value)에 접근&lt;/p&gt;
&lt;p&gt;- 값(value)는&lt;b&gt; 수정 가능(mutable)하다!&lt;/b&gt;&lt;/p&gt;</description>
      <category>Language/python</category>
      <category>딕셔너리</category>
      <category>리스트</category>
      <category>셋</category>
      <category>튜플</category>
      <category>파이썬</category>
      <category>파이썬괄호</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/97</guid>
      <comments>https://it-mi.tistory.com/97#entry97comment</comments>
      <pubDate>Sat, 10 Oct 2020 14:34:20 +0900</pubDate>
    </item>
    <item>
      <title>[데이터분석/통계/pandas] 야매 데이터와 놀자</title>
      <link>https://it-mi.tistory.com/96</link>
      <description>&lt;p&gt;야매 데이터를 만들어서 쉽고 재밌게 python으로 회귀분석을 해보았다.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;어렵게만 느껴졌던 통계와 pandas로 데이터분석하는 법까지 자연스럽게 익힐 수 있어서 너무 재밌었다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이제 다같이&amp;nbsp;&lt;b&gt;야&lt;/b&gt;매데이터와 &lt;b&gt;놀&lt;/b&gt;아보&lt;b&gt;자&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;야놀자 1) 어떤 카페가 좋은 카페일까?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BEXql/btqKuFrwmgd/CFADsxw2eBJVVujvqiBU20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BEXql/btqKuFrwmgd/CFADsxw2eBJVVujvqiBU20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BEXql/btqKuFrwmgd/CFADsxw2eBJVVujvqiBU20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBEXql%2FbtqKuFrwmgd%2FCFADsxw2eBJVVujvqiBU20%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;카페를 20가지 정도 나열한 다음 '좋은 카페'를 판단할 수 있는 요인을 생각해보았다.&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;우리는 '빵,케잌의 맛, 커피맛, 콘센트 적합도, 화장실 퀄리티, 공부분위기, 접근성, 가격'에 1점~5점까지의 점수를 매기고 '선호도'에 어떤 영향을 줄지 (야매로)분석해보려 했다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;우선, pandas가 실행될 수 있도록 환경을 세팅해보자!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(Anaconda에서 jupyternotebook을 실행하여 진행하였다.)&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1602171472972&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#pandas를 불러들인다. 이때 pd라는 별명을 붙인다.
import pandas as pd
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;pandas를 불러왔으니 데이터파일을 불러와보자.&lt;/p&gt;
&lt;p&gt;*이때, 데이터파일은 jupyternotebook이 실행되고 있는 레퍼지토리와 동일한 곳에 있어야 한다!&lt;/p&gt;
&lt;p&gt;*처음 엑셀을 작성할 때 변수 이름을 한글로 지정해줬는데, 영어로 지정할 때와 마찬가지로 단어사이엔 '_'로 연결시켜줘야 한다. 변수이름에 괄호도 있으면 안된다. 나는 한글로 설정하면 안되는줄 알고 영어로 다바꿔줬다..ㅎ&lt;/p&gt;
&lt;pre id=&quot;code_1602173338733&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#야매 데이터 파일을 연다.
df_ya=pd.read_excel('야매 데이터.xlsx')
#데이터를 잘 불러왔는지 앞부분을 확인한다.
df_ya.head()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbOBki/btqKvPm8tId/87xd1PMSyaDZ6TnXK5SxRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbOBki/btqKvPm8tId/87xd1PMSyaDZ6TnXK5SxRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbOBki/btqKvPm8tId/87xd1PMSyaDZ6TnXK5SxRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbOBki%2FbtqKvPm8tId%2F87xd1PMSyaDZ6TnXK5SxRk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;이제 회귀분석 함수를 불러와서 회귀분석을 하면된다.&lt;/p&gt;
&lt;p&gt;다중회귀분석이므로 독립변수 들은 '+'로 연결해준다.&lt;/p&gt;
&lt;pre id=&quot;code_1602173169133&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#ols회귀분석 함수를 불러들인다.
from statsmodels.formula.api import ols
#다중회귀분석 시에는 ols('종속변수 ~ 독립변수 + 독립변수 + .. 독립변수, ) 이런식으로 넣어주면 된다.
ols('like ~ bread_taste + coffee_taste + socket_env + study + price', data=df_ya).fit().summary()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;571&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ryMmO/btqKxPGe0nf/Zp0lBE07OaMtYAvPVfgeX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ryMmO/btqKxPGe0nf/Zp0lBE07OaMtYAvPVfgeX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ryMmO/btqKxPGe0nf/Zp0lBE07OaMtYAvPVfgeX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FryMmO%2FbtqKxPGe0nf%2FZp0lBE07OaMtYAvPVfgeX0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;571&quot; height=&quot;NaN&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;# OLS Regression Results 읽는법&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;- R squared: 오차를 줄인 정도! (ex. 위에서는 0.223이기 때문에 오차를 22.3% 줄였다!)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;- Adjusted R squared: 독립변수가 많아지면 무조건 R제곱은 커짐. 따라서 모델을 다른 모델과 비교해봐야 하는데 이때는 수정 R제곱 확인.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;- F-statistic: prob(F stat) &amp;lt; 유의수준이면 (독립변수가 2개 이상일 때) 적어도 하나 이상의 기울기는 0이 아님을 의미.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;- intercept: 절편&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;독립변수에 여러가지를 뺏다 넣었다 하며 Adj.R-Squared가 어떻게 변하는지 보고 어떤 독립변수가 들어갔을 때 Adj.R-Squared가 가장 큰지 확인하면 선호도를 판단할 수 있다.&lt;/p&gt;
&lt;p&gt;우리의 야매데이터를 통해 분석한 결과는&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- 접근성이 높을수록 선호도는 낮아진다 (와이??? 신기한 결과다)&lt;/p&gt;
&lt;p&gt;- 공부분위기, 콘센트 적합도는 선호도에 큰 영향을 주지 않는다 (말도안돼..!)&lt;/p&gt;
&lt;p&gt;- 가성비가 카페 선호도에 큰 영향을 준다 (이건 인정)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;#막간, 회귀분석 요점정리&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;1. 선형회귀분석: 종속 = 가중치(기울기) * 독립 + 절편 -&amp;gt; 독립이 0이면, 종속변수=절편!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;2. 가중치(기울기): +인지 -인지 확인 -&amp;gt; 신뢰구간이 +~+이면 독립변수와 종속변수가 상관이 있다(우상향 그래프), 신뢰구간이 -~-이면 독립변수와 종속변수가 상관이 없다(우하향 그래프)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;3. R squared는 예측의 정확도를 확인하는 것! -&amp;gt; R제곱이 1이면 100% 예측 한 것! 오차가 없다는 것을 의미함.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;4. 모형끼리 비교할 땐 Adj R squared, AIC, BIC 확인! -&amp;gt; Adj R squared는 클수록, AIC, BIC는 작을수록 좋다.&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;#자동으로 예측치 뽑아주는 코드&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1602172552117&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;res = ols('risk ~ length + horsepower + city_mpg + doors', data=df).fit()
res.summary()
res.predict(df)
new_df = pd.read_excel('새차.xlsx')
res.predict(new_df)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;b&gt;야놀자 2) 어떤 상황에서 학습이 잘 될까?&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;첫번째 야놀자 프로젝트보다 나은 분석을 위해, 객관적 변수를 지양하고 주관적 변수를 이용하려 했다!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;갓재명님께서 객관적 변수(ex. 단맛, 향, 식감 등)를 이용하면 회귀분석이 제대로 안나온다며 꿀팁을 주셨다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;그래서 우리는 서로의 구체적 경험을 공유하고, 변수의 키워드를 모아 그룹화하였다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgiRTt/btqKxRjKjVN/1Ph2QYVHnnfw0b5zAtVWP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgiRTt/btqKxRjKjVN/1Ph2QYVHnnfw0b5zAtVWP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgiRTt/btqKxRjKjVN/1Ph2QYVHnnfw0b5zAtVWP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgiRTt%2FbtqKxRjKjVN%2F1Ph2QYVHnnfw0b5zAtVWP0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;야놀자 2에서는 변수를 변형해서 회귀분석까지 돌려보려 했으나 그러진 못했다.&lt;/p&gt;
&lt;p&gt;하지만, 분석에 앞서 변수를 어떻게 설정해야하는지 고민해보며 이의 중요성을 깨닫게 해줘서 매우 유익했다!&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(사실 야놀자 프로젝트는 데이터 자체가 야매이기 때문에.. 결과보단 과정이 중요하다.)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;아직 통계 개념이 어렵고 익숙하지 않지만, 이런식으로 통계와 친해지려 노력해야겠다!&lt;/p&gt;
&lt;p&gt;&lt;s&gt;통계야야야야놀자&lt;/s&gt;&lt;/p&gt;</description>
      <category>데이터분석/통계분석</category>
      <category>pandas</category>
      <category>PYTHON</category>
      <category>데이터분석</category>
      <category>야놀자</category>
      <category>통계</category>
      <category>통계분석</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/96</guid>
      <comments>https://it-mi.tistory.com/96#entry96comment</comments>
      <pubDate>Fri, 9 Oct 2020 02:00:00 +0900</pubDate>
    </item>
    <item>
      <title>SQL | 윈도우함수(window function)란 무엇인가?</title>
      <link>https://it-mi.tistory.com/95</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;윈도우 함수란&lt;/h2&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;GROUP BY 구문과 병행하여 사용하지 않을 때&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;사용된다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;윈도우 함수 구조&lt;/h3&gt;
&lt;pre id=&quot;code_1602168723500&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELCECT WINDOW_FUNCTION(ARGUMENTS)
	OVER (PARTITION BY 칼럼
    	ORDER BY WINDOWING절)
FROM 테이블명;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;-&amp;gt; ARGUMENTS: 윈도우 함수에 따라 0~N개의 인수를 설정한다.&lt;/p&gt;
&lt;p&gt;-&amp;gt; PARTITION BY: 전체 집합을 기준에 의해 소그룹으로 나눈다.&lt;/p&gt;
&lt;p&gt;-&amp;gt; ORDER BY: 어떤 항목에 대해서 정렬하다.&lt;/p&gt;
&lt;p&gt;-&amp;gt; WINDOWING: 행 기준 범위를 정한다. ROWS는 물리적 결과의 행 수이고, RANGE는 논리적인 값에 의한 범위이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SUM, MAX, MIN과 같은 집계 윈도우 함수를 사용할 때 윈도우 절과 함께 사용하면 집계 대상이 되는 레코드 범위를 지정할 수 있다.&lt;/li&gt;
&lt;li&gt;WINDOW 함수의 PARTITION구문과 GROUP BY 구문은 둘 다 파티션을 분할한다는 의미에서 유사하다.&lt;/li&gt;
&lt;li&gt;윈도우 함수로 인해 결과 건수가 줄어들지는 않는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;순위 함수(Rank Function)&lt;/h3&gt;
&lt;p&gt;- RANK: 동일한 순위는 동일한 값 부여 ex) 1, 2, 2, 4, 5, 6, ..&lt;/p&gt;
&lt;p&gt;- DENSE_RANK: 동일한 순위를 하나의 건수로 계산 ex) 1, 2, 2, 3, 4, 5, 6, ..&lt;/p&gt;
&lt;p&gt;- ROW_NUMBER: 동일한 순위에 대해서 고유의 순위를 부여 ex) 1, 2, 3, 4, 5 ..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;집계 함수(Aggregate Function)&lt;/h3&gt;
&lt;p&gt;- Sum: 파티션 별로 합계&lt;/p&gt;
&lt;p&gt;- Avg: 평균&lt;/p&gt;
&lt;p&gt;- Count: 행 수&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- Max와 Min: 최댓값, 최솟값&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/SQL</category>
      <category>sql</category>
      <category>윈도우함수</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/95</guid>
      <comments>https://it-mi.tistory.com/95#entry95comment</comments>
      <pubDate>Fri, 9 Oct 2020 00:06:00 +0900</pubDate>
    </item>
    <item>
      <title>MySQL | Subquery</title>
      <link>https://it-mi.tistory.com/94</link>
      <description>&lt;p&gt;MySQL Subquery는 다른 쿼리 내에 중첩된 쿼리입니다.&lt;/p&gt;
&lt;p&gt;MySQL Subquery를 내부 쿼리라고하고, Subquery를 포함하는 쿼리를 외부 쿼리라고 합니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Subquery는 해당 표현식이 사용되는 모든 곳에서 사용할 수 있으며 괄호로 묶어야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1602167418074&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT 
    lastName, firstName
FROM
    employees
WHERE
    officeCode IN (SELECT 
            officeCode
        FROM
            offices
        WHERE
            country = 'USA');&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;위 예에서&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Subquery는&lt;span&gt;&amp;nbsp;&lt;/span&gt;미국에 있는 사무실의&lt;span&gt;&amp;nbsp;&lt;/span&gt;모든&lt;span&gt;&amp;nbsp;&lt;/span&gt;사무실 코드를&lt;span&gt;&amp;nbsp;&lt;/span&gt;반환합니다&lt;span&gt;&amp;nbsp;&lt;/span&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;외부 쿼리는 Subquery서 반환된 결과 집합에 사무실 코드가 있는 사무실에서 일하는 직원의 성과 이름을 선택합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;395&quot; height=&quot;147&quot; data-src=&quot;https://sp.mysqltutorial.org/wp-content/uploads/2013/02/mysql-subquery.gif&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n8yqe/btqKxl6pwXw/BkKV3xalMBvUBSmZTMEyJ0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n8yqe/btqKxl6pwXw/BkKV3xalMBvUBSmZTMEyJ0/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n8yqe/btqKxl6pwXw/BkKV3xalMBvUBSmZTMEyJ0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/n8yqe/btqKxl6pwXw/BkKV3xalMBvUBSmZTMEyJ0/img.gif&quot; width=&quot;395&quot; height=&quot;147&quot; data-src=&quot;https://sp.mysqltutorial.org/wp-content/uploads/2013/02/mysql-subquery.gif&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;출처: &lt;a href=&quot;https://www.mysqltutorial.org/mysql-subquery/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&amp;nbsp;www.mysqltutorial.org/mysql-subquery/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1602167692853&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;MySQL Subquery&quot; data-og-description=&quot;In this tutorial, we will show you how to use MySQL subquery to write more complex queries. In addition, we will show you how to use correlated subquery.&quot; data-og-host=&quot;www.mysqltutorial.org&quot; data-og-source-url=&quot;https://www.mysqltutorial.org/mysql-subquery/&quot; data-og-url=&quot;https://www.mysqltutorial.org/mysql-subquery/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/14UW6/hyHMirmP8c/mPm1A5wMqlJdWmsY5oBEcK/img.gif?width=395&amp;amp;height=147&amp;amp;face=0_0_395_147&quot;&gt;&lt;a href=&quot;https://www.mysqltutorial.org/mysql-subquery/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.mysqltutorial.org/mysql-subquery/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/14UW6/hyHMirmP8c/mPm1A5wMqlJdWmsY5oBEcK/img.gif?width=395&amp;amp;height=147&amp;amp;face=0_0_395_147');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;MySQL Subquery&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;In this tutorial, we will show you how to use MySQL subquery to write more complex queries. In addition, we will show you how to use correlated subquery.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.mysqltutorial.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;그리고!&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서브쿼리 내에서는 ORDER BY를 함께 쓸 수 없다는 점!을 기억해야한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/SQL</category>
      <category>mysql</category>
      <category>Subquery</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/94</guid>
      <comments>https://it-mi.tistory.com/94#entry94comment</comments>
      <pubDate>Thu, 8 Oct 2020 23:46:55 +0900</pubDate>
    </item>
    <item>
      <title>LeetCode | MySQL | 177. Nth Highest Salary</title>
      <link>https://it-mi.tistory.com/93</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;177. Nth Highest Salary&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Je1n8/btqIkuknFSy/afJ4HEAXN9ikQyBtFKUstK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Je1n8/btqIkuknFSy/afJ4HEAXN9ikQyBtFKUstK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Je1n8/btqIkuknFSy/afJ4HEAXN9ikQyBtFKUstK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJe1n8%2FbtqIkuknFSy%2FafJ4HEAXN9ikQyBtFKUstK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://leetcode.com/problems/nth-highest-salary/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;leetcode.com/problems/nth-highest-salary/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599612834424&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Nth Highest Salary - LeetCode&quot; data-og-description=&quot;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/nth-highest-salary/&quot; data-og-url=&quot;https://leetcode.com/problems/nth-highest-salary/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gI43y/hyHrBcs4rs/t3MzDkccGfdV28TaFLydw1/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/brGHRY/hyHrvpMT86/6QVLrQKQrArZCEnEw5Fbr0/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/nth-highest-salary/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/nth-highest-salary/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gI43y/hyHrBcs4rs/t3MzDkccGfdV28TaFLydw1/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/brGHRY/hyHrvpMT86/6QVLrQKQrArZCEnEw5Fbr0/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Nth Highest Salary - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1599612866128&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
    RETURN(
        SELECT IF(COUNT(sub.Salary) &amp;lt; N, NULL, MIN(sub.Salary))
        FROM(
            SELECT DISTINCT e.Salary
            FROM Employee AS e
            ORDER BY Salary DESC
            LIMIT N
            )sub
    );
END
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/93</guid>
      <comments>https://it-mi.tistory.com/93#entry93comment</comments>
      <pubDate>Wed, 9 Sep 2020 10:11:43 +0900</pubDate>
    </item>
    <item>
      <title>LeetCode | MySQL | 185. Department Top Three Salaries</title>
      <link>https://it-mi.tistory.com/92</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eueMiM/btqIluLDxLO/Od0pdFS8pgxUt09yinPqQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eueMiM/btqIluLDxLO/Od0pdFS8pgxUt09yinPqQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eueMiM/btqIluLDxLO/Od0pdFS8pgxUt09yinPqQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeueMiM%2FbtqIluLDxLO%2FOd0pdFS8pgxUt09yinPqQ1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kyuiw/btqIdr9Qnqi/fjn6QNOMBmiBpVi05EFjGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kyuiw/btqIdr9Qnqi/fjn6QNOMBmiBpVi05EFjGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kyuiw/btqIdr9Qnqi/fjn6QNOMBmiBpVi05EFjGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fkyuiw%2FbtqIdr9Qnqi%2Ffjn6QNOMBmiBpVi05EFjGK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://leetcode.com/problems/department-top-three-salaries/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;leetcode.com/problems/department-top-three-salaries/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599612236533&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Department Top Three Salaries - LeetCode&quot; data-og-description=&quot;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/department-top-three-salaries/&quot; data-og-url=&quot;https://leetcode.com/problems/department-top-three-salaries/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dODBQ2/hyHrq24zKK/CMH4VNuffLx4vkM5IuVbc1/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/jaMsd/hyHoRszGno/BeVpPeXwW5zsTqPkRo52C1/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/department-top-three-salaries/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/department-top-three-salaries/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dODBQ2/hyHrq24zKK/CMH4VNuffLx4vkM5IuVbc1/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/jaMsd/hyHoRszGno/BeVpPeXwW5zsTqPkRo52C1/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Department Top Three Salaries - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599612584228&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* RANK(), DENSE_RANK() */
SELECT t.Employee,
       t.Department,
        t.Salary
FROM(
    SELECT department.name AS department
        , employee.name AS employee
        , employee.salary AS salary
        , DENSE_RANK() OVER (PARTITION BY departmentid ORDER BY salary DESC) AS dr
    FROM employee
        INNER JOIN department ON employee.DepartmentId = department.id
)t
WHERE t.dr &amp;lt;= 3&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <category>Department Top Three Salaries</category>
      <category>leetcode</category>
      <category>mysql</category>
      <category>sql</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/92</guid>
      <comments>https://it-mi.tistory.com/92#entry92comment</comments>
      <pubDate>Wed, 9 Sep 2020 09:51:40 +0900</pubDate>
    </item>
    <item>
      <title>LeetCode | MySQL | 184. Department Highest Salary</title>
      <link>https://it-mi.tistory.com/91</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;184. Department Highest Salary&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;&lt;a href=&quot;https://leetcode.com/problems/department-highest-salary/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;leetcode.com/problems/department-highest-salary/&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599534138683&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Department Highest Salary - LeetCode&quot; data-og-description=&quot;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/department-highest-salary/&quot; data-og-url=&quot;https://leetcode.com/problems/department-highest-salary/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/BwWze/hyHpMsvPLs/xFsTE8gp0DyeRZrNLJBMOK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/V2dpm/hyHruRjyUH/kqifvX0HCKNhUdlPbcueZ0/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/department-highest-salary/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/department-highest-salary/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/BwWze/hyHpMsvPLs/xFsTE8gp0DyeRZrNLJBMOK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/V2dpm/hyHruRjyUH/kqifvX0HCKNhUdlPbcueZ0/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Department Highest Salary - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599534148694&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Write your MySQL query statement below
SELECT d.name AS department
    , e.name AS employee
    , e.salary
FROM employee AS e
    INNER JOIN (
        -- 부서에서 가장 많이 벌 때에 그 임금과 부서id
        SELECT departmentid, MAX(salary) AS max_salary
        FROM employee
        GROUP BY departmentid
        ) AS dh ON e.departmentid = dh.departmentid
                AND e.salary = dh.max_salary
    INNER JOIN department AS d ON d.id = e.departmentid
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/91</guid>
      <comments>https://it-mi.tistory.com/91#entry91comment</comments>
      <pubDate>Tue, 8 Sep 2020 12:06:33 +0900</pubDate>
    </item>
    <item>
      <title>LeetCode | MySQL | 180. Consecutive Numbers</title>
      <link>https://it-mi.tistory.com/90</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;180. Consecutive Numbers&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dJodnx/btqH51KiTJM/BgxyuLzkhg1xLPApcHaCG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dJodnx/btqH51KiTJM/BgxyuLzkhg1xLPApcHaCG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dJodnx/btqH51KiTJM/BgxyuLzkhg1xLPApcHaCG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdJodnx%2FbtqH51KiTJM%2FBgxyuLzkhg1xLPApcHaCG0%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://leetcode.com/problems/consecutive-numbers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;leetcode.com/problems/consecutive-numbers/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599533782588&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Consecutive Numbers - LeetCode&quot; data-og-description=&quot;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/consecutive-numbers/&quot; data-og-url=&quot;https://leetcode.com/problems/consecutive-numbers/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bNzRPy/hyHrtZb6Q7/w4eKiadnW0SiJhqwaPKajk/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/yuL0n/hyHoPalQ9P/kZ1DaW2k3zjuiCDg6s0Wyk/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/consecutive-numbers/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/consecutive-numbers/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bNzRPy/hyHrtZb6Q7/w4eKiadnW0SiJhqwaPKajk/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/yuL0n/hyHoPalQ9P/kZ1DaW2k3zjuiCDg6s0Wyk/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Consecutive Numbers - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599533886512&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT DISTINCT l.Num AS ConsecutiveNums
FROM logs AS l
 	INNER JOIN logs AS l_next ON l.id+1 = l_next.id
	INNER JOIN logs AS l_next2 ON l.id+2 = l_next2.id
-- two times consecutively
 WHERE l.Num = l_next.Num AND l_next.Num = l_next2.Num
&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1599533904508&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 윈도우함수로 풀기
SELECT DISTINCT l.Num AS ConsecutiveNums
FROM (
    SELECT Num
        , LEAD(Num, 1) OVER (ORDER BY Id) AS next
        , LEAD(Num, 2) OVER (ORDER BY Id) AS afternext
    FROM logs
)l
WHERE l.Num = l.next AND l.Num = l.afternext&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <category>consecutive numbers</category>
      <category>leetcode</category>
      <category>mysql</category>
      <category>sql</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/90</guid>
      <comments>https://it-mi.tistory.com/90#entry90comment</comments>
      <pubDate>Tue, 8 Sep 2020 12:01:29 +0900</pubDate>
    </item>
    <item>
      <title>LeetCode | MySQL | 177. Nth Highest Salary</title>
      <link>https://it-mi.tistory.com/89</link>
      <description>&lt;p&gt;&lt;b&gt;177.&amp;nbsp;Nth&amp;nbsp;Highest&amp;nbsp;Salary&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;a href=&quot;https://leetcode.com/problems/nth-highest-salary/&quot;&gt;https://leetcode.com/problems/nth-highest-salary/&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599112377440&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Nth Highest Salary - LeetCode&quot; data-og-description=&quot;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/nth-highest-salary/&quot; data-og-url=&quot;https://leetcode.com/problems/nth-highest-salary/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/UHBpu/hyHnPVwMmi/RWtwVEVCb4KNlK3M7kx2mK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/YhZfi/hyHmI4NLEe/wL1IruJ4WFVhsnMpYYzoM0/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/nth-highest-salary/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/nth-highest-salary/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/UHBpu/hyHnPVwMmi/RWtwVEVCb4KNlK3M7kx2mK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260,https://scrap.kakaocdn.net/dn/YhZfi/hyHmI4NLEe/wL1IruJ4WFVhsnMpYYzoM0/img.png?width=200&amp;amp;height=200&amp;amp;face=0_0_200_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Nth Highest Salary - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cZdrVI/btqHMwxm7xQ/yrQaMEmKdgZKCZFJgdYdMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cZdrVI/btqHMwxm7xQ/yrQaMEmKdgZKCZFJgdYdMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cZdrVI/btqHMwxm7xQ/yrQaMEmKdgZKCZFJgdYdMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZdrVI%2FbtqHMwxm7xQ%2FyrQaMEmKdgZKCZFJgdYdMK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1599112436865&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;--CASE로 풀기

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  RETURN (
      # Write your MySQL query statement below.
        SELECT CASE WHEN COUNT(sub.Salary) &amp;lt; N THEN NULL
                    ELSE MIN(sub.Salary)
                END
        FROM(
            SELECT DISTINCT Salary
            FROM Employee
            ORDER BY Salary DESC
            LIMIT N
            )sub
  );
END&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1599112689473&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- if function 쓰기

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  RETURN (
        SELECT IF(COUNT(sub.Salary) &amp;lt; N, NULL, MIN(sub.Salary))
        FROM(
            SELECT DISTINCT Salary
            FROM Employee
            ORDER BY Salary DESC
            LIMIT N
            )sub
  );
END&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1599112840119&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- LIMIT 심화 풀이법

CREATE FUNCTION getNthHighestSalary(N INT) 
RETURNS INT
BEGIN
--DECLARE A INT;
  SET N = N-1;
  RETURN (
        SELECT DISTINCT Salary
        FROM Employee
        ORDER BY Salary DESC
        LIMIT 1 OFFSET N
  );
  END&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <category>coding</category>
      <category>leetcode</category>
      <category>mysql</category>
      <category>sql</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/89</guid>
      <comments>https://it-mi.tistory.com/89#entry89comment</comments>
      <pubDate>Thu, 3 Sep 2020 15:06:23 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | DATETIME에서 DATE로 형 변환</title>
      <link>https://it-mi.tistory.com/88</link>
      <description>&lt;p&gt;DATETIME에서&amp;nbsp;DATE로&amp;nbsp;형&amp;nbsp;변환&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59414&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59414&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599052612049&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - DATETIME에서 DATE로 형 변환&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59414&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59414&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XOvCd/hyHnO9SY5V/f61LG4FyOyymwUNxszCFI1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/e29QM/hyHnIPmPmA/PoVQ0MK6cccsNhB3TUPsiK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59414&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59414&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XOvCd/hyHnO9SY5V/f61LG4FyOyymwUNxszCFI1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/e29QM/hyHnIPmPmA/PoVQ0MK6cccsNhB3TUPsiK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - DATETIME에서 DATE로 형 변환&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;ANIMAL_INS&lt;span&gt;&amp;nbsp;&lt;/span&gt;테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59414#fn1&quot;&gt;1&lt;/a&gt;를 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1599052620563&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_id, name, DATE_FORMAT(datetime, '%Y-%m-%d') AS '날짜'
FROM animal_ins
ORDER BY animal_id&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/88</guid>
      <comments>https://it-mi.tistory.com/88#entry88comment</comments>
      <pubDate>Wed, 2 Sep 2020 22:17:19 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 오랜 기간 보호한 동물(2)</title>
      <link>https://it-mi.tistory.com/87</link>
      <description>&lt;ol&gt;
&lt;li&gt;오랜 기간 보호한 동물(2)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59411&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59411&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599052457106&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 오랜 기간 보호한 동물(2)&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59411&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59411&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/poicT/hyHmPCzl5c/KcBeGYzwJQvrrhLteFCiW0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/cdtFt7/hyHnT4qwff/6M6nxxjPHZJoAYEIjKh9qk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59411&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59411&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/poicT/hyHmPCzl5c/KcBeGYzwJQvrrhLteFCiW0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/cdtFt7/hyHnT4qwff/6M6nxxjPHZJoAYEIjKh9qk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 오랜 기간 보호한 동물(2)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599052449233&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_ins.animal_id, animal_ins.name
FROM animal_ins, animal_outs
WHERE animal_ins.animal_id = animal_outs.animal_id
ORDER BY animal_outs.DATETIME - animal_ins.DATETIME 
DESC LIMIT 2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/87</guid>
      <comments>https://it-mi.tistory.com/87#entry87comment</comments>
      <pubDate>Wed, 2 Sep 2020 22:14:59 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 중성화 여부 파악하기</title>
      <link>https://it-mi.tistory.com/86</link>
      <description>&lt;ol&gt;
&lt;li&gt;중성화 여부 파악하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;SEX_UPON_INTAKE&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59409&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59409&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599051766896&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 중성화 여부 파악하기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59409&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59409&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cbM0HG/hyHmE8SpR5/zzVvt2RUx6xvpyTytjF20K/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bAEg3x/hyHhS6CP7D/NvTYdD5Ijmu68PXqU8cpM1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59409&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59409&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cbM0HG/hyHmE8SpR5/zzVvt2RUx6xvpyTytjF20K/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bAEg3x/hyHhS6CP7D/NvTYdD5Ijmu68PXqU8cpM1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 중성화 여부 파악하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599051812170&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_id, name, 
    CASE WHEN sex_upon_intake LIKE 'Neutered%' OR sex_upon_intake LIKE 'Spayed%' 
    THEN 'O' 
    ELSE 'X' 
    END AS '중성화'
FROM animal_ins&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/86</guid>
      <comments>https://it-mi.tistory.com/86#entry86comment</comments>
      <pubDate>Wed, 2 Sep 2020 22:03:37 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 이름에 el이 들어가는 동물 찾기도움말</title>
      <link>https://it-mi.tistory.com/85</link>
      <description>&lt;ol&gt;
&lt;li&gt;이름에 el이 들어가는 동물 찾기&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;보호소에 돌아가신 할머니가 기르던 개를 찾는 사람이 찾아왔습니다. 이 사람이 말하길 할머니가 기르던 개는 이름에 'el'이 들어간다고 합니다. 동물 보호소에 들어온 동물 이름 중, 이름에&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;EL&lt;span&gt;이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 순으로 조회해주세요. 단, 이름의 대소문자는 구분하지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59047&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59047&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599051665790&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59047&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59047&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/PDnw2/hyHnJtXZeK/ea2sqdtzsxbhsvBCCKX1Hk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/KIz5h/hyHnNpA9H7/RSgsaNiqFEXSysa3KvohQk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59047&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59047&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/PDnw2/hyHnJtXZeK/ea2sqdtzsxbhsvBCCKX1Hk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/KIz5h/hyHnNpA9H7/RSgsaNiqFEXSysa3KvohQk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599051678738&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_id, name
FROM animal_ins
WHERE name LIKE '%el%' AND animal_type = 'Dog'
ORDER BY name&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/85</guid>
      <comments>https://it-mi.tistory.com/85#entry85comment</comments>
      <pubDate>Wed, 2 Sep 2020 22:01:25 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 루시와 엘라 찾기</title>
      <link>https://it-mi.tistory.com/84</link>
      <description>&lt;ol&gt;
&lt;li&gt;루시와 엘라 찾기&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59046&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59046&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599051424301&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 루시와 엘라 찾기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59046&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59046&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dWer62/hyHnSEriLP/w6FtH4kTjWuDWklaUOB6a0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/csimE6/hyHmL1eGhK/Khpyei3RLC7VtqakgsSpH0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59046&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59046&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dWer62/hyHnSEriLP/w6FtH4kTjWuDWklaUOB6a0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/csimE6/hyHmL1eGhK/Khpyei3RLC7VtqakgsSpH0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 루시와 엘라 찾기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599051447626&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_id, name, sex_upon_intake
FROM animal_ins
WHERE name IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY animal_id&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/84</guid>
      <comments>https://it-mi.tistory.com/84#entry84comment</comments>
      <pubDate>Wed, 2 Sep 2020 21:58:22 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 보호소에서 중성화한 동물</title>
      <link>https://it-mi.tistory.com/83</link>
      <description>&lt;ol&gt;
&lt;li&gt;보호소에서 중성화한 동물&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화&lt;/span&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59045#fn1&quot;&gt;1&lt;/a&gt;&lt;span&gt;되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59045&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59045&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599050974090&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 보호소에서 중성화한 동물&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59045&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59045&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c3Mi6D/hyHnRZPx1Z/TD8aFZJSvgo74P3gppUjp0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/lusdd/hyHnRS30eV/ljGA5gBKifj09oBRowuU31/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59045&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59045&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c3Mi6D/hyHnRZPx1Z/TD8aFZJSvgo74P3gppUjp0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/lusdd/hyHnRS30eV/ljGA5gBKifj09oBRowuU31/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 보호소에서 중성화한 동물&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599050997959&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_outs.animal_id, animal_outs.animal_type, animal_outs.name
FROM animal_outs LEFT JOIN animal_ins ON animal_ins.animal_id = animal_outs.animal_id
WHERE animal_ins.sex_upon_intake LIKE 'Intact%'
    AND (animal_outs.sex_upon_outcome LIKE 'Spayed%' OR animal_outs.sex_upon_outcome LIKE 'Neutered%')
ORDER BY animal_outs.animal_id&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/83</guid>
      <comments>https://it-mi.tistory.com/83#entry83comment</comments>
      <pubDate>Wed, 2 Sep 2020 21:52:18 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 오랜 기간 보호한 동물(1)도움말</title>
      <link>https://it-mi.tistory.com/82</link>
      <description>&lt;ol&gt;
&lt;li&gt;오랜 기간 보호한 동물(1)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59044&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59044&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599050792260&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 오랜 기간 보호한 동물(1)&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59044&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59044&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TXkPE/hyHnGYiTAs/JCmqRceeNKaskngCkkwWFk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/iMPtw/hyHnJgqota/XBvxIiUoK1XKDU6AG6Rn4k/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59044&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59044&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TXkPE/hyHnGYiTAs/JCmqRceeNKaskngCkkwWFk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/iMPtw/hyHnJgqota/XBvxIiUoK1XKDU6AG6Rn4k/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 오랜 기간 보호한 동물(1)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599050811720&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_ins.name, animal_ins.datetime
FROM animal_ins LEFT JOIN animal_outs ON animal_ins.animal_id = animal_outs.animal_id
WHERE animal_outs.animal_id IS NULL
ORDER BY animal_ins.datetime
LIMIT 3&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/82</guid>
      <comments>https://it-mi.tistory.com/82#entry82comment</comments>
      <pubDate>Wed, 2 Sep 2020 21:47:54 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 있었는데요 없었습니다</title>
      <link>https://it-mi.tistory.com/81</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59043&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59043&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1599049898126&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 있었는데요 없었습니다&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59043&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59043&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bNMy7i/hyHnJ8yDqM/UT4U1MkiNykaATetZ9qZ40/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/lDFwy/hyHnOINpAJ/dp7kWKFKVNE0vbnKinVPuK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59043&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59043&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bNMy7i/hyHnJ8yDqM/UT4U1MkiNykaATetZ9qZ40/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/lDFwy/hyHnOINpAJ/dp7kWKFKVNE0vbnKinVPuK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 있었는데요 없었습니다&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1599050206134&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_ins.animal_id, animal_ins.name
FROM animal_ins LEFT JOIN animal_outs ON animal_outs.animal_id = animal_ins.animal_id
WHERE animal_ins.DATETIME &amp;gt; animal_outs.DATETIME
ORDER BY animal_ins.DATETIME&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/81</guid>
      <comments>https://it-mi.tistory.com/81#entry81comment</comments>
      <pubDate>Wed, 2 Sep 2020 21:39:01 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 없어진 기록 찾기</title>
      <link>https://it-mi.tistory.com/80</link>
      <description>&lt;ol&gt;
&lt;li&gt;없어진 기록 찾기&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59042&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59042&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598921196101&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 없어진 기록 찾기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59042&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59042&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/HWbi9/hyHk5lhbjn/fk4v7BlZWDFbCLISVndtqk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/GuPUc/hyHmCoexVM/ecqXtIQptSIKMViIbo7rKK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59042&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59042&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/HWbi9/hyHk5lhbjn/fk4v7BlZWDFbCLISVndtqk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/GuPUc/hyHmCoexVM/ecqXtIQptSIKMViIbo7rKK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 없어진 기록 찾기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598921225433&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT ANIMAL_OUTS.animal_id, ANIMAL_OUTS.name
FROM ANIMAL_OUTS LEFT JOIN ANIMAL_INS ON ANIMAL_INS.animal_id = ANIMAL_OUTS.animal_id
WHERE ANIMAL_INS.animal_id IS NULL;&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/80</guid>
      <comments>https://it-mi.tistory.com/80#entry80comment</comments>
      <pubDate>Wed, 2 Sep 2020 16:59:44 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | NULL 처리하기</title>
      <link>https://it-mi.tistory.com/79</link>
      <description>&lt;ol&gt;
&lt;li&gt;NULL 처리하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59410&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59410&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598921066261&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - NULL 처리하기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59410&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59410&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/tl0s1/hyHmMRU7VG/wWMkthUQCCKyS2vU1hJQsK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/dtNn7k/hyHmNiZeam/yZXKNyXCfJbQCCT2T5JCJk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59410&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59410&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/tl0s1/hyHmMRU7VG/wWMkthUQCCKyS2vU1hJQsK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/dtNn7k/hyHmNiZeam/yZXKNyXCfJbQCCT2T5JCJk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - NULL 처리하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598921112858&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_type, IFNULL(name, &quot;No name&quot;) AS name, sex_upon_intake
FROM animal_ins
ORDER BY animal_id&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/79</guid>
      <comments>https://it-mi.tistory.com/79#entry79comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:45:18 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 이름이 있는 동물의 아이디</title>
      <link>https://it-mi.tistory.com/78</link>
      <description>&lt;ol&gt;
&lt;li&gt;이름이 있는 동물의 아이디&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59407&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59407&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920998747&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 이름이 있는 동물의 아이디&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59407&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59407&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ca0euN/hyHmG5eJph/KmkcuyK8i4uSvMCzigku41/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/N3UEg/hyHmNiZbxE/VOlSKKS5Pg3K8wWaOKP5xK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59407&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59407&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ca0euN/hyHmG5eJph/KmkcuyK8i4uSvMCzigku41/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/N3UEg/hyHmNiZbxE/VOlSKKS5Pg3K8wWaOKP5xK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 이름이 있는 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598921002134&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_id
FROM animal_ins
WHERE name IS NOT NULL&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/78</guid>
      <comments>https://it-mi.tistory.com/78#entry78comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:43:27 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 이름이 없는 동물의 아이디</title>
      <link>https://it-mi.tistory.com/77</link>
      <description>&lt;ol&gt;
&lt;li&gt;이름이 없는 동물의 아이디&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59039&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59039&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920929020&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 이름이 없는 동물의 아이디&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59039&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59039&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Rl4tK/hyHhZYGcCS/5D4OlwuVMPf1Kc7bOMBJX1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/dWTR13/hyHlg8aAIj/dzfgp6bOKflLMlkkjiO3c1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59039&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59039&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Rl4tK/hyHhZYGcCS/5D4OlwuVMPf1Kc7bOMBJX1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/dWTR13/hyHlg8aAIj/dzfgp6bOKflLMlkkjiO3c1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 이름이 없는 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920931918&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_id
FROM animal_ins
WHERE name IS NULL&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/77</guid>
      <comments>https://it-mi.tistory.com/77#entry77comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:42:24 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 입양 시각 구하기(1)</title>
      <link>https://it-mi.tistory.com/76</link>
      <description>&lt;ol&gt;
&lt;li&gt;입양 시각 구하기(1)&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59412&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59412&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920710857&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 입양 시각 구하기(1)&quot; data-og-description=&quot;ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59412&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59412&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/FsmEh/hyHldp3xIv/1RRaOuOdW1R5HveKUCch5k/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/6vGag/hyHmKT6tAO/EGGJSzTvR5yTtfh6XERzWK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59412&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59412&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/FsmEh/hyHldp3xIv/1RRaOuOdW1R5HveKUCch5k/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/6vGag/hyHmKT6tAO/EGGJSzTvR5yTtfh6XERzWK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 입양 시각 구하기(1)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920714489&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT HOUR(Datetime) AS HOUR, COUNT(Datetime) AS COUNT
FROM animal_outs
WHERE HOUR(Datetime) &amp;gt;= 9 AND HOUR(Datetime) &amp;lt;= 19
GROUP BY HOUR(Datetime)
ORDER BY HOUR&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/76</guid>
      <comments>https://it-mi.tistory.com/76#entry76comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:39:45 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 동명 동물 수 찾기</title>
      <link>https://it-mi.tistory.com/75</link>
      <description>&lt;ol&gt;
&lt;li&gt;동명 동물 수 찾기&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59041&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59041&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920634947&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 동명 동물 수 찾기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59041&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59041&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/v4oe1/hyHk4zTC8b/dDWgkDTOVImngp3oqj8V61/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/j727T/hyHmMK9Lif/ekjNsHaIcuUtnp7qKY0Vf1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59041&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59041&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/v4oe1/hyHk4zTC8b/dDWgkDTOVImngp3oqj8V61/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/j727T/hyHmMK9Lif/ekjNsHaIcuUtnp7qKY0Vf1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 동명 동물 수 찾기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920637851&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT name, COUNT(name) as 'count'
FROM animal_ins
GROUP BY name
HAVING count &amp;gt; 1
ORDER BY name&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/75</guid>
      <comments>https://it-mi.tistory.com/75#entry75comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:37:28 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 고양이와 개는 몇 마리 있을까</title>
      <link>https://it-mi.tistory.com/74</link>
      <description>&lt;ol&gt;
&lt;li&gt;고양이와 개는 몇 마리 있을까&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59040&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59040&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920568931&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 고양이와 개는 몇 마리 있을까&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59040&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59040&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dMGoiH/hyHk56ExeR/jhKEUjJuXhsOv7XDsayPJk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/hWvED/hyHlfIbrjp/xTtwqsSXg5Eqp5dESzRiSK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59040&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59040&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dMGoiH/hyHk56ExeR/jhKEUjJuXhsOv7XDsayPJk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/hWvED/hyHlfIbrjp/xTtwqsSXg5Eqp5dESzRiSK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 고양이와 개는 몇 마리 있을까&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920572100&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_type, COUNT(animal_type)
FROM animal_ins
GROUP BY animal_type
ORDER BY animal_type&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/74</guid>
      <comments>https://it-mi.tistory.com/74#entry74comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:36:20 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 중복 제거하기</title>
      <link>https://it-mi.tistory.com/73</link>
      <description>&lt;ol&gt;
&lt;li&gt;중복 제거하기&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59408&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59408&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920507622&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 중복 제거하기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59408&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59408&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/CX0U6/hyHmMxCdCV/Hr36QORq7wUSBUhQWTjYg0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bHZmpW/hyHmKNkt4w/pYoEEJ7fm5XqldymXiO4uK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59408&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59408&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/CX0U6/hyHmMxCdCV/Hr36QORq7wUSBUhQWTjYg0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bHZmpW/hyHmKNkt4w/pYoEEJ7fm5XqldymXiO4uK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 중복 제거하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920512780&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT COUNT(DISTINCT name)
FROM animal_ins&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/73</guid>
      <comments>https://it-mi.tistory.com/73#entry73comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:35:22 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 동물 수 구하기</title>
      <link>https://it-mi.tistory.com/72</link>
      <description>&lt;ul id=&quot;tab&quot;&gt;
&lt;li&gt;동물 수 구하기&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59406&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59406&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920425975&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 동물 수 구하기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59406&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59406&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cjyt8K/hyHmDHrw3U/ote8D62epVaPKTT77SWiOK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/btFnKz/hyHlfnRFb1/9jYKtKs3UJMMnjgfj1vqe0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59406&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59406&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cjyt8K/hyHmDHrw3U/ote8D62epVaPKTT77SWiOK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/btFnKz/hyHlfnRFb1/9jYKtKs3UJMMnjgfj1vqe0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 동물 수 구하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920458922&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT COUNT(*)
FROM animal_ins&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/72</guid>
      <comments>https://it-mi.tistory.com/72#entry72comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:34:27 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 최솟값 구하기</title>
      <link>https://it-mi.tistory.com/71</link>
      <description>&lt;ol&gt;
&lt;li&gt;최솟값 구하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59038&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59038&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1598920391154&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT datetime
FROM animal_ins
ORDER BY datetime ASC
LIMIT 1&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/71</guid>
      <comments>https://it-mi.tistory.com/71#entry71comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:33:21 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 최댓값 구하기</title>
      <link>https://it-mi.tistory.com/70</link>
      <description>&lt;ol&gt;
&lt;li&gt;최댓값 구하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59415&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59415&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920318379&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 최댓값 구하기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59415&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59415&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/buvhTj/hyHlcEHtTB/uka8QkMvHpa1qg8nAkVzP1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/7r2Xl/hyHmMRUUi3/FQCRcPdSwsKo6QjYOYAsg0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59415&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59415&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/buvhTj/hyHlcEHtTB/uka8QkMvHpa1qg8nAkVzP1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/7r2Xl/hyHmMRUUi3/FQCRcPdSwsKo6QjYOYAsg0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 최댓값 구하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920330833&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT datetime
FROM animal_ins
ORDER BY datetime DESC
LIMIT 1&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/70</guid>
      <comments>https://it-mi.tistory.com/70#entry70comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:32:18 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 상위 n개 레코드</title>
      <link>https://it-mi.tistory.com/69</link>
      <description>&lt;ol&gt;
&lt;li&gt;상위 n개 레코드&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59405&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59405&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920265670&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 상위 n개 레코드&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59405&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59405&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/rnqk4/hyHk65zrIR/oMycvjK88jXeMI6DrsJaOk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/cHNBv7/hyHlheXK5U/qPjQUkgn51GQGS6dhd6Co1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59405&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59405&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/rnqk4/hyHk65zrIR/oMycvjK88jXeMI6DrsJaOk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/cHNBv7/hyHlheXK5U/qPjQUkgn51GQGS6dhd6Co1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 상위 n개 레코드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920275492&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT name
FROM animal_ins
ORDER BY datetime
LIMIT 1&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/69</guid>
      <comments>https://it-mi.tistory.com/69#entry69comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:31:21 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 여러 기준으로 정렬하기</title>
      <link>https://it-mi.tistory.com/68</link>
      <description>&lt;p&gt;여러&amp;nbsp;기준으로&amp;nbsp;정렬하기&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59404&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59404&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920216699&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 여러 기준으로 정렬하기&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59404&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59404&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/CRBZl/hyHmGKVXMl/EmWcDUj2QNT8N47WCCDiaK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bZFyLh/hyHmF6kcJT/p5kfHVWYA2DUNAqKZIwyN0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59404&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59404&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/CRBZl/hyHmGKVXMl/EmWcDUj2QNT8N47WCCDiaK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bZFyLh/hyHmF6kcJT/p5kfHVWYA2DUNAqKZIwyN0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 여러 기준으로 정렬하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920230049&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_id, name, datetime
FROM animal_ins
ORDER BY name ASC, datetime DESC&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/68</guid>
      <comments>https://it-mi.tistory.com/68#entry68comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:30:37 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 동물의 아이디와 이름</title>
      <link>https://it-mi.tistory.com/67</link>
      <description>&lt;p&gt;동물의&amp;nbsp;아이디와&amp;nbsp;이름&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59403&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59403&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1598920148999&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 동물의 아이디와 이름&quot; data-og-description=&quot;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59403&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59403&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Q9Sys/hyHhUQBQWC/Pub0KiDRfS9H8j1kDrHeo1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/cpJdO9/hyHk9nFB8P/84WMiKUMZdlsZQ8wHslaq1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59403&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/59403&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Q9Sys/hyHhUQBQWC/Pub0KiDRfS9H8j1kDrHeo1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/cpJdO9/hyHk9nFB8P/84WMiKUMZdlsZQ8wHslaq1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 동물의 아이디와 이름&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;pre id=&quot;code_1598920172068&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;-- 코드를 입력하세요
SELECT animal_id, name
FROM animal_ins
ORDER BY animal_id&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/67</guid>
      <comments>https://it-mi.tistory.com/67#entry67comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:29:39 +0900</pubDate>
    </item>
    <item>
      <title>Programmers | MySQL | 어린 동물 찾기</title>
      <link>https://it-mi.tistory.com/66</link>
      <description>&lt;p&gt;어린&amp;nbsp;동물&amp;nbsp;찾기&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/59037&quot;&gt;https://programmers.co.kr/learn/courses/30/lessons/59037&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ANIMAL_INS&lt;span&gt;&amp;nbsp;&lt;/span&gt;테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;ANIMAL_INS&lt;span&gt;&amp;nbsp;&lt;/span&gt;테이블 구조는 다음과 같으며,&lt;span&gt;&amp;nbsp;&lt;/span&gt;ANIMAL_ID,&lt;span&gt;&amp;nbsp;&lt;/span&gt;ANIMAL_TYPE,&lt;span&gt;&amp;nbsp;&lt;/span&gt;DATETIME,&lt;span&gt;&amp;nbsp;&lt;/span&gt;INTAKE_CONDITION,&lt;span&gt;&amp;nbsp;&lt;/span&gt;NAME,&lt;span&gt;&amp;nbsp;&lt;/span&gt;SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.&lt;/p&gt;
&lt;pre id=&quot;code_1598919899638&quot; class=&quot;sql&quot; data-ke-language=&quot;sql&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT animal_id, name
FROM animal_ins
WHERE intake_condition != 'aged'
ORDER BY animal_id&lt;/code&gt;&lt;/pre&gt;</description>
      <category>데이터분석/practice_query</category>
      <author>meal</author>
      <guid isPermaLink="true">https://it-mi.tistory.com/66</guid>
      <comments>https://it-mi.tistory.com/66#entry66comment</comments>
      <pubDate>Tue, 1 Sep 2020 09:28:28 +0900</pubDate>
    </item>
  </channel>
</rss>