<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>웹/앱 개발자 블로그 </title>
    <link>https://gongcha.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 5 Apr 2026 17:02:19 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>신수동이</managingEditor>
    <image>
      <title>웹/앱 개발자 블로그 </title>
      <url>https://t1.daumcdn.net/cfile/tistory/2447B0365829B25D03</url>
      <link>https://gongcha.tistory.com</link>
    </image>
    <item>
      <title>[Angular] 08. 번들링과 배포</title>
      <link>https://gongcha.tistory.com/51</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;교재 :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;Angular Development with TypeScript&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(51, 51, 51);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); font-size: 10pt;&quot;&gt;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;Angular&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;에 대해서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;alpaco 사이트에서 학습하고 내용을 정리하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Chapter08.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;font color=&quot;#4174d9&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;번들링과 배포&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;a style=&quot;color: rgb(102, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습목표 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;1. 배포 달성을 위한 목적과 Webpack의 개념에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→배포를 달성하기 위한 목적은 다음과 같다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 배포되는 웹 애플리케이션의 용량이 작아야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 브라우저에서 서버에 요청하는 HTTP 횟수가 적어야 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Webpack은 애플리케이션에서 사용하는 CSS 스타일이나 이미지를 모두 모아 한 파일로 번들링하며, 설정 방법도 간단하다. Webpack은 브라우저에서 실행되는 웹 애플리케이션에 특화되어 만들어졌으며, 별다른 플러그인 없이도 간단한 설정으로 웹 애플리케이션 빌드 작업을 자동화할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;2. Angular CLI 커맨드에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→ng serve: 번들링 결과물을 메모리에 생성하고 이 애플리케이션을 제공하는 서버를 실행한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;ng build: 애플리케이션을 JavaScript 코드로 변환하고 의존성 패키지를 모두 번들링한다. 번들링 결과물은 dist 폴더에 생성된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습내용&amp;nbsp; :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이번 차시에서는 번들링과 배포에 대해 학습합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;8차시 학습에서 중요한 키워드는 &lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;[Grunt와 Gulp], [Webpack], [Angular CLI]&lt;/span&gt;&lt;/b&gt;입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;각 키워드에 대한 설명은 다음과 같습니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[Grunt와 Gulp]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Grunt와 Gulp는 널리 알려진 범용 태스크 러너다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[Webpack]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Webpack은 브라우저에서 실행되는 웹 애플리케이션에 특화되어 만들어졌으며, 별다른 플러그인 없이도 간단한 설정으로 웹 애플리케이션 빌드 작업을 자동화할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[Angular CLI]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Angular CLI는 커맨드라인 툴이며 Angular 애플리케이션의 기본 툴을 만드는 것부터 시작해서 컴포넌트나 모듈, 서비스를 커맨드라인 명령을 생성하고, 테스트나 빌드도 실행하며, 배포까지 자동화해서 Angular 애플리케이션 전체 개발 단계에 적용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습요약 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 프로그래밍 언어나 프레임워크에 관계없이, 배포는 다음 목적을 달성하기 위해 수행한다. 두 가지 모두 애플리케이션을 빠르게 실행하기 위한 것이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 배포되는 웹 애플리케이션의 용량이 작아야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 브라우저에서 서버에 요청하는 HTTP 횟수가 적어야 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• JavaScript 웹 애플리케이션을 배포하는 툴은 여러 개가 있으며, 기본적으로 Node 환경을 사용하고 패키지 매니저로 설치할 수 있다. 배포 툴은 다음 두 종류로 나눌 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 태스크 러너&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 모듈 로더와 번들러&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Grunt와 Gulp는 널리 알려진 범용 태스크 러너다. 하지만 이 툴들은 JavaScript 애플리케이션에 특화된 것은 아니며, Node.js 환경에서 실행되는 작업을 정의하고 실행하기만 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Webpack은 애플리케이션에서 사용하는 CSS 스타일이나 이미지를 모두 모아 한 파일로 번들링하며, 설정 방법도 간단하다. Webpack은 브라우저에서 실행되는 웹 애플리케이션에 특화되어 만들어졌으며, 별다른 플러그인 없이도 간단한 설정으로 웹 애플리케이션 빌드 작업을 자동화할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 일반적으로 빌드 자동화 도구는 빌드 과정을 커스터마이징할 수 있는 기능을 제공하는데, Webpack에서는 이때 로더와 플러그인을 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 로더는 어떤 파일을 다른 형식으로 변환할 때 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 어떤 경우에는 로더가 실행되기 전에 미리 처리해야 하는 작업이 있을 수 있다. 예를 들면 TypeScript 파일을 JavaScript 파일로 변환하기 전에 TSLint 툴로 검사해서 코드의 가독성이나 유지보수 편의성, 코딩 스타일을 확인할 수 있는데, Webpack 설정 파일의 preLoaders 항목에 이 작업을 등록할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;preLoaders : [&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;{&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;nbsp; &amp;nbsp;test : /\.ts$/,&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;nbsp; &amp;nbsp;exclude : /node_modules/,&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;nbsp; &amp;nbsp;loader : “tslint”&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;]&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• arn build 명령 대신 yarn start 명령을 실행하면 webpack-dev-server이 코드를 번들링하는데, 번들링 결과물을 dist 폴더에 만드는 대신 메모리에 올려서 서버로 제공한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular CLI는 커맨드라인 툴이며 Angular 애플리케이션의 기본 툴을 만드는 것부터 시작해서 컴포넌트나 모듈, 서비스를 커맨드라인 명령을 생성하고, 테스트나 빌드도 실행하며, 배포까지 자동화해서 Angular 애플리케이션 전체 개발 단계에 적용할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 다음 명령을 실행하면 Angular CLI를 전역에 설치한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;npm install -g @angular/cli&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular CLI를 설치하면 커맨드라인데 ng 명령을 실행할 수 있다. 먼저, 새 프로젝트를 생성하려면 new 커맨드를 사용한다. 이때 프로젝트 이름을 밑줄(_)을 사용할 수 없고, 문자와 숫자, 대시 기호(-)만 사용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular CLI는 Angular 애플리케이션을 관리하는 커맨드를 제공한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ng serve: 번들링 결과물을 메모리에 생성하고 이 애플리케이션을 제공하는 서버를 실행한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ne generate: 프로젝트에 Angular 구성 요소를 추가한다. 커맨드를 축약해서 ng g로 사용할 수도 있다. 이 명령으로 생성할 수 있는 목록을 확인하려면 ng help generate를 실행해보자. 컴포넌트와 서비스는 다음과 같이 생성한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ng g c &amp;lt;컴포넌트 이름&amp;gt;: 컴포넌트를 추가한다. 이 명령을 실행하면 TypeScript 소스 파일과 TypeScript 유닛 테스트 파일, 템플릿용 HTML 파일, 스타일용 CSS 파일을 함께 만든다. 템플릿과 스타일을 인라인으로 구성하려면 ng g c &amp;lt;컴포넌트 이름&amp;gt; --inline-styles --inline-template 명령을 실행하면 된다. 테스트 파일을 만들지 않으려면 --spec=false 옵션을 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ng g s &amp;lt;서비스 이름&amp;gt;: 서비스를 추가한다. 이 명령을 실행하면 TypeScript 소스 파일과 TypeScript 유닛 테스트 파일을 만든다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ng test: Karma 테스트 러너를 실행해서 유닛 테스트를 수행한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ng build: 애플리케이션을 JavaScript 코드로 변환하고 의존성 패키지를 모두 번들링한다. 번들링 결과물은 dist 폴더에 생성된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 애플리케이션 코드를 번들링하고 빌드하는 과정은 개발 초기부터 자동화되어야 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 애플리케이션을 번들링하면 파일을 내려받는 서버 요청 횟수가 줄어들고, 불필요한 네트워크 사용량도 줄일 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 소스맵을 생성하면 TypeScript 소스 코드를 보면서 디버깅할 수 있고, 브라우저에서 개발자도구를 열었을 때만 소스맵이 적용된다. 운영 모드로 빌드할 때도 소스맵은 생성하는 것이 좋다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 빌드 작업과 배포 작업은 npm 스크립트를 사용하자. npm 스크립트는 아주 단순하며 Node 환경에서는 이미 설치되어있기 때문에 다른 툴을 추가로 설치할 필요도 없다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 개발 과정을 자동화하는 Angular CLI를 사용해서 프로젝트를 만들어 보는 것도 좋다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;div&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>Angular</category>
      <category>Angular CLI</category>
      <category>Grunt</category>
      <category>Gulp</category>
      <category>Webpack</category>
      <category>배포</category>
      <category>번들링</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/51</guid>
      <comments>https://gongcha.tistory.com/51#entry51comment</comments>
      <pubDate>Sat, 8 Sep 2018 15:37:08 +0900</pubDate>
    </item>
    <item>
      <title>[Angular] 07. 유닛 테스트</title>
      <link>https://gongcha.tistory.com/50</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;교재 :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;Angular Development with TypeScript&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(51, 51, 51);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); font-size: 10pt;&quot;&gt;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;Angular&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;에 대해서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;alpaco 사이트에서 학습하고 내용을 정리하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Chapter07.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;font color=&quot;#4174d9&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;유닛 테스트&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;a style=&quot;color: rgb(102, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습목표 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;1. 유닛 테스트와 엔드 투 엔드 테스트의 개념에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→유닛 테스트(Unit testing): 컴포넌트나 함수 단위의 작은 코드를 테스트하며, 입력하는 데이터를 바꿔가면서 원하는 동작을 실행하는지 검사하는 방식이다. 엔드 투 엔드 테스트(End-to-end testing): 애플리케이션 완전히 동작하는 상태에서 사용자의 행동에 따라 애플리케이션의 각 부분이 정해진 대로 동작하는지 확인하는 방식이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;2. 함수 테스트와 클래스 테스트의 개념에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→함수 테스트: 문자열로 인자로 받아 대문자로 변환하는 함수가 있다고 하자. 그러면 이 함수를 테스트하기 위해 null, undefined, 빈 문자열, 소문자 단어, 대문자 단어, 대소문자가 섞인 단어, 숫자를 인자로 전달하는 테스트 케이스를 만들 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;클래스 테스트: 클래스 안에 함수가 있는 경우는 이 메소드들이 제대로 동작하는지 확인하는 테스트 스펙을 각각 작성하고, 이 스펙들을 묶어 테스트 스윗을 구성할 수 있다. Angular에서는 서비스도 클래스이기 때문에, 이 방법으로 서비스를 테스트할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;3. Karma의 개념에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→Karma는 원래 AngularJS 팀 내부에서 사용하려고 만든 테스트 러너지만, 이제는 JavaScript 코드를 테스트하는 일반적인 도구가 되었다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;또 Karma는 Node.js로 작성되었기 때문에 커맨드창에서 여러 브라우저를 동시에 띄우면서 애플리케이션이 제대로 동작하는지 확인할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습내용&amp;nbsp; :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이번 차시에서는 유닛 테스트에 대해 학습합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;7차시 학습에서 중요한 키워드는 &lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;[유닛 테스트(Unit testing)], [엔드 투 엔드 테스트(End-to-end testing)], [스펙(spec)]&lt;/span&gt;&lt;/b&gt;입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;각 키워드에 대한 설명은 다음과 같습니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b style=&quot;&quot;&gt;[유닛 테스트(Unit testing)]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;유닛 테스트(Unit testing)는 컴포넌트나 함수 단위의 작은 코드를 테스트하며, 입력하는 데이터를 바꿔가면서 원하는 동작을 실행하는지 검사하는 방식이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[엔드 투 엔드 테스트(End-to-end testing)]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;엔드 투 엔드 테스트(End-to-end testing)는 애플리케이션 완전히 동작하는 상태에서 사용자의 행동에 따라 애플리케이션의 각 부분이 정해진 대로 동작하는지 확인하는 방식이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[스펙(spec)]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Jasmine에서는 테스트 케이스 하나를 스펙(spec)이라고 하고, 하나 이상의 스펙을 묶은 것을 스윗(suite)이라고 한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습요약 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 애플리케이션 코드는 정기적으로 테스트해야 하며, 필요할 때마다 실행할 수 있도록 테스트 과정을 자동화해야 한다. 테스트 스크립트를 작성해두고 최대한 자주 실행하면, 나중에 큰 문제가 되어 돌아오는 것을 막을 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 유닛 테스트(Unit testing): 컴포넌트나 함수 단위의 작은 코드를 테스트하며, 입력하는 데이터를 바꿔가면서 원하는 동작을 실행하는지 검사하는 방식이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 엔드 투 엔드 테스트(End-to-end testing): 애플리케이션 완전히 동작하는 상태에서 사용자의 행동에 따라 애플리케이션의 각 부분이 정해진 대로 동작하는지 확인하는 방식이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 부하 테스트(Load testing)나 스트레스 테스트(Stress testing)는 애플리케이션이 얼마나 많은 동시 접속자를 처리할 수 있는지 테스트하는 방법이며, 애플리케이션보다는 서버의 성능을 테스트화하는 방법이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Jasmine을 사용하면 특정 행동에 대한 반응을 정의하는 방식(BDD, behavior-driven development)으로 개발을 진행할 수 있다. 예를 들면 “ApplicationComponent 인스턴스가 제대로 생성되어야 해”라는 식으로, 코드가 정상적으로 실행되었을 때의 행동을 문장으로 기술하는 방식이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Jasmine에서는 테스트 케이스 하나를 스펙(spec)이라고 하고, 하나 이상의 스펙을 묶은 것을 스윗(suite)이라고 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular 애플리케이션은 함수와 클래스, 컴포넌트를 테스트할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 함수 테스트: 문자열로 인자로 받아 대문자로 변환하는 함수가 있다고 하자. 그러면 이 함수를 테스트하기 위해 null, undefined, 빈 문자열, 소문자 단어, 대문자 단어, 대소문자가 섞인 단어, 숫자를 인자로 전달하는 테스트 케이스를 만들 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 클래스 테스트: 클래스 안에 함수가 있는 경우는 이 메소드들이 제대로 동작하는지 확인하는 테스트 스펙을 각각 작성하고, 이 스펙들을 묶어 테스트 스윗을 구성할 수 있다. Angular에서는 서비스도 클래스이기 때문에, 이 방법으로 서비스를 테스트할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 컴포넌트 테스트: 컴포넌트에서 외부로 공개된 API를 테스트할 수 있다. 여기에서 말하는 공개된 API는 외부에서 접근할 수 있는 프로퍼티나 함수를 의미한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular는 Jasmine의 describe(), it(), xit() 함수를 랩핑한 테스트 라이브러리를 지원하며, 추가로 async(), fakeAsync()와 같은 함수도 제공한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular 테스트 라이브러리의 NgMatchers 인터페이스는 다음과 같은 매처를 제공한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toBePromise(): 프로미스여야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toBeAnInstanceOf(): 인자로 전달하는 클래스의 인스턴스여야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toHaveText(): 인자로 전달하는 문자열이 엘리먼트의 문자열에 있어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toHaveCssClass(): 인자로 전달하는 CSS 클래스가 엘리먼트에 지저오딘 클래스 중에 있어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toHaveCssStyle(): 인자로 전달하는 CSS 스타일이 엘리먼트의 스타일 중에 있어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toImplement(): 인자로 전달하는 인터페이스로 구현된 클래스여야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toContainError(): 인자로 전달하는 문자열이 예외 객체 있어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toThrowErrorWith(): 평가하는 함수에서 에러가 발생하고, 인자로 전달하는 문자열이 이 에러에 있어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; toMatchPattern(): 인자로 전달하는 정규표현식에 적합한 문자열이어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• JavaScript 애플리케이션을 Jasmine 프레임워크로 테스트할 때 JavaScript나 TypeScript로 직접 작성한 테스트 스윗을 사용할 수 있는데, 이 테스트 케이스 정의 파일은 애플리케이션 파일과 같은 폴더에 두고 함께 관리할 수도 있고, 다른 폴더에 두고 용도에 맞게 실행할 수도 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 컴포넌트와 관련된 팡리을 전부 한 폴더에서 관리할 수 있다. 컴포넌트를 구성하는 .ts, .html, .css 파일이 있는 폴더에 테스트 정의 파일인 .spec.ts 파일을 함께 두면 폴더를 새로 만들 필요도 없다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 애플리케이션 구성요소가 있는 곳에 테스트 케이스 파일도 있기 때문에 SystemJS 설정을 수정할 필요가 없다. 이미 저장된 SystemJS 대상 폴더에서 테스트 케이스 정의 파일만 불러와 테스트를 실행할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터를 테스트하려면 테스트 스펙에서 navigate() 함수는 navigateByUrl() 함수를 사용한다. 이때 라우터 설정을 인자로 받아 테스트하려면 navigate() 함수를 사용하고, 원하는 주소를 문자열로 받아 테스트하려면 navigateByUrl() 함수를 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 컴포넌트는 클래스와 템플릿으로 구성되는데, 클래스에 있는 메소드는 일반 함수를 테스트하는 것과 같은 방법으로 테스트할 수 있으며, 템플릿은 바인딩된 데이터가 제대로 표시되는지 확인하는 방식으로 테스트할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Karma는 원래 AngularJS 팀 내부에서 사용하려고 만든 테스트 러너지만, 이제는 JavaScript 코드를 테스트하는 일반적인 도구가 되었다. 또 Karma는 Node.js로 작성되었기 때문에 커맨드창에서 여러 브라우저를 동시에 띄우면서 애플리케이션이 제대로 동작하는지 확인할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;div&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>Angular</category>
      <category>End-to-End testing</category>
      <category>unit test</category>
      <category>스펙</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/50</guid>
      <comments>https://gongcha.tistory.com/50#entry50comment</comments>
      <pubDate>Sat, 8 Sep 2018 15:34:45 +0900</pubDate>
    </item>
    <item>
      <title>[Angular] 06. 서버와 데이터 주고받기</title>
      <link>https://gongcha.tistory.com/49</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;교재 :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;Angular Development with TypeScript&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(51, 51, 51);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); font-size: 10pt;&quot;&gt;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;Angular&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;에 대해서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;alpaco 사이트에서 학습하고 내용을 정리하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Chapter06.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;font color=&quot;#4174d9&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;서버와 데이터 주고받기&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;a style=&quot;color: rgb(102, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습목표 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;1. 프로미스의 단점에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→프로미스의 단점은 다음과 같다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 서버로 보낸 요청을 취소할 수 없다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 프로미스의 작업이 성공하면 결과 데이터를 받고, 작업이 실패하면 에러 객체를 받겠지만, 두 경우 모두 데이터 하나를 처리한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;프로미스에서는 연속적인 데이터를 처리하는 방법이 없다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습내용&amp;nbsp; :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이번 차시에서는 서버와 데이터 주고받기에 대해 학습합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;6차시 학습에서 중요한 키워드는 &lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;[Http 클래스], [TypeScript 패키지], [웹 소켓 프로토콜]&lt;/span&gt;&lt;/b&gt;입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;각 키워드에 대한 설명은 다음과 같습니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[Http 클래스]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Http 클래스는 @angular/http 패키지로 제공되며, Http 객체 외에도 몇 가지 클래스와 인터페이스들이 정의되어 있다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[TypeScript 패키지]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;TypeScript 패키지는 Node.js 서버 코드를 컴파일할 때 사용하지만, 클라이언트 코드를 브라우저에서 컴파일할 때도 사용하기 때문에 일반 의존성으로 설치한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[웹 소켓 프로토콜]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;웹소켓 프로토콜은 데이터가 동시에 양쪽으로 전달되는 전이중(full-duplex) 방식이다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습요약 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 웹 애플리케이션은 HTTP 요청을 비동기로 처리하기 때문에 HTTP 요청을 보낸 후에도 사용자가 하던 작업을 계속할 수 있고, 서버의 응답이 도착했을 때 데이터를 처리하거나 화면을 동적을 갱신할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 비동기 HTTP 요청은 콜백 함수나 프로미스, 옵저버블로 구현할 수 있으며, 콜백 함수를 쓰는 것보다는 프로미스를 쓰는 것이 더 좋지만, 프로미스는 다음과 같은 단점이 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 서버로 보낸 요청을 취소할 수 없다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 프로미스의 작업이 성공하면 결과 데이터를 받고, 작업이 실패하면 에러 객체를 받겠지만, 두 경우 모두 데이터 하나를 처리한다. 프로미스에서는 연속적인 데이터를 처리하는 방법이 없다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Http 클래스는 @angular/http 패키지로 제공되며, Http 객체 외에도 몇 가지 클래스와 인터페이스들이 정의되어 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• TypeScript 패키지는 Node.js 서버 코드를 컴파일할 때 사용하지만, 클라이언트 코드를 브라우저에서 컴파일할 때도 사용하기 때문에 일반 의존성으로 설치한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;yarn add typescript&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• TypeScript 패키지가 전역에 설치되어 있거나, 로컬에 설치되어 있어도 yarn을 사용한다면 커맨드 창에서 다음과 같이 실행한다&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;tsc -w&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;npm을 사용하면 위와 같이 사용하기 위해 TypeScript 컴파일러를 전역에 설치하려면 다음 명령을 실행하면 된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;npm i -g typescript&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 간단한 HTTP GET 요청을 보내는 방법을 알아보면, Http 객체의 get() API는 다음 코드처럼 사용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;constructor (private http : Http) {&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;this.http.get(‘/products’).subscribe(…);&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 웹에서 리소스를 가져오는 과정을 효율적으로 개선하기 위한 시도가 계속되고 있다. 그 중 Fetch API는 XMLHttpRequest 객체를 대신하는 용도로 제안된 표준이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Fetch에서는 Request와 Response 객체를 제네릭으로 정의하기 때문에, HTTP뿐 아니라 최근에 만들어진 서비스 워커나 Cache API에도 적용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• HTTP 요청은 전역 fetch() 함수를 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;fetch(‘https://www.google.com/search?q=fetch+api’)&amp;nbsp; … ①&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;nbsp; &amp;nbsp; .then(response =&amp;gt; response.text())&amp;nbsp; … ②&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;nbsp; &amp;nbsp; .then(result =&amp;gt; console.log(result));&amp;nbsp; … ③&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;① : fetch() 함수에는 접근하려는 리소스의 URL만 입력한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;② : fetch() 함수는 프로미스를 반환하는데, HTTP 응답 코드와 관계없이 통신에 성공한 경우라면 Response 객체를 Promise.resolve()로 전달한다. 이 코드에서는 서버 응답을 일반 텍스트로 변환한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;③ : 서버에서 받아온 데이터는 애플리케이션에서 처리할 수 있으며, 이 코드에서는 콘솔이 출력한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular가 제공하는 AsyncPipe는 템플릿에서 async로 사용하며, 프로미스나 옵저버블을 자동으로 구독한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 웹소켓은 간단한 바이너리 프로토콜이며 최근 브라우저에서 모두 지원한다. HTTP 방식에서는 데이터가 필요할 때마다 서버로 요청을 보내고 응답이 돌아올 때까지 기다려야 하는데, 이런 방식을 반이중(half-duplex) 방식이라고 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 웹소켓 프로토콜은 데이터가 동시에 양쪽으로 전달되는 전이중(full-duplex) 방식이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 웹소켓은 서버와 클라이언트가 연결된 채로 유지되기 때문에 데이터를 주고 받을 때 좀 더 빠르다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 일반적으로 HTML 문서, 이미지, CSS, JavaScript 코드는 서버에서 정적 리소스로 제공한다. 이 리소스들은 서버에서 처리되지 않고 브라우저가 내려받아 실행하는데, Angular 애플리케이션 코드는 TypeScript로 작성되고 브라우저에서 SystemJS를 통해 JavaScript로 변환되기 때문에 다른 리소스와 마찬가지로 정적으로 제공되는 것이 바람직하다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular가 제공하는 AsyncPipe는 템플릿에서 async로 사용되며, 프로미스나 옵저버블을 자동으로 구독한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 웹소켓을 옵저버블로 랩핑할 때 new 키워드 대신 Observable.create() 함수를 사용하는 방법도 있고, RxJS의 Observable 모듈에서 제공하는 webSocket() 함수를 바로 사용하는 방법도 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular와 RxJS를 함께 사용하면 서버에서 받은 데이터를 일관된 방식으로 처리할 수 있는데, HTTP 요청이나 웹소켓 연결을 옵저버블로 변환해서 데이터를 받아오고, 필요한 곳에서 이 옵저버블 스트림을 구독해서 처리하면 된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular가 제공하는 Http 객체를 사용해서 웹 서버와 HTTP 통신을 할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• HTTP 서비스 프로바이더는 HttpModule에 정의되어 있다. 애플리케이션에서 HTTP 모듈을 사용한다면 @NgModule 어노테이션에 HttpModule을 추가하는 것을 잊지 말자.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Http 모듈에 정의되어 있는 함수는 Observable 객체를 반환하는데, 이 객체를 구독하는 시점에 실제 Http 요청이 발생한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 웹소켓은 HTTP보다 좀 더 간결하고 휴율적인 프로토콜이다. 웹소켓은 양방향 프로토콜이기 때문에, 클라이언트와 서버 양쪽에서 데이터를 자유롭게 보낼 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular 클라이언트는 어떠한 웹 서버와도 통신할 수 있지만, Node.js와 Express를 사용해서 웹 서버를 만드는 것이 비교적 간단하다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;div&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>Angular</category>
      <category>http</category>
      <category>Typescript 패키지</category>
      <category>웹 소켓 프로토콜</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/49</guid>
      <comments>https://gongcha.tistory.com/49#entry49comment</comments>
      <pubDate>Sat, 8 Sep 2018 15:26:39 +0900</pubDate>
    </item>
    <item>
      <title>[Angular] 05. 컴포넌트 통신과 폼 처리하기</title>
      <link>https://gongcha.tistory.com/48</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;교재 :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;Angular Development with TypeScript&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(51, 51, 51);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); font-size: 10pt;&quot;&gt;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;Angular&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;에 대해서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;alpaco 사이트에서 학습하고 내용을 정리하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Chapter05.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;font color=&quot;#4174d9&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;컴포넌트 통신과 폼 처리하기&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;a style=&quot;color: rgb(102, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습목표 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;1. Angular의 프로젝션 사용 방법에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→Angular의 프로젝션에 대한 사용 방법은 다음과 같다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 자식 컴포넌트 템플릿에 &amp;lt;ng-content&amp;gt; 태그를 추가해서 부모 컴포넌트가 보내는 템플릿이 위치할 곳을 지정한다. 라우터를 사용할 때 &amp;lt;router-outlet&amp;gt;을 지정하는 것과 비슷하다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 부모 컴포넌트에서는 자식 컴포넌트 태그 안쪽에 원하는 내용을 넣는다. 자식 컴포넌트를 표현하는 태그가 &amp;lt;my-child&amp;gt;라면 다음과 같이 사용하며, 이 코드에서는 &amp;lt;my-child&amp;gt; 태그 안쪽에 있는 &amp;lt;div&amp;gt; 태그가 자식 컴포넌트로 전달된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;2. 컴포넌트 생명주기에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→ngAfterContnetInit(): ngContent 디렉티브를 사용해서 자식 컴포넌트에 HTML 조각을 전달하면, 자식 컴포넌트가 초기화 된 이후에 실행된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;ngAfterContentChecked(): ngContent 디렉티브를 통해 부모 컴포넌트에서 HTML 조각을 받은 직후에 자식 컴포넌트 쪽에서 실행된다. ngContent에 바인딩된 항목이 있으면 이 항목의 값이 변경된 경우에도 실행된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;3. 템플릿 기반의 폼과 반응형 폼 방식의 차이점에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;→템플릿 기반의 폼과 반응형 폼 방식의 차이점은 다음과 같다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 두 방식 모두 폼 데이터를 저장하는 데이터 구조가 있다. 템플릿 기반 폼에서는 디렉티브를 사용해서 템플릿에 모델을 정의하며, 반응형 폼에서는 TypeScript 코드로 모델을 정의하고 HTML 템플릿에 각 항목을 연결한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 반응형 폼에서는 아무 객체나 모델이 될 수 있는 것은 아니다. 모델은 @angular/forms 모듈의 FormControl, FormGroup, FormArray를 사용하는 클래스 객체여야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 반응형 폼으로 폼을 구성하더라도, 화면을 구성하는 HTML 템플릿은 여전히 필요하다. 폼 컨트롤이 연결될 HTML 엘리먼트는 템플릿에서 정의해야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습내용&amp;nbsp; :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이번 차시에서는 컴포넌트 통신과 폼 처리하기에 대해 학습합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;5차시 학습에서 중요한 키워드는 &lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;[프로젝션(Projection)], [NgForm], [폼 유효성 검사]&lt;/span&gt;&lt;/b&gt;입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;각 키워드에 대한 설명은 다음과 같습니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[프로젝션(Projection)]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Angular는 부모 컴포넌트 템플릿의 일부분을 자식 컴포넌트 템플릿에 넣을 수 있는 기능을 제공하며, ngContent 디렉티브를 사용한다. 이 기능은 AngularJS에서는 트랜스클루전(transclusion)이라고 했지만, 프로젝션(Projection)이라는 용어로 변경되었다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;[NgForm]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;NgForm은 폼 전체를 가리키는 디렉티브이며, 폼 모듈을 로드하면 모든 엘리먼트에 이 디렉티브가 자동으로 적용된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;[폼 유효성 검사]&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;폼 유효성 검사는 템플릿 기반의 폼과 반응형 폼 모두 사용할 수 있으며, TypeScript 함수로 만든 유효성 검사기(validator)를 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습요약 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 애플리케이션을 구성하는 각 컴포넌트는 서로 독립적이어야 하고, 다른 컴포넌트를 최대한 신경 쓰지 않는 것이 좋다. 이렇게 컴포넌트들의 결합도를 낮게 유지하면서 서로 데이터를 주고 받으려면 중개자 패턴(The Mediator pattern)을 사용하는 것이 좋으며, 위키피디아 문서 중에 “캡슐화된 객체 간 연동하기” 문서를 찾아보는 것도 좋다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular는 부모 컴포넌트 템플릿의 일부분을 자식 컴포넌트 템플릿에 넣을 수 있는 기능을 제공하며, ngContent 디렉티브를 사용한다. 이 기능은 AngularJS에서는 트랜스클루전(transclusion)이라고 했지만, 프로젝션(Projection)이라는 용어로 변경되었다. 사용 방법은 아주 간단하다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 자식 컴포넌트 템플릿에 &amp;lt;ng-content&amp;gt; 태그를 추가해서 부모 컴포넌트가 보내는 템플릿이 위치할 곳을 지정한다. 라우터를 사용할 때 &amp;lt;router-outlet&amp;gt;을 지정하는 것과 비슷하다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 부모 컴포넌트에서는 자식 컴포넌트 태그 안쪽에 원하는 내용을 넣는다. 자식 컴포넌트를 표현하는 태그가 &amp;lt;my-child&amp;gt;라면 다음과 같이 사용하며, 이 코드에서는 &amp;lt;my-child&amp;gt; 태그 안쪽에 있는 &amp;lt;div&amp;gt; 태그가 자식 컴포넌트로 전달된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;template : ‘&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;…&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;lt;my-child&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;lt;div&amp;gt;Passing this div to the child&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;lt;my-child&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;…&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;‘&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• innerHTML로 직접 바인딩하기&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 컴포넌트 프로퍼티에 HTML 조각을 저장하고 있다면, 이 내용을 컴포넌트 템플릿의 innerHTML 프로퍼티로 직접 바인딩할 수도 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;lt;p [innerHTML]=”myComponentProperty”&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;하지만 innerHTML을 바인딩하는 것보다는 ngContent를 사용하는 것이 좋다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; innerHTML은 브라우저에 따라 동작하지 않을 수 있다. ngContent느 Angular에서 제공하는 기능이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ngContent를 사용하면 여러 구역에 나뉘어 전달될 HTML을 한 번에 지정할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ngContent를 사용하면 부모 컴포넌트의 프로퍼티를 HTML에 실어 전달할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 컴포넌트 생명주기와 관련된 함수&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ngAfterContnetInit(): ngContent 디렉티브를 사용해서 자식 컴포넌트에 HTML 조각을 전달하면, 자식 컴포넌트가 초기화 된 이후에 실행된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ngAfterContentChecked(): ngContent 디렉티브를 통해 부모 컴포넌트에서 HTML 조각을 받은 직후에 자식 컴포넌트 쪽에서 실행된다. ngContent에 바인딩된 항목이 있으면 이 항목의 값이 변경된 경우에도 실행된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ngAfterViewChecked(): 컴포넌트 템플릿에 바인딩된 항목의 값이 변경되면 실행된다. 이 함수는 컴포넌트 내부나 외부에서 발생한 변경 사항을 반영하기 위해 여러 번 호출될 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• HTML 표준 폼은 다음과 같은 점에서 SPA에 적합하지 않다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 각 입력 필드에 유효성 검증 로직이 적용되어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 에러 메시지는 문제가 발생한 입력 필드 근처에 표시되는 것이 좋다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 연관된 항목은 유효성 검사를 할 때도 같이 검사해야 한다. 이 폼에는 비밀번호를 받는 필드와 비밀번홀르 확인하는 필드가 연관되어 있기 때문에, 어느 한 필드의 값이 변경되면 다른 필드도 다시 검사해야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 데이터를 서버로 보낼 때 애플리케이션에서 이 과정을 조작할 수 있어야 한다. 이 말은 사용자가 제출 버튼을 클릭했을 때 폼의 데이터를 원하는 이벤트 핸들러 함수로 보낼 수 있어야 한다는 것이다. 그리고 이 함수에서 데이터의 유효성이나 형식을 확인하고, 필요한 경우에는 폼의 데이터를 원하는 형태로 변환해서 서버로 보낼 수 있어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 데이터를 서버로 보낼 때 일반적인 HTTP 요청이나 AJAX 요청으로 보낼지, WebSocket을 사용할지 결정할 수 있어야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular에서 폼을 처리하는 방식은 템플릿 기반 폼 방식과 반응형 폼 방식이 있다. 두 방식은 서로 다른 API를 사용하는데, 템플릿 기반 폼은 템플릿에서 디렉티브를 사용하고 반응형 폼은 클래스 코드에서 폼 컨트롤을 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 템플릿 기반의 폼과 반응형 폼 방식의 차이점&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 두 방식 모두 폼 데이터를 저장하는 데이터 구조가 있다. 템플릿 기반 폼에서는 디렉티브를 사용해서 템플릿에 모델을 정의하며, 반응형 폼에서는 TypeScript 코드로 모델을 정의하고 HTML 템플릿에 각 항목을 연결한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 반응형 폼에서는 아무 객체나 모델이 될 수 있는 것은 아니다. 모델은 @angular/forms 모듈의 FormControl, FormGroup, FormArray를 사용하는 클래스 객체여야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 반응형 폼으로 폼을 구성하더라도, 화면을 구성하는 HTML 템플릿은 여전히 필요하다. 폼 컨트롤이 연결될 HTML 엘리먼트는 템플릿에서 정의해야 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 템플릿 기반의 폼에서는 모델을 정의할 때 디렉티브만 사용할 수 있으며, 이때 사용되는 디렉티브는 FormModule에 있는 NgModel, NgModelGroup, NgForm이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; NgForm은 폼 전체를 가리키는 디렉티브이며, 폼 모듈을 로드하면 모든 &amp;lt;form&amp;gt; 엘리먼트에 이 디렉티브가 자동으로 적용된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 일반적인 데이터 바인딩과 비교해볼 때 폼 API를 사용하면 폼의 유효성을 검사하는 로직을 구현할 때 좀 더 편하다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 폼 유효성 검사는 템플릿 기반의 폼과 반응형 폼 모두 사용할 수 있으며, TypeScript 함수로 만든 유효성 검사기(validator)를 사용한다. 다만, 반응형 폼에서는 유효성 검사기를 직접 사용하고, 템플릿 기반의 폼에서는 유효성 검사기를 커스텀 디렉티브로 변환해서 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>Angular</category>
      <category>NgForm</category>
      <category>projection</category>
      <category>폼 유효성 검사</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/48</guid>
      <comments>https://gongcha.tistory.com/48#entry48comment</comments>
      <pubDate>Sat, 8 Sep 2018 15:22:45 +0900</pubDate>
    </item>
    <item>
      <title>[Angular] 04. 바인딩, 옵저버블, 파이프</title>
      <link>https://gongcha.tistory.com/47</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;교재 :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;Angular Development with TypeScript&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(51, 51, 51);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); font-size: 10pt;&quot;&gt;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;Angular&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;에 대해서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;alpaco 사이트에서 학습하고 내용을 정리하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Chapter04.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;font color=&quot;#4174d9&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;바인딩, 옵저버블, 파이프&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;a style=&quot;color: rgb(102, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습목표 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;1.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;여러 가지 유형의 데이터 바인딩 사용 방법에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255);&quot;&gt;→&lt;/span&gt;&lt;/font&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이벤트 바인딩은 이벤트에 함수를 연결하고, 이벤트가 발생하면 이 함수를 실행한다. 어트리뷰트 바인딩은 HTML 엘리먼트 어트리뷰트에 있는 텍스트 값을 갱신할 때 실행한다. 프로퍼티 바인딩은 DOM 객체 프로퍼티에 있는 값을 갱신할 때 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;옵저버블 스트림의 처리와 옵저블 객체의 콜백 함수에 대해 설명할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255);&quot;&gt;→&lt;/span&gt;&lt;/font&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;옵저버블 스트림이 처리하는 경우는 다음과 같다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 다음 엘리먼트를 전달한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 에러를 전달한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 스트리밍이 종료되었다는 신호를 전달한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;옵저버 객체가 가질 수 있는 콜백 함수는 다음과 같다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 다음 엘리먼트를 받았을 때 처리하는 함수&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 에러를 받았을 때 처리하는 함수&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;- 데이터 스트림이 끝났을 때 실행하는 함수&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습내용&amp;nbsp; :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이번 차시에서는 바인딩, 옵저버블, 파이프에 대해 학습합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;4차시 학습에서 중요한 키워드는 &lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;&lt;b&gt;[데이터 바인딩], [옵저버블], [스트림]&lt;/b&gt;&lt;/span&gt;입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;각 키워드에 대한 설명은 다음과 같습니다.&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[데이터 바인딩]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;데이터 바인딩은 애플리케이션의 데이터를 화면과 연결하는 기능이다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[옵저버블]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;옵저버블은 소켓이나 배열, 화면에서 발생한 이벤트 등과 같은 데이터 소스를 한번에 하나씩, 연속으로 보내는(스트리밍, streaming) 객체다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[스트림]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;스트림은 애플리케이션에 전달되는 데이터 컬렉션이다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습요약 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 데이터 바인딩은 애플리케이션의 데이터를 화면과 연결하는 기능이며, 데이터 바인딩을 사용하면 개발자가 직접 코딩해야 하는 양을 많이 줄일 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 여러 가지 유형의 데이터 바인딩 사용 방법&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 이벤트 바인딩은 이벤트에 함수를 연결하고, 이벤트가 발생하면 이 함수를 실행한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 어트리뷰트 바인딩은 HTML 엘리먼트 어트리뷰트에 있는 텍스트 값을 갱신할 때 실행한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 프로퍼티 바인딩은 DOM 객체 프로퍼티에 있는 값을 갱신할 때 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 템플릿 바인딩은 뷰 템플릿을 조작할 때 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 양방향 데이터 바인딩은 ngModel을 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 양방향 데이터 바인딩은 뷰와 모델을 강하게 결합하는 방법이며, 뷰에 있는 값이 바뀌면 모델의 값이 바로 동기화되고, 반대로 모델의 값이 바뀌면 뷰에 있는 값이 바로 동기화된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 반응형 프로그래밍은 옵저버블 이벤트 스트림을 구독하고, 이 스트림에 반응하는 방식으로 동작하는 애플리케이션을 만드는 것을 의미한다. 프로그래밍 분야에서 옵저버/옵저버블은 이미 널리 알려진 패턴이며, 비동기 처리를 하는 경우에도 잘 어울린다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 옵저버블 패턴의 특징은 데이터 처리에 밀어 넣는 방식을 택했다는 것이다. 반대로 받아오는 방식은 배열을 돌거나, Iterable 객체를 사용하거나, ES6 제너레이터 함수를 통해 구현한다. 전달된 데이터에 반응할 것인지, 데이터를 직접 받아올 것인지의 차이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 옵저버블은 연속된 데이터 스트림을 생성하는 객체이며, 옵저버는 이 스트림을 구독해서 사용하는 객체다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 옵저버블은 콜드 옵저버블과 핫 옵저버블 두 가지가 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 콜드 옵저버블은 구독자가 있는 경우에만 스트리밍 데이터를 만들기 시작하고, 핫 옵저버블은 데이터를 받는 구독자가 없더라도 데이터를 스트리밍한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 옵저버블은 소켓이나 배열, 화면에서 발생한 이벤트 등과 같은 데이터 소스를 한번에 하나씩, 연속으로 보내는(스트리밍, streaming) 객체다. 좀 더 자세히 보면, 옵저버블 스트림은 아래 세 가지 경우를 처리할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 다음 엘리먼트를 전달한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 에러를 전달한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 스트리밍이 종료되었다는 신호를 전달한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 따라서, 옵저버 객체는 세 가지 콜백 함수를 가질 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 다음 엘리먼트를 받았을 때 처리하는 함수&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 에러를 받았을 때 처리하는 함수&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 데이터 스트림이 끝났을 때 실행하는 함수&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• JavaScript는 배열을 처리하는 함수를 다양하게 제공하는데, 자주 사용하는 함수는 다음과 같다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; map(): 배열의 각 항목마다 함수를 실행한다. map() 함수를 사용하면 배열의 크기가 바뀌는 것에 신경 쓰지 않고 각 항목의 값이나 형태를 변경할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; filter(): 배열의 각 항목 중에 조건에 만족하지 않는 항목을 걸러낸다. 반환되는 배열의 길이는 원래 배열보다 짧거나 같다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; reduce(): 배열의 각 항목의 값을 종합하고 하나의 값을 반환한다. 배열의 값을 모두 더하거나 모두 곱하는 기능을 구현할 때 사용된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 스트림은 애플리케이션에 전달되는 데이터 컬렉션이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 옵저버블 객체는 이터레이터를 좀 더 개선한 것이다. 이터레이터는 데이터를 직접 가져오는 방식이지만, 옵저버블은 구독자에게 전달된 데이터에 반응하는 방식이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 컴포넌트의 템플릿에서 디렉티브로 폼을 구성하는 방식이 있는데, 이 방식은 템플릿 기반 폼(template-driven forms)이라고 한다. 그리고 컴포넌트의 TypeScript 코드와 폼 객체를 연결하는 방식은 반응형 폼(reactive forms)이라고 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 파이프(Pipes)는 어떤 값의 형태를 바꿀 때 사용하는 템플릿 엘리먼트다. 파이프는 | 기호를 사용하며, 파이프 기호 뒤에 원하는 형식의 파이프 이름을 명시하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;template : ‘&amp;lt;p&amp;gt; Your birthday is {{ birthday | date }}&amp;lt;/p&amp;gt;’&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular에서는 다양한 파이프를 제공하는데, 파이프는 각각 DatePipe와 같이 클래스로 구현되어 있다. 그리고 템플릿에서는 파이프의 이름(ex, date)을 지정하는 것만으로도 파이프를 쉽게 적용할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 자주 사용하는 파이프&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; UpperCasePipe: 문자열을 모두 대문자로 변환하며, 템플릿에 | uppercase로 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; DatePipe: 날짜를 여러 가지 형식으로 표시할 수 있으며, 템플릿에 | date로 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; CurrencyPipe: 숫자를 원하는 형식의 화폐 단위로 변환하며, 템플릿에 | currency로 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; JsonPipe: 문자열을 JSON 형식으로 변환하며, 템플릿에 | json으로 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; AsyncPipe: 옵저버블 스트림을 엘리먼트로 풀어서 표시하며, 템플릿에 | async로 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 템플릿에서 사용할 파이프의 이름은 @Pipe 어노테이션에 정의하며, 파이프를 사용하는 컴포넌트나 상위 모듈에서 이 파이프를 선언해야 사용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 컴포넌트의 프로퍼티를 바인딩하면 프로퍼티 값이 DOM 객체를 거쳐 화면에 표시된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 양방향 바인딩은 [( )] 표기법이나 NgModel 디렉티브를 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>Angular</category>
      <category>바인딩</category>
      <category>옵저버블</category>
      <category>파이프</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/47</guid>
      <comments>https://gongcha.tistory.com/47#entry47comment</comments>
      <pubDate>Sun, 26 Aug 2018 02:30:35 +0900</pubDate>
    </item>
    <item>
      <title>[Angular] 03. 의존성 주입</title>
      <link>https://gongcha.tistory.com/46</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;교재 :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;Angular Development with TypeScript&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(51, 51, 51);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); font-size: 10pt;&quot;&gt;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;Angular&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;에 대해서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;alpaco 사이트에서 학습하고 내용을 정리하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Chapter03. 의존성 주입&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;a style=&quot;color: rgb(102, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습목표 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;1.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;디자인 패턴의 정의와 의존성 주입의 장점에 대해 설명할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255);&quot;&gt;→&lt;/span&gt;&lt;/font&gt;&lt;font color=&quot;#0900ff&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;비슷한 문제의 해결 방법을 재사용하기 좋은 형태로 정리한 것을 디자인 패턴이라고 하며, 사용하는 프로그래밍 언어나 플랫폼에 따라 다양하게 구현할 수 있다. Angular는 의존성으로 주입되는 객체를 미리 프로바이더에 등록하고, 필요할 때 인스턴스를 생성해서 제공하는 방식을 사용하는데, 의존성 주입 패턴을 사용하면 코드의 결합도를 낮출 수 있고, 원하는 코드만 떼어내서 테스트할 수 있으며, 재사용하기 쉬운 코드를 작성할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습내용&amp;nbsp; :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이번 차시에서는 의존성 주입에 대해 학습합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;3차시 학습에서 중요한 키워드는 &lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;&lt;b&gt;[제어권 역전 패턴], [인젝터], [프로바이더]&lt;/b&gt;&lt;/span&gt;입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;각 키워드에 대한 설명은 다음과 같습니다.&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[제어권 역전 패턴]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;제어권 역전 패턴은 의존성 주입 패턴보다 조금 더 추상적인데, 애플리케이션이 프레임워크에 있는 API를 직접 사용하는 대신, 프레임워크가 객체를 만들고 애플리케이션에 전달하는 방식이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[인젝터]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;인젝터는 프로바이더 덕분에 무엇을 주입할지 알게 되며, 프로바이더에는 주입되는 객체가 어떤 클래스를 사용하는지 지정하면 된다. 그리고&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[프로바이더]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;프로바이더는 인젝터가 무엇을 주입해야 할지 알려주기 위해 사용하며, 프로바이더로 지정된 객체나 값을 인젝터가 생성해서 원하는 컴포넌트에 주입한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; width: 650px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습요약 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular 애플리케이션은 컴포넌트와 디렉티브, 클래스를 조합해서 구성하며, 이중 서로 연관된 객체가 있을 수도 있다. 이때 컴포넌트 코드에서는 의존 관계에 있는 객체의 인스턴스를 명시적으로 생성해서 사용할 수도 있지만, Angular 프레임워크에서 지원하는 의존성 주입 방식을 프레임워크가 생성한 인스턴스를 사용하는 방식이 더 효율적이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 비슷한 문제의 해결 방법을 재사용하기 좋은 형태로 정리한 것을 디자인 패턴이라고 하며, 사용하는 프로그래밍 언어나 플랫폼에 따라 다양하게 구현할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 제어권 역전 패턴은 의존성 주입 패턴보다 조금 더 추상적인데, 애플리케이션이 프레임워크에 있는 API를 직접 사용하는 대신, 프레임워크가 객체를 만들고 애플리케이션에 전달하는 방식이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular는 의존성으로 주입되는 객체를 미리 프로바이더에 등록하고, 필요할 때 인스턴스를 생성해서 제공하는 방식을 사용하는데, 의존성 주입 패턴을 사용하면 코드의 결합도를 낮출 수 있고, 원하는 코드만 떼어내서 테스트할 수 있으며, 재사용하기 쉬운 코드를 작성할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 의존성 주입 패턴을 사용하면 컴포넌트를 따로 떼어내 테스트할 수 있다. 실제 객체가 동작하지 않더라도, 대신하는 객체를 사용해서 원래 객체의 영향 없이 유닛 테스트하기도 쉽다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular 애플리케이션에는 전체 모듈에서 사용하는 루트 인젝터가 있으며, 컴포넌트에서 객체나 기본형 변수, 컴포넌트, 서비스를 주입받으면 컴포넌트 안에도 인젝터를 따로 만든다. 프로바이더는 인젝터가 무엇을 주입해야 할지 알려주기 위해 사용하며, 프로바이더로 지정된 객체나 값을 인젝터가 생성해서 원하는 컴포넌트에 주입한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 애플리케이션 실행과 동시에 로드되는 모듈은 인젝터를 따로 갖고 있지 않을 수도 있지만, 지연 로딩된 모듈은 보조 인젝터(sub-root injector)를 만들어 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 인젝터는 프로바이더 덕분에 무엇을 주입할지 알게 되며, 프로바이더에는 주입되는 객체가 어떤 클래스를 사용하는지 지정하면 된다. 그리고 생성자에 인자를 선언하면서 인자의 타입을 지정하면, 인젝터가 그 타입의 인스턴스를 생성해서 주입한다. ProductService 타입의 객체 인스턴스를 컴포넌트 생성자에 주입하려면 다음과 같이 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;constructor(productService : ProductService)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 프로바이더는 주입될 토큰과 토큰을 만드는 방법을 매핑하며, @Component 어노테이션에 등록하거나, @NgModule 어노테이션에 등록할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 프로바이더는 provide 프로퍼티가 있는 객체를 모아 배열을 선언하고 이 배열을 모듈이나 컴포넌트의 providers 프로퍼티 값으로 지정하면 된다. providers는 프로바이더를 등록하는 어노테이션 프로퍼티고, provide는 개별 프로바이더에 사용하는 프로퍼티다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 프로바이더를 등록하는 코드는 다음과 같다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[{ provide : ProductService, useClass : MockProductService }]&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• provide 프로퍼티에는 객체를 생성하는 함수를 매핑하거나, 클래스를 직접 매핑하며, 위 코드는 ProductService 토큰이 의존성으로 주입될 때 MockProductService 클래스를 사용해서 인스턴스를 생성하라는 의미다. 이때 프로바이더에 지정하는 값은 클래스나 팩토리 함수, 문자열, OpaqueToken 클래스가 될 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 인젝터가 클래스를 직접 사용하도록 매핑할 때는 useClass 프로퍼티를 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 조건을 판단하기 위해 팩토리 함수를 사용할 때는 useFactory 프로퍼티를 사용해서 팩토리 함수를 지정한다. 이 팩토리 함수는 인자를 받을 수도 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; URL을 지정할 때와 같이 문자열을 간단하게 매핑할 때는 useValue 프로퍼티를 사용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 외부에서 데이터를 불러올 때는 HTTP 요청을 많이 사용한다. ProductService는 Angular 의존성 주입 메커니즘에 의해 ProductComponent에 주입되는데, ProductService가 HTTP 요청을 보내려면 Http 객체를 의존성으로 갖고 있어야 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular 애플리케이션은 컴포넌트의 계층으로 구성된다. 웹 페이지를 불러올 때 Angular는 루트 인젝터를 사용해서 애플리케이션 객체를 생성하며, 이 인젝터는 생성된 애플리케이션의 구조를 따라가면서 컴포넌트의 계층을 만들고 컴포넌트 인젝터를 생성한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 인터페이스 역할을 하는 클래스&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; TypeScript에서 인터페이스는 어떤 객체가 구현해야 할 내용을 미리 지정해 두고 이 규격을 따르도록 강제하는 방법이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• JavaScript 호이스팅과 클래스&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 클래스 선언은 보통 개별 파일에서 하며, 각 파일의 제일 처음에는 import 키워드로 외부 파일을 불러오기 때문에 클래스 선언은 그 다음이 된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 지연 로딩 모듈을 사용하면 인젝터를 추가로 생성한다. 이것이 모듈이 로딩되는 시점이 다르기 때문에 자연스러운 과정이며, 같은 이유로 지연 로딩 모듈에 등록된 프로바이더는 해당 모듈 안에서만 사용할 수 있고, 모듈 밖에서는 사용할 수 없다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 의존성으로 주입되는 객체는 이 객체의 프로바이더가 등록되는 객체의 생성 시점과 종료 시점에 맞추어 동시에 생성되거나 종료된다. 즉, 프로바이더가 등록된 객체의 수명과 같다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 의존성으로 주입될 객체는 프로바이더에 등록한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 프로바이더에는 객체뿐 아니라 문자열도 사용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 인젝터는 계층을 이루며 구성되고, 컴포넌트 계층에서 원하는 프로바이더를 찾지 못하면 부모 계층의 인젝터를 따라 올라가며 프로바이더를 찾는다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• providers 프로퍼티에 등록된 객체는 자식 컴포넌트에서도 사용할 수 있지만, viewProviders에 등록된 객체는 그 프로바이더가 선언된 계층에서만 사용할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;div&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>Angular</category>
      <category>의존성 주입</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/46</guid>
      <comments>https://gongcha.tistory.com/46#entry46comment</comments>
      <pubDate>Sun, 26 Aug 2018 02:26:33 +0900</pubDate>
    </item>
    <item>
      <title>[Angular] 02. 라우터로 내비게이션 구현하기</title>
      <link>https://gongcha.tistory.com/45</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;교재 :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;Angular Development with TypeScript&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(51, 51, 51);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); font-size: 10pt;&quot;&gt;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;Angular&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;에 대해서&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;alpaco 사이트에서 학습하고 내용을 정리하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Chapter02.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;font color=&quot;#4174d9&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;라우터로 내비게이션 구현하기&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;a style=&quot;color: rgb(102, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습목표 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;1. Angular 라우터의 구성 요소에 대해 설명할 수 있다.&lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255); background-color: rgb(255, 255, 255);&quot;&gt;→Router:라우터를 구현하는 객체다. 원하는 경로로 이동하려면 이 객체의 navigate() 함수와 navigateByUrl() 함수를 사용하거나, 라우터 객체의 path 프로퍼티 값을 변경하면 된다. 브라우저의 URL을 직접 수정해도 원하는 경로로 이동할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255); background-color: rgb(255, 255, 255);&quot;&gt;RouterLink: HTML 앵커 태그(&amp;lt;a&amp;gt;)의 원래 용도는 브라우저의 URL 주소를 변경하는 것이지만, RouterLink 디렉티브를 사용하면 앵커 태그가 Angular 라우터를 통하도록 기능을 변경할 수 있다. RouterLink를 사용하면 라우터가 렌더링할 컴포넌트에 인자를 전달할 수도 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;2. Angular에서 주소를 관리하는 위치 정책에 대해 설명할 수 있다.&lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255);&quot;&gt;→HashLocationStrategy(해시 기반 내비게이션 정책): URL에 해시 기호(#)를 사용해서 해시 기호 이후의 부분은 웹페이지의 특정 부분을 가리키도록 라우팅하는 정책이다. 이 방식은 오래된 브라우저에서도 잘 동작한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255);&quot;&gt;PathLocationStrategy(방문 기록 API 기반 내비게이션 정책): 브라우저의 방문 기록 API를 사용하는 정책이며 HTML5를 지원하는 브라우저에서만 동작한다. 이 정책이 Angular 라우터의 기본 정책이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;3. Angular가 지원하는 Shadow DOM 모드에 대해 설명할 수 있다.&lt;/span&gt;&lt;span style=&quot;white-space: pre; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255);&quot;&gt;→ViewEncapsulation.Emulated: Angular 프레임워크가 제공하는 방식으로 Shadow DOM을 캡슐화한다(기본값). 이 방식에서는 HTML 엘리먼트에 어트리뷰트를 추가해서 이 컴포넌트의 스타일이 전역 DOM의 스타일에 영향을 주지 않도록 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255);&quot;&gt;ViewEncapsulation.Native: 브라우저에서 지원하는 Shadow DOM을 사용한다. 이 경우에는 컴포넌트의 HTML과 스타일은 웹 페이지의 DOM과 별개로 존재한다. 이 옵션은 브라우저에서 Shadow DOM을 지원하는 것이 확실할 때만 사용해야 하며, 지원하지 않는 경우에는 에러가 발생한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(9, 0, 255);&quot;&gt;ViewEncapsulation.None: Shadow DOM 캡슐화를 사용하지 않으며, 컴포넌트의 모든 HTML과 스타일을 전역 웹 페이지 DOM에 포함시킨다. 이 경우에는 Shadow Host가 없기 때문에 :host 셀렉터도 동작하지 않는다. 이때 :host 셀렉터 대신 컴포넌트 자신의 셀렉터를 사용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none;&quot;&gt;&lt;font color=&quot;#666666&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습내용&amp;nbsp; :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이번 차시의 학습교재는 [Angular Development with TypeScript] 이며, 학습범위는 [103-174] 페이지 입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;본 차시의 주요학습 내용은 다음과 같습니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이번 차시에서는 라우터로 내비게이션 구현하기에 대해 학습합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;2차시 학습에서 중요한 키워드는 &lt;b&gt;&lt;span style=&quot;color: rgb(9, 0, 255);&quot;&gt;[Routes], [ActivatedRoute], [딥 링킹]&lt;/span&gt;&lt;/b&gt;입니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;각 키워드에 대한 설명은 다음과 같습니다.&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[Routes]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Routes는 특정 URL에 연결되는 컴포넌트를 지정하는 배열이다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[ActivatedRoute]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;ActivatedRoute는 현재 동작하는 라우터 인스턴스를 가리키는 객체다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;[딥 링킹]&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; width: 650px; line-height: 18px;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;어떤 웹 페이지를 가리키는 링크를 만드는 것에서 좀 더 나아가, 웹 페이지의 특정 내용으로 접근하는 링크를 만드는 것을 딥 링킹이라고 한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; width: 650px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습요약 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; color: rgb(102, 102, 102); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 브라우저의 주소 표시줄은 언제나 현재 뷰의 URL을 표시한다. URL은 여러 구성 요소로 나누어 볼 수 있는데, 프로토콜은 시작해서 도메인 이름이 있고, 그 뒤에 포트 번호가 붙기도 한다. HTTP GET 요청은 아래와 같이 URL 뒤에 물음표를 붙여 서버에 인자를 전달할 수도 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;http://mysite.com:8080/auction?somParam=123&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• SPA는 서버에 요청을 보내지 않고도 URL을 변경할 수 있기 때문에, 애플리케이션에서는 이 주소를 기준으로 클라이언트의 상황에 맞는 뷰를 표시할 수 있다. Angular에서 주소를 관리하는 위치 정책은 다음과 같은 방식이 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; HashLocationStrategy(해시 기반 내비게이션 정책) - URL에 해시 기호(#)를 사용해서 해시 기호 이후의 부분은 웹페이지의 특정 부분을 가리키도록 라우팅하는 정책이다. 이 방식은 오래된 브라우저에서도 잘 동작한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; PathLocationStrategy(방문 기록 API 기반 내비게이션 정책) - 브라우저의 방문 기록 API를 사용하는 정책이며 HTML5를 지원하는 브라우저에서만 동작한다. 이 정책이 Angular 라우터의 기본 정책이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular 라우터는 다음과 같은 요소로 구성한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; Router - 라우터를 구현하는 객체다. 원하는 경로로 이동하려면 이 객체의 navigate() 함수와 navigateByUrl() 함수를 사용하거나, 라우터 객체의 path 프로퍼티 값을 변경하면 된다. 브라우저의 URL을 직접 수정해도 원하는 경로로 이동할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; RouterOutlet - 라우터가 컴포넌트를 렌더링하는 영역인 &amp;lt;router-outlet&amp;gt;을 구현하는 디렉티브다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; Routes - 특정 URL에 연결되는 컴포넌트를 지정하는 배열이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; RouterLink - HTML 앵커 태그(&amp;lt;a&amp;gt;)의 원래 용도는 브라우저의 URL 주소를 변경하는 것이지만, RouterLink 디렉티브를 사용하면 앵커 태그가 Angular 라우터를 통하도록 기능을 변경할 수 있다. RouterLink를 사용하면 라우터가 렌더링할 컴포넌트에 인자를 전달할 수도 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ActivatedRoute - 현재 동작하는 라우터 인스턴스를 가리키는 객체다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터와 같은 Angular 프레임워크 구성요소는 TypeScript에서 제공하는 어노테이션 문법을 사용해서 설정한다. 따라서 코드는 TypeScript로 작성하고, 이 코드가 브라우저에 로드될 때 SystemJS를 사용해서 JavaScript 코드로 변환해서 실행하는 방식을 사용한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular에서는 Location 클래스를 제공하는데, 이 클래스의 go() 함수를 이용해서 원하는 절대 경로로 이동하거나, forward(), back() 함수를 이용할 수도 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Shadow DOM은 컴포넌트의 캡슐화를 확실하게 보장하지만 아직 모든 브라우저에서 Shadow DOM을 지원하는 것은 아니기 때문에, Angular는 자체적으로 Shadow DOM을 구현하고 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 딥 링킹(Deep linking)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 어떤 웹 페이지를 가리키는 링크를 만드는 것에서 좀 더 나아가, 웹 페이지의 특정 내용으로 접근하는 링크를 만드는 것을 딥 링킹이라고 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Shadow DOM은 웹 컴포넌트 표준 중 하나다. 이 표준에 따르면 모든 웹 페이지는 DOM 객체의 계층으로 구성하지만, Shadow DOM은 전역 DOM과 분리된 별개의 DOM 계층을 구성한다. 그리고 이 Shadow DOM은 HTML 문서에 포함되어 렌더링되지만, HTML 문서에 해당하는 전역 DOM에서 Shadow DOM 내부의 엘리먼트에 접근할 수 없다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• Angular가 지원하는 Shadow DOM&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ViewEncapsulation.Emulated - Angular 프레임워크가 제공하는 방식으로 Shadow DOM을 캡슐화한다(기본값). 이 방식에서는 HTML 엘리먼트에 어트리뷰트를 추가해서 이 컴포넌트의 스타일이 전역 DOM의 스타일에 영향을 주지 않도록 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ViewEncapsulation.Native - 브라우저에서 지원하는 Shadow DOM을 사용한다. 이 경우에는 컴포넌트의 HTML과 스타일은 웹 페이지의 DOM과 별개로 존재한다. 이 옵션은 브라우저에서 Shadow DOM을 지원하는 것이 확실할 때만 사용해야 하며, 지원하지 않는 경우에는 에러가 발생한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; ViewEncapsulation.None - Shadow DOM 캡슐화를 사용하지 않으며, 컴포넌트의 모든 HTML과 스타일을 전역 웹 페이지 DOM에 포함시킨다. 이 경우에는 Shadow Host가 없기 때문에 :host 셀렉터도 동작하지 않는다. 이때 :host 셀렉터 대신 컴포넌트 자신의 셀렉터를 사용할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우팅 가드 동작은 다음과 같은 경우에 활용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 사용자가 인증을 한 후에만 라우팅을 수행하고, 인증을 하지 않았다면 인증을 하게 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 컴포넌트 몇 개로 만든 폼을 화면에 표시하고, 이 폼에 유효한 데이터를 입력한 경우에만 내비게이션을 허용한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt; 라우터에서 빠져나갈 때 저장하지 않은 정보가 있는 것을 사용자에게 알린다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터는 모듈에서 설정한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터는 주소와 컴포넌트를 매핑한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터와 연결된 컴포넌트가 렌더링되는 위치는 컴포넌트 템플릿에서 &amp;lt;router-outlet&amp;gt; 태그로 지정한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• routerLink는 라우터 이름을 지정해서 사용할 수도 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• nevigate() 함수를 사용할 때도 라우터 이름을 지정할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터를 통해 인자를 전달하려면 라우터 설정의 path 프로퍼티가 인자를 받도록 지정해야 하며, 이 값은 routerLink나 navigate() 함수를 사용할 때 전달된다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터를 통해 인자를 받으려면 인자를 받는 컴포넌트의 생성자에 ActivatedRoute를 의존성으로 주입하고 이 객체를 통해 값을 참조해야 한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터를 여러 계층으로 구성하려면 Routes 인터페이스를 정의할 때 children 프로퍼티로 지정한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; line-height: 1.8;&quot;&gt;&lt;font face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;• 라우터에 이름을 지정해서 사용하면 여러 개의 라우터를 동시에 사용할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>Angular</category>
      <category>Routes</category>
      <category>typeScript</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/45</guid>
      <comments>https://gongcha.tistory.com/45#entry45comment</comments>
      <pubDate>Tue, 14 Aug 2018 00:18:47 +0900</pubDate>
    </item>
    <item>
      <title>[Angular] 01. Angular 시작하기</title>
      <link>https://gongcha.tistory.com/44</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;교재 :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;Angular Development with TypeScript&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 18pt;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;링크 :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255); font-size: 10pt;&quot;&gt;https://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9791186710159&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;Angular&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;에 대해서 &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt;&quot;&gt;alpaco 사이트에서 학습하고 내용을 정리하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;angular란? :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#ff0000&quot; face=&quot;Apple SD Gothic Neo&quot;&gt;&lt;span style=&quot;font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;Angular는 Google에서 주관하는 오픈 소스 프레임워크이며, 개발자들에게 큰 인기를 끌었던 AngularJS를 전반적으로 검토해서 새롭게 재구축된 프레임워크입니다. Angular 애플리케이션은 ECMAScript 5, 또는 6 버전의 JavaScript나 Dart, TypeScript를 사용해서 작성할 수 있습니다. 개발자가 코드를 적게 작성하도록 돕는 것이 좋은 프레임워크이며, 그런 점에서 Angular도 좋은 프레임워크 중 하나입니다. Angular 애플리케이션은 TypeScript나 JavaScript로 개발할 수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Chapter01.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;a style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold; color: rgb(102, 0, 255);&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Angular 시작하기&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; font-weight: bold; color: rgb(102, 0, 255);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습목표 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;1. Angular와 AngularJS의 차이에 대해 설명할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-size: 10pt;&quot;&gt;→&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;Angular가 AngularJS보다 단순한 점은 다음과 같다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;- 애플리케이션을 구성하는 각 컴포넌트는 뷰, 컨트롤러, 변화 감지 메커니즘의 관점에서 보면 온전히 캡슐화되어 있다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;- 컴포넌트 클래스는 어노테이션을 지정해서 원하는 용도로 바꿔서 사용할 수 있다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;- 스코프 계층에 대해 신경 쓸 필요가 없다.&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;- 의존성이 있는 컴포넌트는 컴포넌트 생성자를 통해서만 주입된다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;- 데이터 바인딩은 기본적으로 단방향 바인딩이며, 필요한 경우에만 양방향 바인딩을 사용한다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;- 변화 감지 메커니즘이 새로워졌고, 이전보다 빠르다.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;2. npm의 개념에 대해 설명할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-size: 10pt;&quot;&gt;→&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;npm은 JavaScript 라이브러리나 프레임워크를 설치할 수 있는 패키지 매니저다. npm 저장소에는 수천 개의 항목이 있으며, 개발 환경에 맞게 TypeScript 컴파일러, Angular, jQuery 등과 같은 개발 툴을 손쉽게 설치할 수 있다. npm 스크립트를 작성해서 서버를 실행하거나 빌드를 자동화할 수도 있다. npm과 거의 비슷하지만 좀 더 속도가 빠른 yarn 패키지 매니저도 있다.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;3. Angular 애플리케이션의 구성 요소에 대해 설명할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: rgb(0, 102, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-size: 10pt;&quot;&gt;→&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt;&quot;&gt;모듈은 관련된 컴포넌트나 서비스, 디렉티브 등을 편하게 사용하기 위해 하나로 모은 것이다. 작은 애플리케이션에서는 모든 앨리먼트가 하나의 모듈(루트 모듈)에 속할 수도 있고, 더 큰 앱에서는 여러 개의 모듈이 있을 수도 있다. 컴포넌트는 Angular 애플리케이션을 구성하는 기본 요소이며, 화면을 정의하는 뷰와 컴포넌트의 동작을 정의하는 클래스로 구성된다. Angular의 디렉티브를 사용하면 AngularJS의 디렉티브와 마찬가지로 HTML 엘리먼트에 사용자가 원하는 동작을 추가할 수 있으며, @Directive 어노테이션을 클래스에 붙여서 선언한다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습내용&amp;nbsp; :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; width: 650px; line-height: 18px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;이번 차시에서는 Angular 시작하기에 대해 학습합니다.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;/p&gt;&lt;div style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; width: 650px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;1차시 학습에서 중요한 키워드는&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;font color=&quot;red&quot;&gt;&lt;span style=&quot;color: rgb(9, 0, 255); font-size: 10pt;&quot;&gt;[Angular], [Jasmine], [npm]&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;입니다.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; width: 650px; line-height: 18px;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;각 키워드에 대한 설명은 다음과 같습니다.&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;[Angular]&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;Angular는 Google에서 주관하는 오픈 소스 프레임워크이며, 개발자들에게 큰 인기를 끌었던 AngularJS는 전반적을 검토해서 새롭게 재구축된 프레임워크다.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;[Jasmine]&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;Jasmine은 JavaScript 코드 테스트에 사용되는 오픈 소스 프레임워크다.&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;[npm]&lt;/span&gt;&lt;br style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;npm은 JavaScript 라이브러리나 프레임워크를 설치할 수 있는 패키지 매니저다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; color: rgb(0, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;학습요약 :&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;; font-size: 12px; line-height: 1.8;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Angular는 Google에서 주관하는 오픈 소스 프레임워크이며, 개발자들에게 큰 인기를 끌었던 AngularJS는 전반적을 검토해서 새롭게 재구축된 프레임워크다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Ember.js는 웹 애플리케이션 개발에 사용되는 MVC 기반의 오픈 소스 프레임워크다. Ember.js에서는 라우팅 기능을 제공하며 양방향 데이터 바인딩을 지원한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Jasmine은 JavaScript 코드 테스트에 사용되는 오픈 소스 프레임워크다. Jasmine은 DOM 객체가 없어도 동작하며, 애플리케이션 코드가 원하는 대로 동작하는지 검사할 수 있는 함수들을 제공한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;jQuery는 DOM 객체를 찾거나 조작하는 기능을 제공하며, 브라우저에서 이벤트를 처리하거나 브라우저의 호환성을 맞추는 데에도 사용된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Bootstrap은 Twitter에서 만든 오픈 소스 UI 컴포넌트 라이브러리다. Bootstrap에서 제공하는 컴포넌트들은 반응형 웹 디자인 철학을 기반으로 만들어졌기 때문에 화면 크기나 사용자의 디바이스 크기에 맞게 레이아웃을 자동으로 조정해야 하는 웹 애플리케이션을 개발할 때 최선의 선택이 될 것이다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Facebook에서 만든 React는 사용자 인터페이스 구현에 사용되는 오픈 소스 라이브러리다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Google에서 만든 Polymer는 웹 컴포넌트 표준을 기반으로 커스텀 컴포넌트를 만드는 데에 사용하는 라이브러리다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;RxJS는 옵저버블 컬렉션을 컬렉션을 사용하며, 비동기 이벤트 기반 프로그래밍에 특화된 라이브러리다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Angular는 다음과 같은 점에서 AngularJS보다 단순하다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;애플리케이션을 구성하는 각 컴포넌트는 뷰, 컨트롤러, 변화 감지 메커니즘의 관점에서 보면 온전히 캡슐화되어 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;컴포넌트 클래스는 어노테이션을 지정해서 원하는 용도로 바꿔서 사용할 수 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;스코프 계층에 대해 신경 쓸 필요가 없다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;의존성이 있는 컴포넌트는 컴포넌트 생성자를 통해서만 주입된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;데이터 바인딩은 기본적으로 단방향 바인딩이며, 필요한 경우에만 양방향 바인딩을 사용한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;변화 감지 메커니즘이 새로워졌고, 이전보다 빠르다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;npm은 JavaScript 라이브러리나 프레임워크를 설치할 수 있는 패키지 매니저다. npm 저장소에는 수천 개의 항목이 있으며, 개발 환경에 맞게 TypeScript 컴파일러, Angular, jQuery 등과 같은 개발 툴을 손쉽게 설치할 수 있다. npm 스크립트를 작성해서 서버를 실행하거나 빌드를 자동화할 수도 있다. npm과 거의 비슷하지만 좀 더 속도가 빠른 yarn 패키지 매니저도 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Angular 프레임워크에는 여러 모듈이 있는데, 보통 한 파일이 한 모듈이다. 어떤 모듈은 단순하게 라이브러리로 사용되며, 논리적으로 연관된 것들끼리 묶여서 @angular/core, @angular/common과 같이 패키지로 구성되기도 한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;yarn 패키지 매니저에서 패키지를 전역에 설치하는 명령은 yarn global add [패키지명]이다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;모듈은 관련된 컴포넌트나 서비스, 디렉티브 등을 편하게 사용하기 위해 하나로 모은 것이다. 작은 애플리케이션에서는 모든 앨리먼트가 하나의 모듈(루트 모듈)에 속할 수도 있고, 더 큰 앱에서는 여러 개의 모듈이 있을 수도 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;컴포넌트는 Angular 애플리케이션을 구성하는 기본 요소이며, 화면을 정의하는 뷰와 컴포넌트의 동작을 정의하는 클래스로 구성된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Angular 애플리케이션은 모듈 안에 컴포넌트로 계층을 구성해서 만들기 때문에 모든 앱은 최소한 하나의 모듈(루트 모듈)과 하나의 루트 컴포넌트를 갖는다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;Angular의 디렉티브를 사용하면 AngularJS의 디렉티브와 마찬가지로 HTML 엘리먼트에 사용자가 원하는 동작을 추가할 수 있으며, @Directive 어노테이션을 클래스에 붙여서 선언한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;baseURL&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;System.import() 함수에 파일의 이름만 전달되면 이 옵션으로 설정된 위치에서 모듈을 찾는다. import() 함수에 모듈 이름을 지정하거나 상대 주소, 절대 주소를 지정하는 경우에는 무시한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.config({ baseURL : ‘app’ });&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘es6module.js’); // Get / app / es6module.js&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘./es6module.js’); // Get / es6module.js&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘http//example.com/es6module.js’);&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;•&amp;nbsp;defaultJSExtension&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;defaultJSExtension 값을 true로 설정하면 System.import() 함수로 전달하는 인자에 .js 확장자가 자동으로 붙는다. 인자에 다른 확장자가 있는 경우에도 이 확장자가 .js가 아니라면 한번 더 붙는다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.config({ defaultJSExtension : true});&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘es6module’); // GET /es6module.js&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘./es6module.js’); // GET / es6module.js&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘http//es6module.js//GET / es6module.ts.js’); map&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;&amp;nbsp;map 옵션을 설정하면 미리 지정한 이름으로 모듈을 참조할 수 있는 맵을 만든다. 이 맵은 System.import() 함수에 상대 주소나 절대 주소를 전달하는 경우에는 사용되지 않으며,&amp;nbsp; baseURL 설정의 영향을 받는다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.config({ defaultJSExtension : true});&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘es6module’); // GET /es6module.js&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘./es6module.js’); // GET / es6module.js&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;System.import(‘http//es6module.js/es6module.ts.js’);&lt;/span&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>Angular</category>
      <category>typeScript</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/44</guid>
      <comments>https://gongcha.tistory.com/44#entry44comment</comments>
      <pubDate>Mon, 13 Aug 2018 23:55:01 +0900</pubDate>
    </item>
    <item>
      <title>[아이오닉] Facebook AccountKit 안드로이드 플랫폼 error</title>
      <link>https://gongcha.tistory.com/43</link>
      <description>&lt;p&gt;[아이오닉] 전화번호 인증 - Facebook AccountKit&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://gongcha.tistory.com/admin/entry/post/?id=41&amp;amp;type=post&amp;amp;returnURL=/manage/posts/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://gongcha.tistory.com/41&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ionic cordova run android&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;안드로이드 플랫폼 실행시 다음과 같은 에러가 발생할 경우 조치&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 11.9px; background-color: rgba(27, 31, 35, 0.05);&quot;&gt;06-27 13:21:25.506 2071-2071/com.ahzimat.clicks E/AndroidRuntime: FATAL EXCEPTION: main Process: com.ahzimat.clicks, PID: 2071 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/Auth; at com.facebook.accountkit.ui.AccountKitActivity.onCreate(AccountKitActivity.java:281) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442) at android.app.ActivityThread.access$800(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:211) at android.app.ActivityThread.main(ActivityThread.java:5371) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:945) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:740) Caused by: java.lang.ClassNotFoundException: Didn't find class &quot;com.google.android.gms.auth.api.Auth&quot; on path: DexPathList[[zip file &quot;/data/app/com.ahzimat.clicks-2/base.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_dependencies_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_0_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_1_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_2_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_3_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_4_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_5_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_6_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_7_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_8_apk.apk&quot;, zip file &quot;/data/app/com.ahzimat.clicks-2/split_lib_slice_9_apk.apk&quot;],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.facebook.accountkit.ui.AccountKitActivity.onCreate(AccountKitActivity.java:281)&amp;nbsp; at android.app.Activity.performCreate(Activity.java:5990)&amp;nbsp; at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)&amp;nbsp; at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)&amp;nbsp; at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442)&amp;nbsp; at android.app.ActivityThread.access$800(ActivityThread.java:156)&amp;nbsp; at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351)&amp;nbsp; at android.os.Handler.dispatchMessage(Handler.java:102)&amp;nbsp; at android.os.Looper.loop(Looper.java:211)&amp;nbsp; at android.app.ActivityThread.main(ActivityThread.java:5371)&amp;nbsp; at java.lang.reflect.Method.invoke(Native Method)&amp;nbsp; at java.lang.reflect.Method.invoke(Method.java:372)&amp;nbsp; at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:945)&amp;nbsp; at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:740)&amp;nbsp; Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.auth.api.Auth at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 15 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 11.9px; background-color: rgba(27, 31, 35, 0.05);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 11.9px; background-color: rgba(27, 31, 35, 0.05);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.Apple SD Gothic NeoI'; color: #454545}
span.s1 {font: 12.0px '.Apple SD Gothic NeoI'}
span.s2 {font: 12.0px 'Helvetica Neue'}
&lt;/style&gt;


&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;Android studio&lt;span class=&quot;s1&quot;&gt;에서&lt;/span&gt; facebook accountkit &lt;span class=&quot;s1&quot;&gt;에러날때&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;root/app/build.gradle 파일에서&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;변경전 : compile &lt;b&gt;&quot;com.facebook.android:account-kit-sdk:4.+”&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;변경후 : compile &lt;b&gt;&quot;com.facebook.android:account-kit-sdk:4.23.0”&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;코드 변경 후&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s1&quot;&gt;메뉴&lt;/span&gt;&amp;gt;build&amp;gt;clean project &lt;span class=&quot;s1&quot;&gt;후&lt;/span&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;재빌드&lt;span class=&quot;s2&quot; style=&quot;&quot;&gt;&amp;nbsp;&lt;/span&gt;하면 에러 해결&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545; min-height: 14.0px}
&lt;/style&gt;


&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 350px; width: 350px; height: 535px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99AA40375B718AF236&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99AA40375B718AF236&quot; width=&quot;350&quot; height=&quot;535&quot; filename=&quot;Pasted Graphic.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 350px; height: 535px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;text-align: left; clear: none; float: none;&quot;&gt;참고 :&amp;nbsp;&lt;a href=&quot;https://github.com/fbsamples/account-kit-samples-for-android/issues/27&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/fbsamples/account-kit-samples-for-android/issues/27&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
      <category>웹개발/ionic</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/43</guid>
      <comments>https://gongcha.tistory.com/43#entry43comment</comments>
      <pubDate>Mon, 13 Aug 2018 22:45:52 +0900</pubDate>
    </item>
    <item>
      <title>맥 페러렐 데스크탑 한영전환(command + space)</title>
      <link>https://gongcha.tistory.com/42</link>
      <description>&lt;p class=&quot;p1&quot; style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; line-height: normal;&quot;&gt;&lt;font color=&quot;#4174d9&quot; face=&quot;-apple-system, system-ui, Segoe UI, Helvetica Neue, Helvetica, Arial, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;paralles desktop for mac -&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;b style=&quot;color: rgb(69, 69, 69); font-family: &amp;quot;Helvetica Neue&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 18pt;&quot;&gt;한영전환 설정&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; line-height: normal;&quot;&gt;&lt;b style=&quot;color: rgb(69, 69, 69); font-family: &amp;quot;Helvetica Neue&amp;quot;; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; line-height: normal;&quot;&gt;&lt;span style=&quot;color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;처음 페러렐 데스크탑 프로그램을&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;&amp;nbsp;사용했을때 한영변환은 option키로 설정되어 있습니다&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; line-height: normal;&quot;&gt;&lt;span style=&quot;color: rgb(68, 68, 68); font-family: Dotum, 돋움; font-size: 12pt;&quot;&gt;다음은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;기존 Mac 한영전환 단축키인&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b style=&quot;color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;command + space&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(68, 68, 68); font-family: Dotum, 돋움; font-size: 12pt;&quot;&gt;로 설정하는 방법입니다.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;margin-right: 0px; margin-left: 0px; padding: 0px; outline: none; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; line-height: normal;&quot;&gt;&lt;span style=&quot;color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;1. &lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;먼저 F1 ~ F11키를 fn을 누르지 않고 실행하고 싶으면 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;아래 &lt;/span&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;F1, F2 등의 키를 표준 기능 키&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;로 사용&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;span style=&quot;font-size: 12pt; font-family: Dotum, 돋움;&quot;&gt;에 체크&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 520px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998DA93A5B618AED30&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998DA93A5B618AED30&quot; width=&quot;600&quot; height=&quot;520&quot; filename=&quot;스크린샷 2018-08-01 오후 7.26.16.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 520px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;2. 페러렐 데스크탑 환경 설정에서 AltGr(우측 option&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;)를 Cmd + space로 대체합니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; 상단 Cmd키 클릭 + 입력창에 Space 키 입력&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; 하단 입력창에 우측 option키 입력&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 498px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9977C4375B60EA9A08&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9977C4375B60EA9A08&quot; width=&quot;600&quot; height=&quot;498&quot; filename=&quot;스크린샷 2018-07-12 오전 8.44.25.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 498px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;3. 환경 설정 변경 후에도 한영변환 단축키가 작동하지 않을때&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;설정 &amp;gt; 지역 및 언어 &amp;gt; 언어 : 언어를 한국어를 제외하고 삭제 저장&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 466px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E933375B60EA9B13&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E933375B60EA9B13&quot; width=&quot;600&quot; height=&quot;466&quot; filename=&quot;스크린샷 2018-07-12 오전 8.46.18.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 466px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Tool</category>
      <category>paralles desktop</category>
      <category>맥</category>
      <category>한영 변환</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/42</guid>
      <comments>https://gongcha.tistory.com/42#entry42comment</comments>
      <pubDate>Wed, 1 Aug 2018 19:35:52 +0900</pubDate>
    </item>
    <item>
      <title>[아이오닉] 전화번호 인증 - Facebook AccountKit</title>
      <link>https://gongcha.tistory.com/41</link>
      <description>&lt;p&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545}
&lt;/style&gt;


&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 18pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 18pt;&quot;&gt;Facebook AccountKit으로 SMS / 전화 번호를 사용하여 사용자를 인증&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;p style=&quot;box-sizing: border-box; line-height: 1.62; margin-right: 0px; margin-bottom: 1.62rem; margin-left: 0px; color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;strong style=&quot;box-sizing: border-box;&quot;&gt;Requirements:&lt;/strong&gt;&lt;/p&gt;&lt;ul style=&quot;box-sizing: border-box; list-style-position: initial; list-style-image: initial; padding: 0px; margin: 0px 0px 1.62rem 2rem; line-height: 1.5; color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; margin-bottom: 0.5rem;&quot;&gt;&lt;span style=&quot;font-size: 17.6px;&quot;&gt;Facebook AccountKit&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;1. 페이스북 개발자 계정 생성&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;-&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://developers.facebook.com/&quot; style=&quot;color: rgb(54, 88, 153); font-size: 17.6px; background-color: transparent; box-sizing: border-box; outline: 0px;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;https://developers.facebook.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;2. Facebook AccountKit 기능 추가&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; margin-bottom: 0.5rem;&quot;&gt;아이오닉 프로젝트에서 cordova plugin 설치&lt;br /&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;ionic cordova plugin add cordova-plugin-accountkit --save \&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp; --variable APP_ID=&quot;app id&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot; \&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp; --variable APP_NAME=“app name&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;” \&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp; --variable CLIENT_TOKEN=&quot;client token&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot; \&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot; style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;--variable API_VERSION=“v1.0”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px; color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;amp;quot;Segoe UI&amp;amp;quot;, &amp;amp;quot;Helvetica Neue&amp;amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/990CCA495B5DDEE431&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F990CCA495B5DDEE431&quot; width=&quot;820&quot; height=&quot;398&quot; filename=&quot;facebook auth.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px; text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;list-style-position: initial; list-style-image: initial; padding: 0px; box-sizing: border-box; margin: 0px 0px 1.62rem 2rem; line-height: 1.5; color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; margin-bottom: 0.5rem;&quot;&gt;ionic project 코드&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 0.5rem;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;- phone.html&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 18px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ion-content&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;padding&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;  &lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;    PhoneNumber: {{userInfo.country_code}} {{userInfo.phoneNumber}}&lt;/div&gt;&lt;div&gt;  &lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;  &lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;button&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;ion-button&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;block&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;color&lt;/span&gt;=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;primary&quot;&lt;/span&gt; (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;click&lt;/span&gt;)=&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;register()&quot;&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;Register&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;button&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;ion-content&lt;/span&gt;&lt;span style=&quot;color: #808080;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;- phone.ts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 18px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt; { &lt;span style=&quot;color: #9cdcfe;&quot;&gt;Component&lt;/span&gt; } &lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;'@angular/core'&lt;/span&gt;;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt; { &lt;span style=&quot;color: #9cdcfe;&quot;&gt;NavController&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;NavParams&lt;/span&gt; } &lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;'ionic-angular'&lt;/span&gt;;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;@&lt;span style=&quot;color: #dcdcaa;&quot;&gt;Component&lt;/span&gt;({&lt;/div&gt;&lt;div&gt;  &lt;span style=&quot;color: #9cdcfe;&quot;&gt;selector:&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;'page-phone'&lt;/span&gt;,&lt;/div&gt;&lt;div&gt;  &lt;span style=&quot;color: #9cdcfe;&quot;&gt;templateUrl:&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;'phone.html'&lt;/span&gt;,&lt;/div&gt;&lt;div&gt;})&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;export&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;PhonePage&lt;/span&gt; {&lt;/div&gt;&lt;div&gt;  &lt;span style=&quot;color: #9cdcfe;&quot;&gt;userInfo&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;any&lt;/span&gt; = {};&lt;/div&gt;&lt;div&gt;  &lt;span style=&quot;color: #569cd6;&quot;&gt;constructor&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;navCtrl&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;NavController&lt;/span&gt;, &lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;navParams&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;NavParams&lt;/span&gt;) {}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;  &lt;span style=&quot;color: #dcdcaa;&quot;&gt;register&lt;/span&gt;(){&lt;/div&gt;&lt;div&gt;    (&amp;lt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;any&lt;/span&gt;&amp;gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;window&lt;/span&gt;).&lt;span style=&quot;color: #9cdcfe;&quot;&gt;AccountKitPlugin&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;loginWithPhoneNumber&lt;/span&gt;({&lt;/div&gt;&lt;div&gt;      &lt;span style=&quot;color: #9cdcfe;&quot;&gt;useAccessToken:&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;true&lt;/span&gt;,&lt;/div&gt;&lt;div&gt;      &lt;span style=&quot;color: #9cdcfe;&quot;&gt;defaultCountryCode:&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;IN&quot;&lt;/span&gt;,&lt;/div&gt;&lt;div&gt;      &lt;span style=&quot;color: #9cdcfe;&quot;&gt;facebookNotificationsEnabled:&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;true&lt;/span&gt;,&lt;/div&gt;&lt;div&gt;    }, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;data&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;=&amp;gt;&lt;/span&gt; {&lt;/div&gt;&lt;div&gt;      (&amp;lt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;any&lt;/span&gt;&amp;gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;window&lt;/span&gt;).&lt;span style=&quot;color: #9cdcfe;&quot;&gt;AccountKitPlugin&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;getAccount&lt;/span&gt;(&lt;/div&gt;&lt;div&gt;        &lt;span style=&quot;color: #9cdcfe;&quot;&gt;info&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #9cdcfe;&quot;&gt;userInfo&lt;/span&gt; = &lt;span style=&quot;color: #9cdcfe;&quot;&gt;info&lt;/span&gt;,&lt;/div&gt;&lt;div&gt;        &lt;span style=&quot;color: #9cdcfe;&quot;&gt;err&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;err&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;      );&lt;/div&gt;&lt;div&gt;    });&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-position: initial; list-style-image: initial; padding: 0px; box-sizing: border-box; margin: 0px 0px 1.62rem 2rem; line-height: 1.5; color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; margin-bottom: 0.5rem;&quot;&gt;인증 결과 화면&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 534px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/990EB2445B5DE03F38&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F990EB2445B5DE03F38&quot; width=&quot;300&quot; height=&quot;534&quot; filename=&quot;IMG_2619.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 534px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-position: initial; list-style-image: initial; padding: 0px; box-sizing: border-box; margin: 0px 0px 1.62rem 2rem; line-height: 1.5; color: rgb(68, 68, 68); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 17.6px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; margin-bottom: 0.5rem;&quot;&gt;참고&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;cordova-plugin-accountkit :&amp;nbsp;&lt;a href=&quot;https://github.com/gurisko/cordova-plugin-accountkit&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;https://github.com/gurisko/cordova-plugin-accountkit&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>웹개발/ionic</category>
      <category>Facebook AccountKit</category>
      <category>phone number</category>
      <category>아이오닉</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/41</guid>
      <comments>https://gongcha.tistory.com/41#entry41comment</comments>
      <pubDate>Mon, 30 Jul 2018 00:44:17 +0900</pubDate>
    </item>
    <item>
      <title>Javascript Password Validation(비밀번호 유효성 체크)</title>
      <link>https://gongcha.tistory.com/38</link>
      <description>&lt;h4 style=&quot;margin-top: 28px; margin-right: auto; margin-bottom: 16px; padding: 0px; outline: none; line-height: 30px; font-size: 16px; color: rgb(68, 68, 68); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 18pt;&quot;&gt;관련 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 18pt;&quot;&gt;문서&lt;/span&gt;&lt;/h4&gt;
&lt;pre&gt;&lt;ul style=&quot;list-style: none; padding: 0px 0px 0px 10px; white-space: normal; margin: 0px auto; outline: none; color: rgb(68, 68, 68); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;li style=&quot;list-style: disc; margin: 0px 0px 10px 20px; padding: 0px; outline: none;&quot;&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;a href=&quot;http://www.nodejs.org/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(26, 13, 171);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;http://blog.naver.com/PostView.nhn?blogId=da10316&amp;amp;logNo=70114357936&lt;/span&gt;&lt;/a&gt;&amp;nbsp;(JavaScript Password Strength Validator)&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;list-style: disc; margin: 0px 0px 10px 20px; padding: 0px; outline: none;&quot;&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;a href=&quot;http://www.nodejs.org/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot; style=&quot;color: rgb(26, 13, 171);&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;http://m-ulyanov.github.io/mytooltip/&lt;/span&gt;&lt;/a&gt;&amp;nbsp;(mytooltip jquery plugin)&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;list-style: disc; margin: 0px 0px 10px 20px; padding: 0px; outline: none;&quot;&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;a href=&quot;https://help.naver.com/support/contents/contents.nhn?serviceNo=532&amp;amp;categoryNo=2154&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;https://help.naver.com/support/contents/contents.nhn?serviceNo=532&amp;amp;categoryNo=2154&lt;/span&gt;&lt;/a&gt; (네이버 비밀번호 안전 진단 페이지)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/pre&gt;&lt;div&gt;&lt;h4 style=&quot;margin-top: 28px; margin-right: auto; margin-bottom: 16px; padding: 0px; outline: none; line-height: 30px; font-size: 16px; color: rgb(68, 68, 68); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 18pt;&quot;&gt;비밀번호 안전도 체크(Tootip)&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;margin-top: 16px; margin-bottom: 16px; margin-right: auto; padding: 0px; outline: none; font-size: 16px; line-height: 28px; color: rgb(68, 68, 68); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px; color: rgb(0, 0, 0); font-family: &amp;amp;quot;맑은 고딕&amp;amp;quot;, sans-serif; font-size: 13px; width: 400px; height: 518px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/992B493359E98B5D20&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F992B493359E98B5D20&quot; width=&quot;400&quot; height=&quot;518&quot; filename=&quot;1.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; width: 400px; height: 518px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p style=&quot;margin-top: 16px; margin-bottom: 16px; margin-right: auto; padding: 0px; outline: none; font-size: 16px; line-height: 28px; color: rgb(68, 68, 68); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;네이버 비밀번호 찾기 화면을 유사하게 구현하기&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p style=&quot;margin-top: 16px; margin-bottom: 16px; margin-right: auto; padding: 0px; outline: none; font-size: 16px; line-height: 28px; color: rgb(68, 68, 68); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;신규 비밀번호 입력시 비밀번호 안정성 정보가 실시간으로 tooltip(말풍선) 형태로 표시&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;list-style-type: square;&quot;&gt;&lt;li&gt;&lt;p style=&quot;margin-top: 16px; margin-bottom: 16px; margin-right: auto; padding: 0px; outline: none; font-size: 16px; line-height: 28px; color: rgb(68, 68, 68); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;jquery 플러그인을 사용&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; 

&lt;pre&gt;&lt;p&gt;mytooltip jquery plugin (https://github.com/M-Ulyanov/myTooltip)&lt;/p&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#444444&quot; face=&quot;Noto Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#444444&quot; face=&quot;Noto Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;1. js/css link&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;pre&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;./myTooltip.css&quot;&amp;gt;
&amp;lt;script src=&quot;https://code.jquery.com/jquery-1.12.4.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&quot;./myTooltip.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;div&gt;&lt;font color=&quot;#444444&quot;&gt;&lt;div style=&quot;font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;2. v&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;iew&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;pre&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;style&amp;gt;
	.mytooltip-content {
		width: 300px; 
	} 
&amp;lt;/style&amp;gt;
&amp;lt;div id=&quot;&quot; class=&quot;&quot; style=&quot;display: block;&quot;&amp;gt;
	&amp;lt;h2&amp;gt;Change Password&amp;lt;/h2&amp;gt;
	&amp;lt;div id=&quot;&quot; class=&quot;form-group col-xs-2&quot;&amp;gt;
		&amp;lt;label id=&quot;&quot; class=&quot;&quot;&amp;gt;ID&amp;lt;/label&amp;gt;
		&amp;lt;input id=&quot;ch_userId&quot; class=&quot;form-control&quot; type=&quot;text&quot; tabindex=&quot;1&quot;&amp;gt;
		&amp;lt;label id=&quot;&quot; class=&quot;&quot;&amp;gt;Currnet Password&amp;lt;/label&amp;gt;
		&amp;lt;input class=&quot;form-control&quot; id=&quot;ch_current_pw&quot; ref=&quot;&quot; type=&quot;password&quot; style=&quot;&quot; tabindex=&quot;2&quot;&amp;gt;
		&amp;lt;label id=&quot;&quot; class=&quot;&quot;&amp;gt;New Password&amp;lt;/label&amp;gt;
		&amp;lt;input class=&quot;js-mytooltip-pw form-control&quot; id=&quot;ch_new_pw&quot; type=&quot;password&quot; style=&quot;&quot; tabindex=&quot;3&quot; 
			data-mytooltip-direction=&quot;right&quot; 
			data-mytooltip-dinamic-content=&quot;true&quot; 
			data-mytooltip-action=&quot;focus&quot; 
			data-mytooltip-animate-duration=&quot;0&quot;&amp;gt;
		&amp;lt;label id=&quot;&quot; class=&quot;&quot;&amp;gt;Confirm Password&amp;lt;/label&amp;gt;
		&amp;lt;input id=&quot;ch_re_pw&quot; class=&quot;form-control&quot; type=&quot;password&quot; tabindex=&quot;4&quot;&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif;&quot;&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 16px; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;3. Javacript&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;pre&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;script&amp;gt;
    isNull = function(object) {
		try {
			
			if (typeof object == &quot;boolean&quot;){
				return false;
			} else {
				return (object == null || typeof object == &quot;undefined&quot; || object === &quot;&quot; || object == &quot;undefined&quot;);    		
			}
					
		} catch (e) {
			alert(&quot;isNull: &quot; + object +&quot;::&quot;+ e.message);
			WebSquare.exception.printStackTrace(e);
		}
	};

	//신규 비밀번호 체크 
	function getPwContent(key) { 
		var pwd = key; 
		
		var passed = validatePassword(pwd);
		
		return passed;  
	}
	
	//비밀번호 안정성 체크
	function validatePassword (pw, options) { 
		 var o = {
			 length:   [6, 16],
			 lower:    1,
			 upper:    1, 
			 alpha:    1, /* lower + upper */
			 numeric:  1,
			 special:  1, 
			 custom:   [ /* regexes and/or functions */ ], 
			 badWords: [],
			 badSequenceLength: 5,  
			 noQwertySequences: true, 
			 spaceChk: true, 
			 noSequential:      false 
		 };
		 
		 // space bar check 
		 if (o.spaceChk &amp;amp;&amp;amp; /\s/g.test(pw)) {
		  return &quot;&amp;lt;p style='line-height:200%;'&amp;gt;&amp;lt;span style='color:#E3691E; font-weight:bold;'&amp;gt;사용불가&amp;lt;/span&amp;gt; : 비밀번호 재작성 필요&quot; 
			   + &quot;&amp;lt;br/&amp;gt;&quot; 
			   + &quot;&amp;lt;span style='color:#999; font-weight:bold;'&amp;gt;영문 대소문자, 숫자 및 특수문자 사용&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&quot;;  
		 }
		  
		 //password 길이 체크 
		 if (pw.length &amp;lt; o.length[0])
		  return &quot;&amp;lt;p style='line-height:200%;'&amp;gt;&amp;lt;span style='color:#E3691E; font-weight:bold;'&amp;gt;사용불가&amp;lt;/span&amp;gt;&quot; 
			   + &quot;&amp;lt;br/&amp;gt;&quot; 
			   + &quot;&amp;lt;span style='color:#999; font-weight:bold;'&amp;gt;비밀번호는 &quot; + o.length[0] + &quot;자 이상 입력하셔야 합니다.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&quot;;  
		  
		 if (pw.length &amp;gt; o.length[1])
		  return &quot;&amp;lt;p style='line-height:200%;'&amp;gt;&amp;lt;span style='color:#E3691E; font-weight:bold;'&amp;gt;사용불가&amp;lt;/span&amp;gt;&quot; 
			   + &quot;&amp;lt;br/&amp;gt;&quot; 
			   + &quot;&amp;lt;span style='color:#999;'&amp;gt;비밀번호는 &quot; + o.length[1] + &quot;자 이내로 입력하셔야 합니다.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&quot;;  
		
		 // bad sequence check 
		 if (o.badSequenceLength &amp;amp;&amp;amp; pw.length &amp;gt;= o.length[0]) {
		  var lower   = &quot;abcdefghijklmnopqrstuvwxyz&quot;,
		   upper   = lower.toUpperCase(),
		   numbers = &quot;0123456789&quot;,
		   qwerty  = &quot;qwertyuiopasdfghjklzxcvbnm&quot;,
		   start   = o.badSequenceLength - 1,
		   seq     = &quot;_&quot; + pw.slice(0, start);
		  for (i = start; i &amp;lt; pw.length; i++) {
		   seq = seq.slice(1) + pw.charAt(i);
		   if (
			lower.indexOf(seq)   &amp;gt; -1 ||
			upper.indexOf(seq)   &amp;gt; -1 ||
			numbers.indexOf(seq) &amp;gt; -1 || 
			(o.noQwertySequences &amp;amp;&amp;amp; qwerty.indexOf(seq) &amp;gt; -1)
		   ) {
			return &quot;&amp;lt;p style='line-height:200%;'&amp;gt;비밀번호 안전도 &amp;lt;span style='color:#E5E5E5'&amp;gt;|&amp;lt;/span&amp;gt; &amp;lt;span style='color:#E3691E; font-weight:bold;'&amp;gt;낮음&amp;lt;/span&amp;gt;  &quot;
				+ &quot;&amp;lt;span style='color:#E3691E; font-weight:bold; font-size:20px; position: relative; top: 1.5px;'&amp;gt;―&amp;lt;/span&amp;gt;&quot;
				+ &quot;&amp;lt;span style='color:#E5E5E5; font-weight:bold; font-size:20px; position: relative; top: 1.5px;''&amp;gt;―&amp;lt;/span&amp;gt;&quot; 
				+ &quot;&amp;lt;span style='color:#E5E5E5; font-weight:bold; font-size:20px; position: relative; top: 1.5px;''&amp;gt;―&amp;lt;/span&amp;gt;&quot;  
				+ &quot;&amp;lt;br/&amp;gt;&quot;
				+ &quot;&amp;lt;span style='color:#999; font-weight:bold;'&amp;gt;안전도가 높은 비밀번호를 권장합니다.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&quot;; 
		   }
		  }
		 }
		 
		 //password 정규식 체크  
		 var re = {
		   lower:   /[a-z]/g,
		   upper:   /[A-Z]/g,
		   alpha:   /[A-Z]/gi,
		   numeric: /[0-9]/g,
		   special: /[\W_]/g
		  },
		  rule, i;
		  
		  var lower = (pw.match(re['lower']) || []).length &amp;gt; 0 ? 1 : 0; 
		  var upper = (pw.match(re['upper']) || []).length &amp;gt; 0 ? 1 : 0;
		  var numeric = (pw.match(re['numeric']) || []).length &amp;gt; 0 ? 1 : 0;
		  var special = (pw.match(re['special']) || []).length &amp;gt; 0 ? 1 : 0;
		  
		  //숫자로만 이루어지면 낮음
		  if((pw.match(re['numeric']) || []).length == pw.length  ) {
		   return &quot;&amp;lt;p style='line-height:200%;'&amp;gt;&amp;lt;span style='color:#E3691E; font-weight:bold;'&amp;gt;사용불가&amp;lt;/span&amp;gt; : 비밀번호 재작성 필요&quot; 
			   + &quot;&amp;lt;br/&amp;gt;&quot; 
			   + &quot;&amp;lt;span style='color:#999; font-weight:bold;'&amp;gt;영문 대소문자, 숫자 및 특수문자 사용&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&quot;;  
		  }
		  //숫자, 알파벳(대문자, 소문자), 특수문자 2가지 조합
		  else if(lower + upper + numeric + special &amp;lt;= 2){
		   return &quot;&amp;lt;p style='line-height:200%;'&amp;gt;비밀번호 안전도 &amp;lt;span style='color:#E5E5E5'&amp;gt;|&amp;lt;/span&amp;gt; &amp;lt;span style='color:#E3691E; font-weight:bold;'&amp;gt;낮음&amp;lt;/span&amp;gt;  &quot;
				+ &quot;&amp;lt;span style='color:#E3691E; font-weight:bold; font-size:20px; position: relative; top: 1.5px;'&amp;gt;―&amp;lt;/span&amp;gt;&quot;
				+ &quot;&amp;lt;span style='color:#E5E5E5; font-weight:bold; font-size:20px; position: relative; top: 1.5px;''&amp;gt;―&amp;lt;/span&amp;gt;&quot; 
				+ &quot;&amp;lt;span style='color:#E5E5E5; font-weight:bold; font-size:20px; position: relative; top: 1.5px;''&amp;gt;―&amp;lt;/span&amp;gt;&quot;  
				+ &quot;&amp;lt;br/&amp;gt;&quot;
				+ &quot;&amp;lt;span style='color:#999; font-weight:bold;'&amp;gt;안전도가 높은 비밀번호를 권장합니다.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&quot;; 
		  }
		  //숫자, 알파벳(대문자, 소문자), 특수문자 4가지 조합
		  else if(lower + upper + numeric + special &amp;lt;= 3) {
		   return &quot;&amp;lt;p style='line-height:200%;'&amp;gt;비밀번호 안전도 &amp;lt;span style='color:#E5E5E5'&amp;gt;|&amp;lt;/span&amp;gt; &amp;lt;span style='color:#E3691E; font-weight:bold;'&amp;gt;적정&amp;lt;/span&amp;gt;  &quot; 
				+ &quot;&amp;lt;span style='color:#E3691E; font-weight:bold; font-size:20px; position: relative; top: 1.5px;'&amp;gt;―&amp;lt;/span&amp;gt;&quot;
				+ &quot;&amp;lt;span style='color:#E3691E; font-weight:bold; font-size:20px; position: relative; top: 1.5px;''&amp;gt;―&amp;lt;/span&amp;gt;&quot; 
				+ &quot;&amp;lt;span style='color:#E5E5E5; font-weight:bold; font-size:20px; position: relative; top: 1.5px;''&amp;gt;―&amp;lt;/span&amp;gt;&quot;
				+ &quot;&amp;lt;br/&amp;gt;&quot; 
				+ &quot;&amp;lt;span style='color:#999; font-weight:bold;'&amp;gt;안전하게 사용하실 수 있는 비밀번호 입니다.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&quot;;
		  }
		  //숫자, 알파벳(대문자, 소문자), 특수문자 4가지 조합
		  else {
		   return &quot;&amp;lt;p style='line-height:200%;'&amp;gt;비밀번호 안전도 &amp;lt;span style='color:#E5E5E5'&amp;gt;|&amp;lt;/span&amp;gt; &amp;lt;span style='color:#E3691E; font-weight:bold;'&amp;gt;높음&amp;lt;/span&amp;gt;  &quot;
				+ &quot;&amp;lt;span style='color:#E3691E; font-weight:bold; font-size:20px; position: relative; top: 1.5px;'&amp;gt;―&amp;lt;/span&amp;gt;&quot;
				+ &quot;&amp;lt;span style='color:#E3691E; font-weight:bold; font-size:20px; position: relative; top: 1.5px;''&amp;gt;―&amp;lt;/span&amp;gt;&quot; 
				+ &quot;&amp;lt;span style='color:#E3691E; font-weight:bold; font-size:20px; position: relative; top: 1.5px;''&amp;gt;―&amp;lt;/span&amp;gt;&quot; 
				+ &quot;&amp;lt;br/&amp;gt;&quot; 
				+ &quot;&amp;lt;span style='color:#999; font-weight:bold;'&amp;gt;예측하기 힘든 비밀번호로 더욱 안전합니다.&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&quot;;
		  }
				
		 // enforce the no sequential, identical characters rule
		 if (o.noSequential &amp;amp;&amp;amp; /([\S\s])\1/.test(pw))
		  return &quot;no sequential&quot;;
		  
		 // enforce word ban (case insensitive) 
		 for (i = 0; i &amp;lt; o.badWords.length; i++) {
		  if (pw.toLowerCase().indexOf(o.badWords[i].toLowerCase()) &amp;gt; -1)
		   return &quot;bad word&quot;;
		 }
		
		 // enforce custom regex/function rules
		 for (i = 0; i &amp;lt; o.custom.length; i++) {
		  rule = o.custom[i];
		  if (rule instanceof RegExp) {
		   if (!rule.test(pw))
			return &quot;custom&quot;;
		  } else if (rule instanceof Function) {
		   if (!rule(pw))
			return &quot;custom&quot;;
		  }
		 }
	}; 
	
	$(document).ready(function() { 
		$(&quot;#ch_new_pw&quot;).off(&quot;focus&quot;).on(&quot;focus&quot;, function() { 
			var value = $(this).val(); 
				$('.js-mytooltip-pw').myTooltip('updateContent', getPwContent(value));
		}); 
		
		$(&quot;#ch_new_pw&quot;).off(&quot;click&quot;).on(&quot;click&quot;, function() { 
			var value = $(this).val(); 
			if(!isNull(value)) {
				$('.js-mytooltip-pw').myTooltip('updateContent', getPwContent(value));  
			}
		});
		
		$(&quot;#ch_new_pw&quot;).off(&quot;keyup&quot;).on(&quot;keyup&quot;, function() {
			$(&quot;#ch_new_pw&quot;).blur(); 
			$(&quot;#ch_new_pw&quot;).focus();   
		});

		//비밀번호 안정성 tooltip
		$('.js-mytooltip-pw').myTooltip({ 
			'offset': 30,
			'theme': 'light',
			'customClass': 'mytooltip-content',   
			'content':
			'&amp;lt;p&amp;gt;t&amp;lt;/p&amp;gt;'  
		});
	});	
  &amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;div style=&quot;&quot;&gt;&lt;div style=&quot;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;4. 실행&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;) 비밀번호를 6자리 미만으로 입력했을 경우&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 661px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99BAE9335A0A64B920&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99BAE9335A0A64B920&quot; width=&quot;661&quot; height=&quot;349&quot; filename=&quot;1.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;2) 숫자로만 이루어진 비밀번호일 경우&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 677px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995A0E335A0A655324&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995A0E335A0A655324&quot; width=&quot;677&quot; height=&quot;353&quot; filename=&quot;5.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;3) 숫자 or 영문 소문자 or 영문 대문자 or 특수문자 2가지 조합&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 608px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A003335A0A64302E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A003335A0A64302E&quot; width=&quot;608&quot; height=&quot;309&quot; filename=&quot;2.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;4) 숫자 or 영문 소문자 or 영문 대문자 or 특수문자 3가지 조합&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 608px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E903335A0A64302D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E903335A0A64302D&quot; width=&quot;608&quot; height=&quot;319&quot; filename=&quot;3.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;5) 숫자 or 영문 소문자 or 영문 대문자 or 특수문자 4가지 조합&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 608px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9996B3335A0A643030&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9996B3335A0A643030&quot; width=&quot;608&quot; height=&quot;328&quot; filename=&quot;4.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/javascript</category>
      <category>bootstrap</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <category>password validation</category>
      <category>비밀번호 체크</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/38</guid>
      <comments>https://gongcha.tistory.com/38#entry38comment</comments>
      <pubDate>Thu, 23 Nov 2017 12:14:32 +0900</pubDate>
    </item>
    <item>
      <title>angular2에서 jquery 사용하기</title>
      <link>https://gongcha.tistory.com/35</link>
      <description>&lt;h2 style=&quot;margin: 0px 0px 1em; padding: 0px; border: 0px; font-variant-numeric: inherit; font-weight: 400; font-stretch: inherit; font-size: 19px; line-height: 1.3; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; vertical-align: baseline; word-wrap: break-word; color: rgb(36, 39, 41);&quot;&gt;angular2에서 jquery 사용하기&lt;/h2&gt;&lt;h2 style=&quot;margin: 0px 0px 1em; padding: 0px; border: 0px; font-variant-numeric: inherit; font-weight: 400; font-stretch: inherit; font-size: 19px; line-height: 1.3; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; vertical-align: baseline; word-wrap: break-word; color: rgb(36, 39, 41);&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;참고 : https://stackoverflow.com/questions/30623825/how-to-use-jquery-with-angular2&lt;/span&gt;&lt;/h2&gt;&lt;h2 style=&quot;margin: 0px 0px 1em; padding: 0px; border: 0px; font-variant-numeric: inherit; font-weight: 400; font-stretch: inherit; font-size: 19px; line-height: 1.3; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; vertical-align: baseline; word-wrap: break-word; color: rgb(36, 39, 41);&quot;&gt;STEP 1 - First things first&lt;/h2&gt;&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;margin-top: 0px; margin-bottom: 1em; padding: 5px; border: 0px; font-variant-numeric: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; width: auto; max-height: 600px; overflow: auto; background-color: rgb(239, 240, 241); color: rgb(57, 51, 24); word-wrap: normal;&quot;&gt;&lt;code style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;// In the console&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;// First install jQuery&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
npm install &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;save jquery
&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;// and jQuery Definition&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
npm install &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;D &lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;@types&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;jquery&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 style=&quot;margin: 0px 0px 1em; padding: 0px; border: 0px; font-variant-numeric: inherit; font-weight: 400; font-stretch: inherit; font-size: 19px; line-height: 1.3; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; vertical-align: baseline; word-wrap: break-word; color: rgb(36, 39, 41);&quot;&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 style=&quot;margin: 0px 0px 1em; padding: 0px; border: 0px; font-variant-numeric: inherit; font-weight: 400; font-stretch: inherit; font-size: 19px; line-height: 1.3; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; vertical-align: baseline; word-wrap: break-word; color: rgb(36, 39, 41);&quot;&gt;STEP 2 - IMPORT&lt;/h2&gt;&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;margin-top: 0px; margin-bottom: 1em; padding: 5px; border: 0px; font-variant-numeric: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; width: auto; max-height: 600px; overflow: auto; background-color: rgb(239, 240, 241); color: rgb(57, 51, 24); word-wrap: normal;&quot;&gt;&lt;code style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;// Now, within any of the app files (ES2015 style)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(16, 16, 148);&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(16, 16, 148);&quot;&gt;as&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; $ &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(16, 16, 148);&quot;&gt;from&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;'jquery'&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
$&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;'#elemId'&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;// OR&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;// CommonJS style - working with &quot;require&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(16, 16, 148);&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; $ &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(16, 16, 148);&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;'jquery'&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
$&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;'#elemId'&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;();&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 style=&quot;margin: 0px 0px 1em; padding: 0px; border: 0px; font-variant-numeric: inherit; font-weight: 400; font-stretch: inherit; font-size: 19px; line-height: 1.3; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; vertical-align: baseline; word-wrap: break-word; color: rgb(36, 39, 41);&quot;&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 style=&quot;margin: 0px 0px 1em; padding: 0px; border: 0px; font-variant-numeric: inherit; font-weight: 400; font-stretch: inherit; font-size: 19px; line-height: 1.3; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; vertical-align: baseline; word-wrap: break-word; color: rgb(36, 39, 41);&quot;&gt;#UPDATE -&amp;nbsp;&lt;code style=&quot;font-weight: inherit; margin: 0px 0px 0.5em; padding: 1px 5px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; background-color: rgb(239, 240, 241); white-space: pre-wrap;&quot;&gt;Feb - 2017&lt;/code&gt;&lt;/h2&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; vertical-align: baseline; clear: both; color: rgb(36, 39, 41);&quot;&gt;Lately, I'm writing code with&amp;nbsp;&lt;code style=&quot;margin: 0px; padding: 1px 5px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 13px; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; background-color: rgb(239, 240, 241); white-space: pre-wrap;&quot;&gt;ES6&lt;/code&gt;&amp;nbsp;instead of&amp;nbsp;&lt;code style=&quot;margin: 0px; padding: 1px 5px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 13px; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; background-color: rgb(239, 240, 241); white-space: pre-wrap;&quot;&gt;typescript&lt;/code&gt;&amp;nbsp;and am able to&amp;nbsp;&lt;code style=&quot;margin: 0px; padding: 1px 5px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 13px; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; background-color: rgb(239, 240, 241); white-space: pre-wrap;&quot;&gt;import&lt;/code&gt;&amp;nbsp;without&amp;nbsp;&lt;code style=&quot;margin: 0px; padding: 1px 5px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 13px; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; background-color: rgb(239, 240, 241); white-space: pre-wrap;&quot;&gt;* as $&lt;/code&gt;&amp;nbsp;in the&amp;nbsp;&lt;code style=&quot;margin: 0px; padding: 1px 5px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: 13px; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; background-color: rgb(239, 240, 241); white-space: pre-wrap;&quot;&gt;import statement&lt;/code&gt;. This is what it looks like now:&lt;/p&gt;&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;margin-top: 0px; margin-bottom: 1em; padding: 5px; border: 0px; font-variant-numeric: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; width: auto; max-height: 600px; overflow: auto; background-color: rgb(239, 240, 241); color: rgb(57, 51, 24); word-wrap: normal;&quot;&gt;&lt;code style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;kwd&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(16, 16, 148);&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; $ &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(16, 16, 148);&quot;&gt;from&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;'jquery'&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(133, 140, 147);&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;
$&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(125, 39, 39);&quot;&gt;'#elemId'&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; color: rgb(48, 51, 54);&quot;&gt;();&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이후 블로그를 검색하다가 찾은 글입니다.&amp;nbsp; (https://joshuajangblog.wordpress.com/2016/07/23/jquery-vs-angular/)&lt;/p&gt;&lt;p&gt;jquery를 사용하지 않고 angular2 기능을 사용하여 대부분 구현가능하기 때문에&amp;nbsp;&lt;/p&gt;&lt;p&gt;결론은 angular2에서 jquery를 사용하지 마라는..&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Angular</category>
      <category>angular2</category>
      <category>jQuery</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/35</guid>
      <comments>https://gongcha.tistory.com/35#entry35comment</comments>
      <pubDate>Mon, 17 Jul 2017 22:59:45 +0900</pubDate>
    </item>
    <item>
      <title>[firebase] Firebase 호스팅 - 도메인 연결</title>
      <link>https://gongcha.tistory.com/31</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt; background-color: rgb(255, 255, 255);&quot;&gt;Firebase 도메인 생성&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(255, 255, 255);&quot;&gt;Firebase 호스팅을 통해&amp;nbsp;firebaseapp.com 하위 도메인을 생성할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;1. Firebase CLI 설치&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(255, 255, 255);&quot;&gt;Firebase CLI(명령줄 인터페이스)에는 Node.js 및 npm이 필요합니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;명령어 : &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;npm install -g firebase-tools&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(55, 71, 79); font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(55, 71, 79); font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(55, 71, 79); font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 10pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;2. 앱 초기화&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(255, 255, 255);&quot;&gt;프로젝트 디렉토리에서 초기화&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;명령어 :&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;background-color: rgb(132, 132, 132); color: rgb(255, 255, 255); font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 10pt;&quot;&gt;firebase init&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); color: rgb(55, 71, 79); font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); color: rgb(55, 71, 79); font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(247, 247, 247);&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;3. 웹사이트 배포&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;명령어 : firebase deploy&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(255, 255, 255);&quot;&gt;배포되면 아래와 같은 도메인이 생성된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(255, 255, 255);&quot;&gt;도메인 : &amp;lt;YOUR-FIREBASE-APP&amp;gt;.firebaseapp.com&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(255, 255, 255);&quot;&gt;firebase 콘솔에서 도메인을 확인할 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(255, 255, 255);&quot;&gt;console.firebase.google.com&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 10pt; background-color: rgb(255, 255, 255);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;span style=&quot;font-size: 13.3333px; background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;명령어 : firebase serve (&lt;/span&gt;&lt;/font&gt;&lt;b style=&quot;font-variant-ligatures: no-common-ligatures; font-family: Menlo; font-size: 11px;&quot;&gt;&lt;span style=&quot;background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;http://localhost:5000 로컬에서 확인&lt;/span&gt;&lt;span style=&quot;background-color: rgb(132, 132, 132); color: rgb(255, 255, 255);&quot;&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff}
span.s1 {text-decoration: underline ; font-variant-ligatures: no-common-ligatures}
&lt;/style&gt;


&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 525px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/244DDA3558C4474722&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F244DDA3558C4474722&quot; width=&quot;300&quot; height=&quot;525&quot; filename=&quot;스크린샷 2017-03-12 오전 3.50.57.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 525px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(247, 247, 247); font-size: 14px;&quot;&gt;&lt;font color=&quot;#37474f&quot; face=&quot;Roboto Mono, monospace&quot;&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;출처 :&amp;nbsp;https://firebase.google.com/docs/hosting/quickstart&lt;/span&gt;&lt;/p&gt;</description>
      <category>웹개발/firebase</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/31</guid>
      <comments>https://gongcha.tistory.com/31#entry31comment</comments>
      <pubDate>Sun, 12 Mar 2017 03:54:08 +0900</pubDate>
    </item>
    <item>
      <title>[Mac editor] sublime3 단축키 정리</title>
      <link>https://gongcha.tistory.com/30</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 24pt;&quot;&gt;유용한 Sublime3 단축키 정리&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1. &lt;b&gt;ctrl + command + P&lt;/b&gt; : 프로젝트 변경&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. &lt;b&gt;command + P&lt;/b&gt; : 프로젝트내 파일 검색&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3. &lt;b&gt;command + 숫자&lt;/b&gt; : 숫자로 텝이동&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;command + Alt + &amp;lt;- -&amp;gt;&lt;/b&gt; : 화살표로 텝이동&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;4. &lt;u&gt;&lt;b&gt;Alt + command + 1,2,3,4,5&lt;/b&gt; : 화면 분할&amp;nbsp;(세로)&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Shigt + Alt + command + 2,3 : 화면분할(가로)&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;5. &lt;b&gt;command + L&lt;/b&gt; : 한줄 선택&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;Shift + command + L&lt;/b&gt; : 동일한 요소 선택&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;6. &lt;b&gt;command + D&lt;/b&gt; : 선택된 값과 동일한 값 선택&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Shift + command + D : 동시에 복사&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;7. &lt;b&gt;ctrl + command + G&lt;/b&gt; : 동시에 같은 값 모두 찾기&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;8.&amp;nbsp;&lt;b&gt;command + R&lt;/b&gt;&amp;nbsp;: Function 및 id, class 입력하여 찾기&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;9. &lt;b&gt;ctrl + command + 상,하 화살표&lt;/b&gt; : 줄의 위치를 바꿈&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;10. &lt;b&gt;tab&lt;/b&gt; : 태그 입력 중 tab 누르면 자동완성&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;command + Alt + .(마침표)&lt;/b&gt; : 태그 자동완성&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;11. &lt;b&gt;command + 마우스 클릭&lt;/b&gt; : 여러개의 커서를 만듬&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;Alt + 마우스 드래그&lt;/b&gt; : 박스 선택&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;출처 :&amp;nbsp;http://osxtip.tistory.com/319&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Tool</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/30</guid>
      <comments>https://gongcha.tistory.com/30#entry30comment</comments>
      <pubDate>Mon, 6 Mar 2017 23:00:55 +0900</pubDate>
    </item>
    <item>
      <title>[Mac Editor] sublime text3 설치</title>
      <link>https://gongcha.tistory.com/28</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;sublime text3&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;다운로드 사이트&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;https://www.sublimetext.com/3&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;설정&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;커맨드 창에서 아래 명령어를 입력하면 subl로 프로그램을 실행할 수 있습니다.&lt;/p&gt;
&lt;p&gt;ln -s &quot;/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl&quot; /usr/local/bin/subl&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;export EDITOR='subl -w'&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;실행&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;subl로 실행 : subl . 또는 파일명&lt;/p&gt;
&lt;p&gt;subl --help&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/211A173658A8963020&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F211A173658A8963020&quot; width=&quot;820&quot; height=&quot;327&quot; filename=&quot;스크린샷 2017-02-19 오전 3.44.32.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;package control 설치&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;콘솔창&amp;nbsp;(단축키: Ctrl+`, 메뉴: View &amp;gt; Show Console menu)에서 다음 입력&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class=&quot;brush: js;&quot;&gt;import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2507575058A8A3CB1C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2507575058A8A3CB1C&quot; width=&quot;820&quot; height=&quot;430&quot; filename=&quot;스크린샷 2017-02-19 오전 3.49.36.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;package 설치&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Tools-&amp;gt;Command Pallet 또는 (Ctrl-Shift-P) 를 클릭&lt;/p&gt;
&lt;p&gt;package control을 설치했다면 이제 패키지를 설치 할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Command + Shift + P를 눌러서 커맨트 팔레트를 열고 pci를 입력(Package Control: Package Install)&amp;nbsp;선택&lt;/p&gt;
&lt;p&gt;검색창에서 설치하려는 패키지를 검색하여 선택해주면 설치 완료&lt;/p&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Sublime 주요 기능&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;- Fast File Switcing&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;Ctrl-P, or Command + P 를 누르고 파일명의 일부를 치면 프로젝트내의 파일로 빠르게 이동 가능&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;- Multi Selection&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;마우스나 키보드를 사용하여 블록을 지정&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;블록과 같은 내용을 모두 선택하려면 Alg-F3(Win), &amp;nbsp;Ctrl + Command + G(Mac) &amp;nbsp;-&amp;gt; 하단에 selection 된 갯수 표시&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;수동으로 지정하려면 Ctrl 을 누르고 마우스 클릭&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;편집을 시작하면 selection 된 부분이 일괄 수정됨&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;- Page Crawling&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;Ctrl-R(Win), Command-R(Mac)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;현재 페이지의 function 이 list up 되어 표시&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;- Goto Line&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;Ctrl-G 를 누르고 라인 번호 입력&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- Show Side bar&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;command + K command + B&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Color Scheme package 설치&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;https://packagecontrol.io/browse/labels/color%20scheme&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위 사이트에서 선택하여 package 다운로드&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;install package 검색&lt;/p&gt;&lt;p&gt;Dayle Rees Color Schemes 검색 엔터&lt;/p&gt;&lt;p&gt;Preferences -&amp;gt; Color Scheme -&amp;gt; Dayle Rees Color Schemes 메뉴 확인&lt;/p&gt;&lt;p&gt;원하는 컬러 스킴 선택 다운로드&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;출처: http://sonim1.tistory.com/128 [피와 살이되는 블로그]&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;출처&lt;/b&gt;&amp;nbsp;:&amp;nbsp;https://www.sublimetext.com/docs/3/osx_command_line.html&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot;&gt;&amp;nbsp; https://www.lesstif.com/pages/viewpage.action?pageId=9437318#SublimeText3설치및설정-Packagecontrol설치&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot;&gt;&amp;nbsp;&amp;nbsp;http://sonim1.tistory.com/127&lt;/p&gt;
&lt;p style=&quot;margin-left: 2em;&quot;&gt;&amp;nbsp; https://packagecontrol.io/browse&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Tool</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/28</guid>
      <comments>https://gongcha.tistory.com/28#entry28comment</comments>
      <pubDate>Sun, 19 Feb 2017 04:44:01 +0900</pubDate>
    </item>
    <item>
      <title>[Java] Gmail SMTP 메일 송신 예제</title>
      <link>https://gongcha.tistory.com/27</link>
      <description>&lt;span style=&quot;font-size: 18pt; color: rgb(65, 116, 217);&quot;&gt;&lt;b&gt;구글 SMTP 메일 송신 예제&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;메일 송신이 가능하기 위한 준비가 필요하다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. mail.jar 라이브러리 추가&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. gmail 계정 환경설정&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;구글 gmail 인증을 위한 Class

&lt;/b&gt;&lt;/p&gt;&lt;pre class=&quot;brush: js;&quot;&gt;import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

//구글 gmail 인증을 위한 Class
public class MyAuthentication extends Authenticator {
      
    PasswordAuthentication pa;
 
    public MyAuthentication(){	//생성자를 통해 구글 ID/PW 인증
         
        String id = &quot;구글 mail ID&quot;;       // 구글 ID
        String pw = &quot;비밀번호&quot;;          // 구글 비밀번호
 
        // ID와 비밀번호를 입력한다.
        pa = new PasswordAuthentication(id, pw);
    }
 
    // 시스템에서 사용하는 인증정보
    public PasswordAuthentication getPasswordAuthentication() {
        return pa;
    }
}
&lt;/pre&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;구글 gmail 발송 코드

&lt;/b&gt;&lt;/p&gt;&lt;pre class=&quot;brush: js;&quot;&gt;import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.swing.JOptionPane;

public class GmailSend{
//전역변수 사용안함.
	
	//action 
	public void GmailSet(String user, String text, String content){
		Properties p = System.getProperties();
        p.put(&quot;mail.smtp.starttls.enable&quot;, &quot;true&quot;);     
        p.put(&quot;mail.smtp.host&quot;, &quot;smtp.gmail.com&quot;);      // smtp 서버 호스트
        p.put(&quot;mail.smtp.auth&quot;,&quot;true&quot;);
        p.put(&quot;mail.smtp.port&quot;, &quot;587&quot;);                 // gmail 포트
           
        Authenticator auth = new MyAuthentication();	//구글 계정 인증
         
        //session 생성 및  MimeMessage생성
        Session session = Session.getDefaultInstance(p, auth);
        MimeMessage msg = new MimeMessage(session);
        String fromName = &quot;발신자 닉네임&quot;;
        String charSet = &quot;UTF-8&quot;;
        
        try{
            // 편지보낸시간 설정
            msg.setSentDate(new Date());
             
            // 송신자 설정
            InternetAddress from = new InternetAddress() ;
            from = new InternetAddress(new String(fromName.getBytes(charSet), &quot;8859_1&quot;) + &quot;&amp;lt;발신자 구글 이메일@gmail.com&amp;gt;&quot;);
            msg.setFrom(from);
             
            // 수신자 설정
            InternetAddress to = new InternetAddress(user);
            msg.setRecipient(Message.RecipientType.TO, to);
            
            // 제목 설정
            msg.setSubject(text, &quot;UTF-8&quot;);
            
            msg.setText(content, &quot;UTF-8&quot;);	//내용 설정
            
            // 메일 송신
            Transport.send(msg);	
            
            System.out.println(&quot;메일 발송을 완료하였습니다.&quot;);
        }catch (AddressException addr_e) {	//예외처리 주소를 입력하지 않을 경우
        	JOptionPane.showMessageDialog(null, &quot;메일을 입력해주세요&quot;, &quot;메일주소입력&quot;, JOptionPane.ERROR_MESSAGE);
            addr_e.printStackTrace();
        }catch (MessagingException msg_e) {	//메시지에 이상이 있을 경우
        	JOptionPane.showMessageDialog(null, &quot;메일을 제대로 입력해주세요.&quot;, &quot;오류발생&quot;, JOptionPane.ERROR_MESSAGE);
            msg_e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

&lt;/pre&gt;&lt;b&gt;

실행 코드는 다음과 같이 입력하면 메일이 발송된다.
&lt;/b&gt;&lt;pre class=&quot;brush: js;&quot;&gt;GmailSend mail = new GmailSend();
mail.GmailSet(&quot;발신자 구글 이메일@gmail.com&quot;, &quot;제목&quot;, &quot;내용&quot;);
&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Java</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/27</guid>
      <comments>https://gongcha.tistory.com/27#entry27comment</comments>
      <pubDate>Sat, 21 Jan 2017 19:35:12 +0900</pubDate>
    </item>
    <item>
      <title>[아이오닉] ionic 2.0 Deploy</title>
      <link>https://gongcha.tistory.com/26</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;아이오닉 2.0 app deploy&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;1. app id, app key&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;cd 프로젝트 폴더&lt;/p&gt;&lt;p&gt;ionic io init&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;vim ionic.config.json&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;자동으로 app 이름과 app id가&amp;nbsp;입력된걸 확인할 수 있다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 492px; width: 492px; height: 400px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/257B194858823C752C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F257B194858823C752C&quot; width=&quot;492&quot; height=&quot;400&quot; filename=&quot;스크린샷 2017-01-21 오전 1.30.43.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 492px; height: 400px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;2. ionic platform 설치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ionic platform add android&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic platform add ios&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ionic serve --lab&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;ios, android 형식으로 각각 확인할 수 있음&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;3. emulate 실행&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;xcode 설치&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;ionic emulate ios&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none; text-align: left;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 250px; width: 250px; height: 458px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/250B414558B84A7739&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F250B414558B84A7739&quot; width=&quot;250&quot; height=&quot;458&quot; filename=&quot;스크린샷 2017-03-03 오전 1.37.36.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 250px; height: 458px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;4. iphone deivice 실행&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;ionic run ios&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;또는 ionic run ios --device&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;b&gt;오류 참고 :&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;sudo npm install ios-deploy -g&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;sudo npm install --global --unsafe-perm ios-deploy&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;http://stackoverflow.com/questions/39524148/requires-a-development-team-select-a-development-team-in-the-project-editor-cod&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff}
span.s1 {font-variant-ligatures: no-common-ligatures}
&lt;/style&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/ionic</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/26</guid>
      <comments>https://gongcha.tistory.com/26#entry26comment</comments>
      <pubDate>Sat, 21 Jan 2017 02:24:02 +0900</pubDate>
    </item>
    <item>
      <title>ionic2 앱개발 시작하기</title>
      <link>https://gongcha.tistory.com/25</link>
      <description>&lt;h4&gt;&lt;span style=&quot;color: rgb(68, 68, 68); font-size: 18pt;&quot;&gt;관련&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(68, 68, 68); font-size: 18pt;&quot;&gt;문서&lt;/span&gt;&lt;/h4&gt;&lt;pre&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;&lt;/span&gt;&lt;a href=&quot;http://ionicframework.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;http://ionicframework.com/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;  &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;ionic 2.0 framework&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/27185A505880D5ED04&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F27185A505880D5ED04&quot; width=&quot;820&quot; height=&quot;444&quot; filename=&quot;스크린샷 2017-01-20 오전 12.05.48.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;&lt;span style=&quot;font-size: 18pt; color: rgb(0, 85, 255);&quot;&gt;아이오닉 2.0&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;1.&amp;nbsp;아이오닉2 설치&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;npm install -g cordova ionic&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;2. 아이오닉2 프로젝트 생성&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ionic start --v2 myApp blank&lt;/p&gt;&lt;p&gt;(tabs, sidemenu, blank, tutorial 기본 템플릿 제공)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;3. 로컬 웹브라우저에서 실행&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;cd myApp&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic serve&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;4. 안드로이드 실행&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Requirements&amp;nbsp;&lt;/p&gt;&lt;p&gt;java jdk 설치 : http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html&lt;/p&gt;&lt;p&gt;안드로이드 스튜디오 설치 : https://developer.android.com/studio/index.html&lt;/p&gt;&lt;p&gt;안드로이드 SDK 업데이트 :&amp;nbsp;https://developer.android.com/studio/intro/update.html&lt;/p&gt;&lt;p&gt;gradle 설치 : https://gradle.org/install/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;안드로이드 플랫폼 설치&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic platform add android&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;에뮬레이터 실행&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic build android&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic emulate android&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;모바일에서 직접 실행&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic run android 또는 ionic run android --device&amp;nbsp;&lt;/p&gt;&lt;p&gt;/platforms/android/build/outputs/apk/debug 경로에 apk 생성&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;5. IOS 실행&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Requirements&amp;nbsp;&lt;/p&gt;&lt;p&gt;xcode 7 이상 다운로드&amp;nbsp;&lt;/p&gt;&lt;p&gt;IOS 9 이상&amp;nbsp;&lt;/p&gt;&lt;p&gt;Xcode &amp;gt; Preferences- Accounts 개발자등록&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;IOS 플랫폼 설치&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic platform add ios&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;에뮬레이터 실행&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic build ios&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic emulate ios&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;모바일에서 직접 실행&amp;nbsp;&lt;/p&gt;&lt;p&gt;ionic run ios 또는 ionic run --device&amp;nbsp;&lt;/p&gt;&lt;p&gt;/platforms/ios/AppID.xcodeproj 파일을 Xcode로 실행하여 실행&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/ionic</category>
      <category>ionic2</category>
      <category>모바일</category>
      <category>아이오닉2</category>
      <category>앱개발</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/25</guid>
      <comments>https://gongcha.tistory.com/25#entry25comment</comments>
      <pubDate>Fri, 20 Jan 2017 00:29:34 +0900</pubDate>
    </item>
    <item>
      <title>[API] highcharts api (그래프)</title>
      <link>https://gongcha.tistory.com/24</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;HIGH CHARTS API &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;공식 홈페이지 : http://www.highcharts.com/&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2509BC3B5880BC252C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2509BC3B5880BC252C&quot; width=&quot;820&quot; height=&quot;443&quot; filename=&quot;스크린샷 2017-01-19 오후 10.15.55.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;HTML5 &amp;amp; 자바스크립트 기반의 그래프 &amp;amp; 차트&amp;nbsp;API입니다.&lt;/p&gt;&lt;p&gt;ERP 홈페이지에 막대형 그래프를 만들일이 있어 찾아보다가 발견했습니다&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;장점은 구현하기 쉽고 (HTML, 자바스크립트만 다룰줄 안다면)&lt;/p&gt;&lt;p&gt;데모버전이 많이 나와있으며&amp;nbsp;&lt;/p&gt;&lt;p&gt;필요한 기능을 직접 구현할 수 있다는 점&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래와 같이 데모버전 소스를 확인하고 수정해가면서 원하는 기능을 넣으면 됩니다. (복잡한 그래프, 간단한 그래프, 차트 등 다양함)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/271AD2455880BDA432&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F271AD2455880BDA432&quot; width=&quot;820&quot; height=&quot;456&quot; filename=&quot;스크린샷 2017-01-19 오후 10.20.56.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Tool</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/24</guid>
      <comments>https://gongcha.tistory.com/24#entry24comment</comments>
      <pubDate>Thu, 19 Jan 2017 22:23:30 +0900</pubDate>
    </item>
    <item>
      <title>[아이오닉] Ionic Framework 하이브리드앱개발</title>
      <link>https://gongcha.tistory.com/23</link>
      <description>&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif; text-align: left; clear: none; float: none;&quot;&gt;&lt;img src=&quot;http://hbn-blog-assets.s3.amazonaws.com/saltfactory/images/95e7952d-0bc7-4c64-bfd6-ce6c3ce215d8&quot; alt=&quot;&quot; style=&quot;margin-top: 0px; margin-bottom: 30px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-stretch: inherit; line-height: inherit; font-family: &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica-Neue, helvetica, sans-serif; font-size: 18px; vertical-align: baseline; display: block; max-width: 100%; min-height: 40px; border-radius: 2px; color: rgb(33, 39, 45);&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;&lt;b&gt;Homebrew 사용(참고 : http://brew.sh/index_ko.html)&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;ruby -e “$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”&lt;br /&gt;brew doctor&lt;br /&gt;brew install node&lt;br /&gt;brew install wget&lt;br /&gt;brew install ant&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;npm install -g cordova phongap&lt;br /&gt;npm install -g ionic&lt;br /&gt;npm install -g ios-simcd&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;ionic start demo-app&lt;br /&gt;cd demo-app&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;ionic platform add ios&lt;br /&gt;ionic build ios&lt;br /&gt;ionic emulate ios&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;ionic platform add android&lt;br /&gt;ionic build android&lt;br /&gt;ionic emulator android&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif; text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 200px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/27537346584304EB01&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F27537346584304EB01&quot; width=&quot;200&quot; height=&quot;57&quot; filename=&quot;스크린샷 2016-12-04 오전 2.44.18.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif; text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 20px; padding: 0px; border: 0px; font-size: 14px; vertical-align: baseline; line-height: 1.71429; color: rgb(68, 68, 68); font-family: Ubuntu, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/ionic</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/23</guid>
      <comments>https://gongcha.tistory.com/23#entry23comment</comments>
      <pubDate>Sun, 4 Dec 2016 02:47:40 +0900</pubDate>
    </item>
    <item>
      <title>[Javascript] object type JSON 변환</title>
      <link>https://gongcha.tistory.com/22</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;자바스크립트 JSON&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;reference 타입의 데이터는 서버 간의 전송시에 직렬화를 해주어야 한다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;ex)&lt;/p&gt;
&lt;p&gt;var man = {'firstname' : '홍', 'lastname' : '길동'}; &amp;nbsp;// object type&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;직렬화&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;brush: js;&quot;&gt;var str_man = JSON.stringify(man);&amp;nbsp; &amp;nbsp; //string type&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;JSON Castring&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;brush: js;&quot;&gt;var obj_man = JSON.parse(str_man);&amp;nbsp; &amp;nbsp; //object type&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/javascript</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/22</guid>
      <comments>https://gongcha.tistory.com/22#entry22comment</comments>
      <pubDate>Mon, 28 Nov 2016 01:01:23 +0900</pubDate>
    </item>
    <item>
      <title>비쥬얼 스튜디오(Visual Studio) 디버깅 방법</title>
      <link>https://gongcha.tistory.com/21</link>
      <description>&lt;p&gt;&lt;font face=&quot;Spoqa Han Sans, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Visual Studio 디버깅 방법&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;F5 : Debug 모드 실행&lt;/span&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;F9 : BreakPoint&amp;nbsp;(멈춤지정)&lt;/span&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;F10 : Step Over (다음줄로)&lt;/span&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;F11 : Step Into (함수 안으로 들어감)&lt;/span&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;F5 : 다음 BreakPoint 까지 작동&lt;/span&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;Alt + 7 : Call Stack 윈도우&lt;/span&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;Alt + 3 : Watch 윈도우&lt;/span&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;Shift + F11 : 현재 루틴에서 빠져나온다.&lt;/span&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(92, 92, 92); font-family: &amp;quot;Spoqa Han Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;Shift + F5 : 강제로 디버깅 모드 종료&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/C++</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/21</guid>
      <comments>https://gongcha.tistory.com/21#entry21comment</comments>
      <pubDate>Tue, 15 Nov 2016 12:54:18 +0900</pubDate>
    </item>
    <item>
      <title>[스프링(Spring)] 웹개발 카카오톡 로그인 REST API 구현 [3]</title>
      <link>https://gongcha.tistory.com/20</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;[3] 사용자 정보 요청&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;list-style: none; padding: 0px; box-sizing: border-box; margin-bottom: 0px; margin-right: 0px; margin-left: 30px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251); margin-top: 10px !important;&quot;&gt;&lt;li style=&quot;list-style: disc; box-sizing: border-box; margin-top: 0px;&quot;&gt;id: 카카오톡 앱 연결과정에서 발급되는 고유한 id&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;box-sizing: border-box; margin-bottom: 0px; list-style: none; margin-right: 0px; margin-left: 30px; padding: 0px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251); margin-top: 10px !important;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc; margin-top: 0px;&quot;&gt;nickname: 카카오톡 또는 카카오스토리의 닉네임 정보&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc; margin-top: 10px;&quot;&gt;profile_image: 480px * 480px ~ 1024px * 1024px 크기의 카카오톡 또는 카카오스토리의 프로필 이미지 URL&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc; margin-top: 10px;&quot;&gt;thumbnail_image: 110px * 110px(카카오톡 썸네일 프로필 이미지) 또는 160px * 213px(카카오스토리 썸네일 프로필 이미지, 160*213 크기의 범위내에서 이미지 비율에 맞게 변경) 크기의 프로필 이미지의 썸네일 URL&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 15px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif;&quot;&gt;[Request]&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; padding: 8px 10px; margin-top: 13px; margin-bottom: 13px; line-height: 1.42857; color: rgb(102, 102, 102); word-break: break-all; word-wrap: break-word; background: rgb(255, 255, 255); border: 1px solid rgb(230, 230, 230); border-radius: 0px;&quot;&gt;&lt;code class=&quot;http hljs&quot; style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0.5em; color: rgb(224, 226, 228); background: rgb(0, 31, 53); border-radius: 0px; white-space: pre-wrap; display: block; overflow-x: auto; text-size-adjust: none; line-height: 1.4;&quot;&gt;&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;GET/POST /v1/user/me HTTP/1.1
Host&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;kapi.kakao.com&lt;/span&gt;
&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;Authorization&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;Bearer {access_token}&lt;/span&gt;
&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;Content-type&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;application/x-www-form-urlencoded;charset=utf-8&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 15px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif;&quot;&gt;[Response]&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 12px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;사용자 정보 요청이 성공하면 응답 바디에 JSON 객체로 아래 값을 포함합니다.&lt;/p&gt;&lt;table style=&quot;box-sizing: border-box; border-spacing: 0px; border-collapse: collapse; background-color: rgb(251, 251, 251); width: 756px; margin-top: 10px; border: 1px solid rgb(230, 230, 230); color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;thead style=&quot;box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 0px 5px 10px; text-align: left; border-top: 1px solid rgb(230, 230, 230); background: rgb(243, 243, 243); width: 151px;&quot;&gt;키&lt;/th&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 0px 5px; text-align: left; border-top: 1px solid rgb(230, 230, 230); background: rgb(243, 243, 243);&quot;&gt;설명&lt;/th&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 0px 5px; text-align: left; border-top: 1px solid rgb(230, 230, 230); background: rgb(243, 243, 243); width: 113px;&quot;&gt;타입&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px 10px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px; width: 70px;&quot;&gt;id&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px;&quot;&gt;유저의 고유 ID&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 10px 5px 0px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px;&quot;&gt;signed int64&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px 10px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px; width: 70px;&quot;&gt;properties&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px;&quot;&gt;사용자의 정보. Json 형태의 key-value.&lt;br style=&quot;box-sizing: border-box;&quot;&gt;사용자 정보 키를 지정한 경우는 해당 키에 대한 정보만 포함한다.&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 10px 5px 0px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px;&quot;&gt;String&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; padding: 8px 10px; margin-top: 13px; margin-bottom: 13px; line-height: 1.42857; color: rgb(102, 102, 102); word-break: break-all; word-wrap: break-word; background: rgb(255, 255, 255); border: 1px solid rgb(230, 230, 230); border-radius: 0px;&quot;&gt;&lt;code class=&quot;http hljs&quot; style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0.5em; color: rgb(224, 226, 228); background: rgb(0, 31, 53); border-radius: 0px; white-space: pre-wrap; display: block; overflow-x: auto; text-size-adjust: none; line-height: 1.4;&quot;&gt;&lt;span class=&quot;hljs-status&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;HTTP/1.1 &lt;span class=&quot;hljs-number&quot; style=&quot;box-sizing: border-box; color: rgb(255, 205, 34);&quot;&gt;200&lt;/span&gt; OK&lt;/span&gt;
{
    &quot;&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;id&quot;:123456789,
    &quot;properties&quot;:
    {
        &quot;nickname&quot;:&quot;홍길동&quot;,
        &quot;thumbnail_image&quot;:&quot;http://xxx.kakao.co.kr/.../aaa.jpg&quot;,
        &quot;profile_image&quot;:&quot;http://xxx.kakao.co.kr/.../bbb.jpg&quot;,
        &quot;custom_field1&quot;:&quot;23&quot;,
        &quot;custom_field2&quot;:&quot;여&quot;
        ...
    }
}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;사용자 정보를 얻는 함수는 다음과 같다. 매개변수로 사용자 토큰(&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(33, 33, 33); font-size: 14px;&quot;&gt;Access Token, Refresh Token)&lt;/span&gt;&lt;span style=&quot;font-size: 14px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif;&quot;&gt;을 입력해야 한다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #4e9072}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3933ff}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7e504f}
span.s1 {color: #931a68}
span.s2 {color: #7e504f}
span.s3 {text-decoration: underline}
span.s4 {color: #0326cc}
span.s5 {color: #3933ff}
span.s6 {color: #000000}
span.s7 {text-decoration: underline ; color: #7e504f}
span.Apple-tab-span {white-space:pre}
&lt;/style&gt;


&lt;p class=&quot;p1&quot; style=&quot;margin-left: 4em;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp;public&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;static&lt;/span&gt; JsonNode getKakaoUserInfo(String &lt;span class=&quot;s2&quot;&gt;autorize_code&lt;/span&gt;) {&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p1&quot; style=&quot;margin-left: 2em;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; String &lt;span class=&quot;s2&quot;&gt;RequestUrl&lt;/span&gt; = &lt;span class=&quot;s5&quot;&gt;&quot;https://kapi.kakao.com/v1/user/me&quot;&lt;/span&gt;;&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; String &lt;/span&gt;&lt;span class=&quot;s7&quot;&gt;CLIENT_ID&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;RestApiKey&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;; &lt;/span&gt;// REST API KEY&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; String &lt;/span&gt;&lt;span class=&quot;s7&quot;&gt;REDIRECT_URI&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;Redirect_URI&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;; &lt;/span&gt;// 리다이렉트 URI&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; String &lt;/span&gt;&lt;span class=&quot;s7&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;autorize_code&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;; &lt;/span&gt;// 로그인 과정중 얻은 토큰 값&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; HttpClient &lt;span class=&quot;s2&quot;&gt;client&lt;/span&gt; = HttpClientBuilder.create().build();&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; HttpPost &lt;span class=&quot;s2&quot;&gt;post&lt;/span&gt; = &lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; HttpPost(&lt;span class=&quot;s2&quot;&gt;RequestUrl&lt;/span&gt;);&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;// add header&lt;/p&gt;
&lt;p class=&quot;p4&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;post&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;.addHeader(&lt;/span&gt;&quot;Authorization&quot;&lt;span class=&quot;s6&quot;&gt;, &lt;/span&gt;&quot;Bearer &quot;&lt;span class=&quot;s6&quot;&gt; + &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;autorize_code&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; JsonNode &lt;span class=&quot;s2&quot;&gt;returnNode&lt;/span&gt; = &lt;span class=&quot;s1&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;try&lt;/span&gt; {&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; HttpResponse &lt;span class=&quot;s2&quot;&gt;response&lt;/span&gt; = &lt;span class=&quot;s2&quot;&gt;client&lt;/span&gt;.execute(&lt;span class=&quot;s2&quot;&gt;post&lt;/span&gt;);&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;responseCode&lt;/span&gt; = &lt;span class=&quot;s2&quot;&gt;response&lt;/span&gt;.getStatusLine().getStatusCode();&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;p4&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;.println(&lt;/span&gt;&quot;\nSending 'POST' request to URL : &quot;&lt;span class=&quot;s6&quot;&gt; + &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;RequestUrl&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.&lt;span class=&quot;s4&quot;&gt;out&lt;/span&gt;.println(&lt;span class=&quot;s5&quot;&gt;&quot;Response Code : &quot;&lt;/span&gt; + &lt;span class=&quot;s2&quot;&gt;responseCode&lt;/span&gt;);&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;//JSON 형태 반환값 처리&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ObjectMapper &lt;span class=&quot;s2&quot;&gt;mapper&lt;/span&gt; = &lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; ObjectMapper();&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;returnNode&lt;/span&gt; = &lt;span class=&quot;s2&quot;&gt;mapper&lt;/span&gt;.readTree(&lt;span class=&quot;s2&quot;&gt;response&lt;/span&gt;.getEntity().getContent());&lt;/p&gt;
&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;catch&lt;/span&gt; (UnsupportedEncodingException &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;) {&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;.printStackTrace();&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;catch&lt;/span&gt; (ClientProtocolException &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;) {&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;.printStackTrace();&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;catch&lt;/span&gt; (IOException &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;) {&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;.printStackTrace();&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;finally&lt;/span&gt; {&lt;/p&gt;
&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;// clear resources&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p class=&quot;p5&quot;&gt;&lt;span class=&quot;s6&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s6&quot;&gt; &lt;/span&gt;returnNode&lt;span class=&quot;s6&quot;&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;}&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;컨트롤러에서 다음과 같이 함수를 호출하여 사용자정보를 확인한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #4e9072}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7e504f}
span.s1 {color: #7e504f}
span.s2 {color: #000000}
span.s3 {color: #3933ff}
span.s4 {color: #931a68}
span.s5 {color: #0326cc}
span.Apple-tab-span {white-space:pre}
&lt;/style&gt;


&lt;p class=&quot;p1&quot; style=&quot;margin-left: 4em;&quot;&gt;&amp;nbsp; //사용자 정보 요청&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;JsonNode&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;userInfo&lt;/span&gt;&amp;nbsp;= Kakao.getKakaoUserInfo(&lt;span class=&quot;s1&quot;&gt;accessCode&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;// Get id&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;String&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;id&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;userInfo&lt;/span&gt;.path(&lt;span class=&quot;s3&quot;&gt;&quot;id&quot;&lt;/span&gt;).asText();&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;String&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;nickname&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;s4&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;String&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;thumbnailImage&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;s4&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;String&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;profileImage&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;s4&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;String&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;message&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;s4&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;// 유저정보 카톡에서 가져오기 Get properties&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;JsonNode&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;properties&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;userInfo&lt;/span&gt;.path(&lt;span class=&quot;s3&quot;&gt;&quot;properties&quot;&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span class=&quot;s1&quot;&gt;properties&lt;/span&gt;.isMissingNode()) {&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;/span&gt;// if &quot;name&quot; node is missing&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;}&amp;nbsp;&lt;span class=&quot;s4&quot;&gt;else&lt;/span&gt;&amp;nbsp;{&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;nickname&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;properties&lt;/span&gt;.path(&lt;span class=&quot;s3&quot;&gt;&quot;nickname&quot;&lt;/span&gt;).asText();&lt;/p&gt;&lt;p class=&quot;p4&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;/span&gt;thumbnailImage&lt;span class=&quot;s2&quot;&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;properties&lt;span class=&quot;s2&quot;&gt;.path(&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;&quot;thumbnail_image&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;).asText();&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;profileImage&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;properties&lt;/span&gt;.path(&lt;span class=&quot;s3&quot;&gt;&quot;profile_image&quot;&lt;/span&gt;).asText();&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;System.&lt;span class=&quot;s5&quot;&gt;out&lt;/span&gt;.println(&lt;span class=&quot;s3&quot;&gt;&quot;nickname : &quot;&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;nickname&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;System.&lt;span class=&quot;s5&quot;&gt;out&lt;/span&gt;.println(&lt;span class=&quot;s3&quot;&gt;&quot;thumbnailImage : &quot;&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;thumbnailImage&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;System.&lt;span class=&quot;s5&quot;&gt;out&lt;/span&gt;.println(&lt;span class=&quot;s3&quot;&gt;&quot;profileImage : &quot;&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;profileImage&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p2&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;}&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Spring Framework</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/20</guid>
      <comments>https://gongcha.tistory.com/20#entry20comment</comments>
      <pubDate>Thu, 10 Nov 2016 22:41:06 +0900</pubDate>
    </item>
    <item>
      <title>[스프링(Spring)] 웹개발 카카오톡 로그인 REST API 구현 [2]</title>
      <link>https://gongcha.tistory.com/19</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;[1] 카카오 REST API 로그인&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(34, 34, 34); font-size: 14pt; letter-spacing: -2px;&quot;&gt;&lt;b&gt;1 ) 코드 받기&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;a class=&quot;copy-url&quot; data-clipboard-text=&quot;https://developers.kakao.com/docs/restapi#시작하기-개발환경-구성&quot; style=&quot;color: transparent; font-family: &amp;quot;Noto Sans Medium&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 20px; letter-spacing: -2px; box-sizing: border-box; background: url(&amp;quot;/assets/img/docs/icon_urlcopy.png&amp;quot;); margin-left: 7px; width: 51px; height: 19px; display: inline-block; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Cop&lt;/span&gt;y URL&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;카카오톡 로그인 기능은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;일반적인 OAuth 인증의 과정을 거친다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;우선 로그인 버튼 클릭 시 코드를 받아와서 사용자 토큰을 얻을 준비를 해야한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 15px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif;&quot;&gt;[Request]&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; padding: 8px 10px; margin-top: 13px; margin-bottom: 13px; line-height: 1.42857; color: rgb(102, 102, 102); word-break: break-all; word-wrap: break-word; background: rgb(255, 255, 255); border: 1px solid rgb(230, 230, 230); border-radius: 0px;&quot;&gt;&lt;code class=&quot;http hljs&quot; style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0.5em; color: rgb(224, 226, 228); background: rgb(0, 31, 53); border-radius: 0px; white-space: pre-wrap; display: block; overflow-x: auto; text-size-adjust: none; line-height: 1.4;&quot;&gt;&lt;span class=&quot;hljs-request&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;GET &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;/oauth/authorize?client_id={app_key}&amp;amp;redirect_uri={redirect_uri}&amp;amp;response_type=code&lt;/span&gt; HTTP/1.1&lt;/span&gt;
&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;Host&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;kauth.kakao.com&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 12px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif;&quot;&gt;[Response]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 15px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;a name=&quot;사용자-관리-토큰-받기&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: rgb(51, 122, 183);&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; display: block; padding: 8px 10px; margin: 13px 0px; line-height: 1.42857; color: rgb(102, 102, 102); word-break: break-all; word-wrap: break-word; background: rgb(255, 255, 255); border: 1px solid rgb(230, 230, 230); border-radius: 0px; letter-spacing: normal; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;&quot;&gt;&lt;code class=&quot;http hljs&quot; style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0.5em; color: rgb(224, 226, 228); background: rgb(0, 31, 53); border-radius: 0px; white-space: pre-wrap; display: block; overflow-x: auto; text-size-adjust: none; line-height: 1.4;&quot;&gt;&lt;span class=&quot;hljs-status&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;HTTP/1.1 &lt;span class=&quot;hljs-number&quot; style=&quot;box-sizing: border-box; color: rgb(255, 205, 34);&quot;&gt;302&lt;/span&gt; Found&lt;/span&gt;
&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;Content-Length&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;Location&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;{redirect_uri}?code={authorize_code}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: 나눔고딕, NanumGothic, 돋움, dotum, Helvetica, sans-serif; letter-spacing: -0.2px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;카카오 OAuth 서버에서 크로스 도메인 요청을 허용하고 있지 않기 때문에, URL 링크로 바로 이동시키거나 URL로 &lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;Redirect 시켜서 코드를 받았다.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#222222&quot; face=&quot;나눔고딕, NanumGothic, 돋움, dotum, Helvetica, sans-serif&quot;&gt;&lt;span style=&quot;letter-spacing: -0.2px; background-color: rgb(251, 251, 251); color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;app_key는 앱 생성시 받은 REST API Key를 입력하면 되고, redirect_url은 기본정보에 입력한 리다이렉트 path를 입력한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: 나눔고딕, NanumGothic, 돋움, dotum, Helvetica, sans-serif; letter-spacing: -0.2px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img actualwidth=&quot;900&quot; width=&quot;900&quot; exif=&quot;{}&quot; id=&quot;tx_entry_25244_&quot; class=&quot;txc-image&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/2508CD3D58246B842C&quot; height=&quot;594&quot; style=&quot;width: 500px; height: 330px;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: 나눔고딕, NanumGothic, 돋움, dotum, Helvetica, sans-serif; letter-spacing: -0.2px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(33, 33, 33);&quot;&gt;GET 방식 요청 URL&lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33);&quot;&gt;은 다음과 같다.&lt;/span&gt;&lt;/p&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3933ff}
&lt;/style&gt;


&lt;p&gt;&lt;span style=&quot;color: rgb(57, 51, 255); font-family: Monaco; font-size: 11px;&quot;&gt;https://kauth.kakao.com/oauth/authorize?client_id= REST API 키 &amp;amp;redirect_uri=http://localhost:8080/kakaologin&amp;amp;response_type=code&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 300px; width: 300px; height: 251px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2133804358246CCF10&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2133804358246CCF10&quot; width=&quot;300&quot; height=&quot;251&quot; filename=&quot;스크린샷 2016-11-10 오후 9.48.42.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 300px; height: 251px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33);&quot;&gt;로그인 버튼을 클릭했을&lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33);&quot;&gt;때 위의 링크로 이동하면 아래의 카카오톡 로그인 화면이 뜬다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px; width: 400px; height: 476px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/233D5C4358246CCF05&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F233D5C4358246CCF05&quot; width=&quot;400&quot; height=&quot;476&quot; filename=&quot;스크린샷 2016-11-10 오후 9.48.50.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 400px; height: 476px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(33, 33, 33);&quot;&gt;카카오톡 계정/PASSWORD를 입력하면 URI&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(33, 33, 33);&quot;&gt;의&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; letter-spacing: -0.2px;&quot;&gt;Redirect Path로 리다이렉트되며 code를 반환한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; letter-spacing: -0.2px;&quot;&gt;컨트롤러에서 다음과 같이 코드를 얻을 수 있다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(34, 34, 34); font-family: 나눔고딕, NanumGothic, 돋움, dotum, Helvetica, sans-serif; letter-spacing: -0.2px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px; width: 900px; height: 101px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/256F714D58246DEB27&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F256F714D58246DEB27&quot; width=&quot;900&quot; height=&quot;101&quot; filename=&quot;스크린샷 2016-11-10 오후 9.53.39.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 900px; height: 101px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(34, 34, 34); font-family: 나눔고딕, NanumGothic, 돋움, dotum, Helvetica, sans-serif; letter-spacing: -0.2px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &amp;quot;Noto Sans Medium&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 20px; letter-spacing: -2px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);&quot;&gt;2) 사용자 토큰 받기&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;코드를 얻은 다음, 이제부터 코드를 이용하여&lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;실제로 API를 호출할 수 있는 사용자 토큰(Access Token, Refresh Token)을 받아 올 수 있다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 12px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif;&quot;&gt;[Request]&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; padding: 8px 10px; margin-top: 13px; margin-bottom: 13px; line-height: 1.42857; color: rgb(102, 102, 102); word-break: break-all; word-wrap: break-word; background: rgb(255, 255, 255); border: 1px solid rgb(230, 230, 230); border-radius: 0px;&quot;&gt;&lt;code class=&quot;http hljs&quot; style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0.5em; color: rgb(224, 226, 228); background: rgb(0, 31, 53); border-radius: 0px; white-space: pre-wrap; display: block; overflow-x: auto; text-size-adjust: none; line-height: 1.4;&quot;&gt;&lt;span class=&quot;hljs-request&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;POST &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;/oauth/token&lt;/span&gt; HTTP/1.1&lt;/span&gt;
&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;Host&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;kauth.kakao.com&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;table style=&quot;box-sizing: border-box; border-spacing: 0px; border-collapse: collapse; background-color: rgb(251, 251, 251); width: 756px; margin-top: 10px; border: 1px solid rgb(230, 230, 230); color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;thead style=&quot;box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 0px 5px 10px; text-align: left; border-top: 1px solid rgb(230, 230, 230); background: rgb(243, 243, 243); width: 151px;&quot;&gt;키&lt;/th&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 0px 5px; text-align: left; border-top: 1px solid rgb(230, 230, 230); background: rgb(243, 243, 243);&quot;&gt;설명&lt;/th&gt;&lt;th style=&quot;box-sizing: border-box; padding: 6px 0px 5px; text-align: center; border-top: 1px solid rgb(230, 230, 230); background: rgb(243, 243, 243); width: 113px;&quot;&gt;필수&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px 10px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px; width: 70px;&quot;&gt;grant_type&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px;&quot;&gt;authorization_code로 고정&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 10px 5px 0px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); text-align: center; letter-spacing: 0px;&quot;&gt;O&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px 10px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px; width: 70px;&quot;&gt;client_id&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px;&quot;&gt;앱 생성시 발급 받은 REST API 키.&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 10px 5px 0px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); text-align: center; letter-spacing: 0px;&quot;&gt;O&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px 10px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px; width: 70px;&quot;&gt;redirect_uri&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px;&quot;&gt;코드가 리다이렉트 된 URI.&amp;nbsp;&lt;br style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-weight: 700;&quot;&gt;설정&lt;/span&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-weight: 700;&quot;&gt;일반&lt;/span&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-weight: 700;&quot;&gt;웹&lt;/span&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-weight: 700;&quot;&gt;사이트 도메인&lt;/span&gt;에서 설정한 각각의 도메인에&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-weight: 700;&quot;&gt;설정&lt;/span&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-weight: 700;&quot;&gt;일반&lt;/span&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-weight: 700;&quot;&gt;웹&lt;/span&gt;&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-weight: 700;&quot;&gt;Redirect Path&lt;/span&gt;&amp;nbsp;를 붙인 URI.&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 10px 5px 0px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); text-align: center; letter-spacing: 0px;&quot;&gt;O&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: border-box;&quot;&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px 10px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px; width: 70px;&quot;&gt;code&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 0px 5px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); letter-spacing: 0px;&quot;&gt;위&amp;nbsp;&lt;a href=&quot;https://developers.kakao.com/docs/restapi#사용자-관리-코드-받기&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: rgb(51, 122, 183);&quot;&gt;코드 받기&lt;/a&gt;에서 발급 받은 인증된 코드.&lt;/td&gt;&lt;td style=&quot;box-sizing: border-box; padding: 6px 10px 5px 0px; font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; color: rgb(119, 119, 119); border-top: 1px solid rgb(230, 230, 230); text-align: center; letter-spacing: 0px;&quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 15px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700; font-family: &amp;quot;Noto Sans DemiLight&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;[Response]&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 12px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33);&quot;&gt;응답 바디는 JSON 객체로 아래 값을 포함합니다.&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; padding: 8px 10px; margin-top: 13px; margin-bottom: 13px; line-height: 1.42857; color: rgb(102, 102, 102); word-break: break-all; word-wrap: break-word; background: rgb(255, 255, 255); border: 1px solid rgb(230, 230, 230); border-radius: 0px;&quot;&gt;&lt;code class=&quot;http hljs&quot; style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 1em; padding: 0.5em; color: rgb(224, 226, 228); background: rgb(0, 31, 53); border-radius: 0px; white-space: pre-wrap; display: block; overflow-x: auto; text-size-adjust: none; line-height: 1.4;&quot;&gt;&lt;span class=&quot;hljs-status&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;HTTP/1.1 &lt;span class=&quot;hljs-number&quot; style=&quot;box-sizing: border-box; color: rgb(255, 205, 34);&quot;&gt;200&lt;/span&gt; OK&lt;/span&gt;
&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;Content-Type&lt;/span&gt;: &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: rgb(236, 118, 0);&quot;&gt;application/json;charset=UTF-8&lt;/span&gt;
{
    &quot;&lt;span class=&quot;hljs-attribute&quot; style=&quot;box-sizing: border-box; color: rgb(255, 255, 255);&quot;&gt;access_token&quot;:&quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;,
    &quot;token_type&quot;:&quot;bearer&quot;,
    &quot;refresh_token&quot;:&quot;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy&quot;,
    &quot;expires_in&quot;:43199,
    &quot;scope&quot;:&quot;Basic_Profile&quot;
}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 12px; margin-right: 0px; margin-left: 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;a name=&quot;사용자-관리-토큰-갱신&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: rgb(51, 122, 183);&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin: 15px 0px 0px; padding: 0px; line-height: 20px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;요청 결과로 API를 호출할 때 사용하는 access_token과 해당 토큰의 만료 시간(초 단위), 또한 토큰을 갱신 할 수 있는 refresh_token을 받습니다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;사용자 토큰은 얻은 code를 이용해서 POST 방식으로 요청해야&lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;한다. 뷰에서 &lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;Ajax로 요청하거나 컨트롤러에서 요청하면 된다.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px; background-color: rgb(251, 251, 251); color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;다음은 컨트롤러에서 요청하기 위한 함수이다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;static&lt;/span&gt; JsonNode getAccessToken(String &lt;span class=&quot;s2&quot;&gt;autorize_code&lt;/span&gt;){&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; String &lt;span class=&quot;s2&quot;&gt;RequestUrl&lt;/span&gt; = &lt;span class=&quot;s4&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;https://kauth.kakao.com/oauth/token&quot;&lt;/span&gt;;&lt;/p&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3933ff}
&lt;/style&gt;


&lt;p class=&quot;p3&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; List&amp;lt;NameValuePair&amp;gt; &lt;span class=&quot;s2&quot;&gt;postParams&lt;/span&gt; = &lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; ArrayList&amp;lt;NameValuePair&amp;gt;();&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;postParams&lt;/span&gt;.add(&lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; BasicNameValuePair(&lt;span class=&quot;s4&quot;&gt;&quot;grant_type&quot;&lt;/span&gt;, &lt;span class=&quot;s4&quot;&gt;&quot;authorization_code&quot;&lt;/span&gt;));&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s5&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;postParams&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;.add(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt; BasicNameValuePair(&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;&quot;client_id&quot;&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;RestApiKey&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;// REST API KEY&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s5&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;postParams&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;.add(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt; BasicNameValuePair(&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;&quot;redirect_uri&quot;&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;Redirect_URI&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;// 리다이렉트 URI&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;color: rgb(0, 0, 0);&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;postParams&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;.add(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; BasicNameValuePair(&lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;&quot;code&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;autorize_code&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;s7&quot;&gt;// 로그인 과정중 얻은 code 값&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; HttpClient &lt;span class=&quot;s2&quot;&gt;client&lt;/span&gt; = HttpClientBuilder.create().build();&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; HttpPost &lt;span class=&quot;s2&quot;&gt;post&lt;/span&gt; = &lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; HttpPost(&lt;span class=&quot;s2&quot;&gt;RequestUrl&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; JsonNode &lt;span class=&quot;s2&quot;&gt;returnNode&lt;/span&gt; = &lt;span class=&quot;s1&quot;&gt;null&lt;/span&gt;;&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;try&lt;/span&gt; {&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;post&lt;/span&gt;.setEntity(&lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; UrlEncodedFormEntity(&lt;span class=&quot;s2&quot;&gt;postParams&lt;/span&gt;));&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; HttpResponse &lt;span class=&quot;s2&quot;&gt;response&lt;/span&gt; = &lt;span class=&quot;s2&quot;&gt;client&lt;/span&gt;.execute(&lt;span class=&quot;s2&quot;&gt;post&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s1&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;responseCode&lt;/span&gt; = &lt;span class=&quot;s2&quot;&gt;response&lt;/span&gt;.getStatusLine().getStatusCode();&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p4&quot;&gt;&lt;span class=&quot;s5&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;.println(&lt;/span&gt;&quot;\nSending 'POST' request to URL : &quot;&lt;span class=&quot;s5&quot;&gt; + &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;RequestUrl&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.&lt;span class=&quot;s3&quot;&gt;out&lt;/span&gt;.println(&lt;span class=&quot;s4&quot;&gt;&quot;Post parameters : &quot;&lt;/span&gt; + &lt;span class=&quot;s2&quot;&gt;postParams&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.&lt;span class=&quot;s3&quot;&gt;out&lt;/span&gt;.println(&lt;span class=&quot;s4&quot;&gt;&quot;Response Code : &quot;&lt;/span&gt; + &lt;span class=&quot;s2&quot;&gt;responseCode&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s5&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;/JSON 형태 반환값 처리&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ObjectMapper &lt;span class=&quot;s2&quot;&gt;mapper&lt;/span&gt; = &lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; ObjectMapper();&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;returnNode&lt;/span&gt; = &lt;span class=&quot;s2&quot;&gt;mapper&lt;/span&gt;.readTree(&lt;span class=&quot;s2&quot;&gt;response&lt;/span&gt;.getEntity().getContent());&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;catch&lt;/span&gt; (UnsupportedEncodingException &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;) {&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;.printStackTrace();&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;catch&lt;/span&gt; (ClientProtocolException &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;) {&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;.printStackTrace();&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;catch&lt;/span&gt; (IOException &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;) {&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;s2&quot;&gt;e&lt;/span&gt;.printStackTrace();&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; } &lt;span class=&quot;s1&quot;&gt;finally&lt;/span&gt; {&lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s5&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;// clear resources&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p class=&quot;p3&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p class=&quot;p5&quot;&gt;&lt;span class=&quot;s5&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;s5&quot;&gt; &lt;/span&gt;returnNode&lt;span class=&quot;s5&quot;&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #4e9072}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3933ff}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #7e504f}
span.s1 {color: #931a68}
span.s2 {color: #7e504f}
span.s3 {color: #0326cc}
span.s4 {color: #3933ff}
span.s5 {color: #000000}
span.s6 {text-decoration: underline}
span.s7 {color: #4e9072}
span.Apple-tab-span {white-space:pre}
&lt;/style&gt;
























































&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;	&lt;/span&gt;}&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px; background-color: rgb(251, 251, 251); color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;컨트롤러에서 JsonNode의 트리 형태로 토큰을 받아서 제대로 출력되는지 확인한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#4e5665&quot; face=&quot;Noto Sans Light, Malgun gothic, 맑은 고딕, Apple SD Gothic Neo, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;




&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
span.s1 {color: #931a68}
&lt;/style&gt;


&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;margin-left: 4em;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;org.codehaus.jackson.JsonNode;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;margin-left: 4em;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;margin-left: 4em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;JsonNode&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;jsonToken&lt;/span&gt; = &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Kakao.getAccessToken&lt;/span&gt;(&lt;span class=&quot;s1&quot;&gt;code&lt;/span&gt;);&lt;/p&gt;&lt;p class=&quot;p1&quot; style=&quot;margin-left: 4em;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;System.&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;.println(&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;&quot;JSON 반환 : &quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; + &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;jsonToken&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;.get(&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;&quot;access_token&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;));&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
span.s1 {color: #7e504f}
span.s2 {color: #0326cc}
span.s3 {color: #3933ff}
&lt;/style&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Spring Framework</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/19</guid>
      <comments>https://gongcha.tistory.com/19#entry19comment</comments>
      <pubDate>Thu, 10 Nov 2016 21:32:37 +0900</pubDate>
    </item>
    <item>
      <title>[스프링(Spring)] 웹개발 카카오톡 로그인 REST API 구현 [1]</title>
      <link>https://gongcha.tistory.com/18</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;[1] 카카오 REST API&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;개발환경 구성&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img actualwidth=&quot;900&quot; width=&quot;900&quot; exif=&quot;{}&quot; id=&quot;tx_entry_81797_&quot; class=&quot;txc-image&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/221D4045582464AF06&quot; height=&quot;484&quot; style=&quot;width: 500px; height: 269px;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;카카오 로그인 및 사용자 정보 요청을 웹에서 구현하기 위한 다음 2가지 방법이 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;카카오&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;Javacript SDK API&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;카카오 REST API&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Javascript SDK를 이용한 방법보다 REST API를 이용한 방식이 더 까다롭다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;REST API를 이용한 카카오톡 로그인 구현도&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;카카오톡 개발자 홈페이지를 참고한다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;카카오톡 개발자 사이트 : &lt;/span&gt;&lt;a href=&quot;https://developers.kakao.com/docs/restapi&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://developers.kakao.com/docs/restapi&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: rgb(251, 251, 251); color: rgb(34, 34, 34); font-size: 14pt; letter-spacing: -2px;&quot;&gt;&lt;b&gt;1 ) 개발환경&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;a class=&quot;copy-url&quot; data-clipboard-text=&quot;https://developers.kakao.com/docs/restapi#시작하기-개발환경-구성&quot; style=&quot;color: transparent; font-family: &amp;quot;Noto Sans Medium&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 20px; letter-spacing: -2px; box-sizing: border-box; background: url(&amp;quot;/assets/img/docs/icon_urlcopy.png&amp;quot;); margin-left: 7px; width: 51px; height: 19px; display: inline-block; vertical-align: middle;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Cop&lt;/span&gt;y URL&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(76, 76, 76); font-size: 10pt; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(76, 76, 76); font-size: 10pt; background-color: rgb(251, 251, 251);&quot;&gt;REST API는 HTTP 요청을 보낼 수 있는 환경이라면 어디에서든 이용할 수 있습니다. 다음은 REST API를 활용할 수 있는 환경의 예입니다.&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;list-style: none; padding: 0px; box-sizing: border-box; margin-bottom: 0px; margin-right: 0px; margin-left: 30px; color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251); margin-top: 10px !important;&quot;&gt;&lt;li style=&quot;list-style: disc; box-sizing: border-box; margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;모바일/PC 웹 환경에서 Javascript를 활용&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;list-style: disc; box-sizing: border-box; margin-top: 10px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;다양한 환경(Java, Ruby, Python 등)의 웹 서버에서 활용&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;list-style: disc; box-sizing: border-box; margin-top: 10px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;iOS, Android 등 다양한 모바일 환경에서 활용&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;이 글에서는 스프링을 이용한 웹서버 구현에 있어서&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;color: rgb(76, 76, 76);&quot;&gt;&amp;nbsp;카카오 API를 활용한다. (JAVA 환경&lt;/span&gt;&lt;span style=&quot;color: rgb(76, 76, 76);&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &amp;quot;Noto Sans Medium&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 20px; letter-spacing: -2px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);&quot;&gt;2) 앱 생성&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14pt; color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(78, 86, 101); font-family: &amp;quot;Noto Sans Light&amp;quot;, &amp;quot;Malgun gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px; background-color: rgb(251, 251, 251);&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;우선 카카오톡 개발자 사이트에서&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;&amp;nbsp;회원가입 후 개발가이드 텝에서 앱을 생성한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;앱을 생성한 후 아래와 같이 REST API 키를 복사하고 도메인과 리다이렉션 Path를 입력한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img actualwidth=&quot;900&quot; width=&quot;900&quot; exif=&quot;{}&quot; id=&quot;tx_entry_25244_&quot; class=&quot;txc-image&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/2508CD3D58246B842C&quot; height=&quot;594&quot; style=&quot;width: 500px; height: 330px;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(76, 76, 76);&quot;&gt;사용자관리에서 자동가입에 체크하면 최초 로그인 시 앱 연결 과정없이 카카오톡 사용자 개개인의 Key ID가 부여되니 체크하도록 한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;clear: none; float: none;&quot;&gt;&lt;img actualwidth=&quot;900&quot; width=&quot;900&quot; exif=&quot;{}&quot; id=&quot;tx_entry_28733_&quot; class=&quot;txc-image&quot; src=&quot;https://t1.daumcdn.net/cfile/tistory/275E4B405824661807&quot; height=&quot;251&quot; style=&quot;width: 500px; height: 140px;&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Spring Framework</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/18</guid>
      <comments>https://gongcha.tistory.com/18#entry18comment</comments>
      <pubDate>Thu, 10 Nov 2016 21:30:47 +0900</pubDate>
    </item>
    <item>
      <title>[ORACLE(오라클)] CASE와 DECODE</title>
      <link>https://gongcha.tistory.com/17</link>
      <description>&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;b&gt;&lt;span  style=&quot;font-size:14.0pt;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;CASE ~ WHEN ~ THEN ~ ELSE ~ END&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 12pt;&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-size:14.0pt;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:
굴림;color:#555555;mso-font-kerning:0pt&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;형식&lt;/span&gt;&lt;span &gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;]&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span  style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#E31600;mso-font-kerning:0pt&quot;&gt;CASE&lt;/span&gt;&lt;/b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:
굴림;color:#E31600;mso-font-kerning:0pt&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;mso-font-kerning:
0pt&quot;&gt;컬럼명&lt;span &gt; | &lt;/span&gt;표현식&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:
굴림;color:#E31600;mso-font-kerning:0pt&quot;&gt;WHEN&lt;/span&gt;&lt;/b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;mso-font-kerning:0pt&quot;&gt;조건식&lt;span &gt;1&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#E31600;mso-font-kerning:
0pt&quot;&gt;THEN&lt;/span&gt;&lt;/b&gt;&lt;span  style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;mso-font-kerning:0pt&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;결과&lt;span &gt;1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:
굴림;color:#E31600;mso-font-kerning:0pt&quot;&gt;WHEN&lt;/span&gt;&lt;/b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;mso-font-kerning:0pt&quot;&gt;조건식&lt;span &gt;2&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#E31600;mso-font-kerning:
0pt&quot;&gt;THEN&lt;/span&gt;&lt;/b&gt;&lt;span  style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;mso-font-kerning:0pt&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;결과&lt;span &gt;2&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
.......&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:
굴림;color:#E31600;mso-font-kerning:0pt&quot;&gt;WHEN&lt;/span&gt;&lt;/b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;mso-font-kerning:0pt&quot;&gt;조건식&lt;span &gt;n&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#E31600;mso-font-kerning:
0pt&quot;&gt;THEN&lt;/span&gt;&lt;/b&gt;&lt;span  style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;mso-font-kerning:0pt&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;결과&lt;span &gt;n&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:
굴림;color:#E31600;mso-font-kerning:0pt&quot;&gt;ELSE&lt;/span&gt;&lt;/b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;mso-font-kerning:0pt&quot;&gt;결과&lt;span &gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:
굴림;color:#E31600;mso-font-kerning:0pt&quot;&gt;END&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;조건문과 조건문 사이에는&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#E31600;
mso-font-kerning:0pt&quot;&gt;콤마&lt;span &gt;(,)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;를 사용하지 않는다&lt;span &gt;.&lt;br /&gt;
CASE &lt;/span&gt;문은 반드시&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#E31600;
mso-font-kerning:0pt&quot;&gt;END&amp;nbsp;&lt;/span&gt;로 끝내야 한다&lt;span &gt;.&lt;br /&gt;
CASE &lt;/span&gt;표현식은&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#E31600;
mso-font-kerning:0pt&quot;&gt;ANSI SQL&amp;nbsp;&lt;/span&gt;형식도 지원한다&lt;span &gt;.&lt;/span&gt;&lt;/p&gt;&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;span &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin-bottom:0cm;margin-bottom:.0001pt;line-height:
normal;mso-pagination:widow-orphan;text-autospace:ideograph-numeric ideograph-other;
word-break:keep-all&quot;&gt;&lt;b&gt;&lt;span  style=&quot;font-size: 14pt; color: rgb(65, 116, 217);&quot;&gt;DECODE&lt;/span&gt;&lt;/b&gt;&lt;span &gt; &lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin-bottom:0cm;margin-bottom:.0001pt;line-height:
normal;mso-pagination:widow-orphan;text-autospace:ideograph-numeric ideograph-other;
word-break:keep-all&quot;&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin-bottom:0cm;margin-bottom:.0001pt;line-height:
normal;mso-pagination:widow-orphan;text-autospace:ideograph-numeric ideograph-other;
word-break:keep-all&quot;&gt;&lt;b&gt;&lt;span  style=&quot;font-size: 12pt; color: rgb(85, 85, 85);&quot;&gt;[&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-size:14.0pt;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:#555555;
mso-font-kerning:0pt&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;형식&lt;/span&gt;&lt;span  style=&quot;font-size: 12pt;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span &gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin-bottom:0cm;margin-bottom:.0001pt;line-height:
normal;mso-pagination:widow-orphan;text-autospace:ideograph-numeric ideograph-other;
word-break:keep-all&quot;&gt;&lt;b&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:red;
mso-font-kerning:0pt&quot;&gt;DECODE&lt;/span&gt;&lt;/b&gt;&lt;span &gt;( &lt;/span&gt;컬럼명&lt;span &gt;
| &lt;/span&gt;표현식&lt;span &gt;, &lt;/span&gt;조건식&lt;span &gt;1, &lt;/span&gt;결과&lt;span &gt;1, &lt;/span&gt;조건식&lt;span &gt;2, &lt;/span&gt;결과&lt;span &gt;2, … &lt;/span&gt;조건식&lt;span &gt;n, &lt;/span&gt;결과&lt;span &gt;n, DEFAULT)&lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin-bottom:0cm;margin-bottom:.0001pt;line-height:
normal;mso-pagination:widow-orphan;text-autospace:ideograph-numeric ideograph-other;
word-break:keep-all&quot;&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin-bottom:0cm;margin-bottom:.0001pt;line-height:
normal;mso-pagination:widow-orphan;text-autospace:ideograph-numeric ideograph-other;
word-break:keep-all&quot;&gt;&lt;span &gt;DECODE &lt;/span&gt;함수는 &lt;span &gt;CASE&lt;/span&gt;문과 동일한 기능을 수행한다&lt;span &gt;. CASE &lt;/span&gt;문은 반드시&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;span  style=&quot;;mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;
mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:
굴림;color:#E31600;mso-font-kerning:0pt&quot;&gt;END&amp;nbsp;&lt;/span&gt;로 끝내야 한다&lt;span &gt;.&lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin-bottom:0cm;margin-bottom:.0001pt;line-height:
normal;mso-pagination:widow-orphan;text-autospace:ideograph-numeric ideograph-other;
word-break:keep-all&quot;&gt;&lt;span  style=&quot;;
mso-ascii-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-fareast-font-family:&amp;quot;맑은 고딕&amp;quot;;mso-hansi-font-family:
&amp;quot;맑은 고딕&amp;quot;;mso-bidi-font-family:굴림;color:red;mso-font-kerning:0pt&quot;&gt;DEFAULT &lt;/span&gt;값이 생략될 경우 &lt;span &gt;NULL&lt;/span&gt;을 반환한다&lt;span &gt;.&lt;/span&gt;&lt;/p&gt;&lt;p  style=&quot;margin-bottom:0cm;margin-bottom:.0001pt;line-height:
normal;mso-pagination:widow-orphan;text-autospace:ideograph-numeric ideograph-other;
word-break:keep-all&quot;&gt;비교연산의 대상이 되는 컬럼명과 조건식은
데이터 타입이 동일하거나 서로 변환 가능해야한다&lt;span &gt;.&lt;/span&gt;&lt;/p&gt;&lt;p &gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p &gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p &gt;&lt;span &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p &gt;* 다음 &lt;span &gt;2&lt;/span&gt;개의 쿼리는 동일하지만
조건에 &lt;span  style=&quot;color:red&quot;&gt;NULL&lt;/span&gt;이 나타나면 결과값은 다르게 나타난다&lt;span &gt;.&lt;/span&gt;&lt;/p&gt;&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;SELECT&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;CASE&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;NULL&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;WHEN&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;NULL&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;THEN&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: blue; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;'A'&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;ELSE&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: blue; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;'B'&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;END&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;FROM&lt;/span&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; DUAL&lt;/span&gt;&lt;/p&gt;&lt;p  align=&quot;left&quot; style=&quot;margin-bottom: 0.0001pt; line-height: normal; word-break: keep-all;&quot;&gt;&lt;span  style=&quot;font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p &gt;&lt;span  style=&quot;color:red&quot;&gt;CASE&lt;/span&gt;문의 경우 &lt;span &gt;NULL&lt;/span&gt;은 &lt;span &gt;IS NULL&lt;/span&gt;이나&lt;span &gt; IS
NOT NULL&lt;/span&gt;로 비교해야되기 때문에 조건에 &lt;span &gt;NULL&lt;/span&gt;이 하나라도 나타나면 제대로 비교되지
않는다&lt;span &gt;. (&lt;/span&gt;결과&lt;span &gt; : ‘B’) &lt;/span&gt;&lt;/p&gt;&lt;p &gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p &gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;SELECT&lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; &lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;DECODE&lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;(&lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;NULL&lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;, &lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;NULL&lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;, &lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: blue; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;'A'&lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;, &lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: blue; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;'B'&lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;) &lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: teal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt;FROM&lt;/span&gt;&lt;span  style=&quot;line-height: 107%; font-family: &amp;quot;Courier New&amp;quot;; color: navy; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;&quot;&gt; DUAL&lt;/span&gt;&lt;span &gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;











































&lt;/p&gt;&lt;p &gt;&lt;span  style=&quot;color:red&quot;&gt;DECODE &lt;/span&gt;함수의 경우 제대로 비교된다&lt;span &gt;. (&lt;/span&gt;결과 &lt;span &gt;: ‘A’)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>웹개발/Oracle</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/17</guid>
      <comments>https://gongcha.tistory.com/17#entry17comment</comments>
      <pubDate>Wed, 9 Nov 2016 13:29:19 +0900</pubDate>
    </item>
    <item>
      <title>파일명 확장자에 따른 의미 해석</title>
      <link>https://gongcha.tistory.com/16</link>
      <description>&lt;p&gt;【 】안이 확장자~(확장자가 없을 땐 마우스 오른쪽 버튼 등록정보를 본다)&lt;br /&gt;&lt;br /&gt;【 ace 】∼『압축 파일』 &lt;br /&gt;독일에서 개발된 
압축 유틸리티인 Win Ace의 압축 파일 확장자, 이 파일은 요즘 빠른 압축 속도와 높은 압축률 다양한 압축 파일 형식을 지원하고 , 그리고 
멀티볼륨 압축이 가능하다는 이유때문에 arj, pkzip, rar를 물리칠 기세로 ace 압축이 최근 사용자가 늘어나 인터넷에서 급부상하고 
있다.&lt;br /&gt;ace 압축은 기존의 arj나 rar와 옵션이 90%이상 동일하다.&lt;br /&gt;이파일의 특색은 만일 여러 개의 파일로 나누어 압축한다면 
파일 확장자는 ace, c00, c01,... 로 이어지며, 이 경우 ace 파일의 여러개 중에 아무거나 하나만 선택해 압축을 해체하면 나머지 
파일들도 연이어 압축이 풀어지게 된다. &lt;br /&gt;&lt;br /&gt;【 ad 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;스크린 세이버인 애프트 다크(After 
Dark)의 확장자 이다. &lt;br /&gt;&lt;br /&gt;【 ani 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Anima-tion의 약자로 움직이는 마우스 커서 
파일이다, cur과 마찬가지로 탐색기에서 모양을 바로 확인 할수 있다. 기능보다는 액세서리의 용도로 사용된다. &lt;br /&gt;&lt;br /&gt;【 ans 
】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;도스용 안시(American National Sta-ndard) 파일의 확장자이다. &lt;br /&gt;&lt;br /&gt;【 
arj 】∼『압축 파일』 &lt;br /&gt;압축 유틸리티인 ARJ의 압축 파일 확장자, 멀티 압축 기능을 지원해 많은 사용자 들이있었다,&lt;br /&gt;그러나 뒤에 
늦은 윈도우용 프로그램의 발표와 불편한 인터페이스로 인해 최근에는 주춤하는 상태이다, 도스용 ARJ의 사용 방법과 명령어는 다음과 같다, 
&lt;br /&gt;&lt;br /&gt;ARJ &amp;lt;명령어&amp;gt;&amp;lt;압축될 파일명&amp;gt;[압축할 파일 이름] &lt;br /&gt;A - 압축시작, &lt;br /&gt;L - 압축된 파일의 
리스트를 보여줌, &lt;br /&gt;M - 지정된 파일을 압축하고 삭제, &lt;br /&gt;T - 압축된 파일 텍스트, &lt;br /&gt;U - 압축된 파일에 파일을 추가, 
&lt;br /&gt;V - 압축된 파일의 리스트를 표시, &lt;br /&gt;X - 압축 해체, &lt;br /&gt;&lt;br /&gt;【 arj 】∼『압축 파일』 &lt;br /&gt;미국의 로버트 케이정( 
Robert K Jung )이 개발한 압축 방식이다. 특히 멀티볼륨(Multi-Volum) 기능을 도입해 여러 장의 디스켓에 압축을 할 수 
있다. &lt;br /&gt;&lt;br /&gt;【 asp 】∼『문서파일』 &lt;br /&gt;액티브 서버 페이지(Active Server Page) 파일.&lt;br /&gt;마이크로소프트의 웹 
서버에서 사용되며, HTML 보다 확장된 기능을 사용할 수 있다.&lt;br /&gt;넷스케이프나 익스플로러의 주소 입력줄에서 많이 볼 수 있다.&lt;br /&gt;액티브 
서버 페이지는 브라우즈가 액티브서버 페이지를 요청하게 되면 웹 서버는 비주얼 베이직이나 자바 스크립트 파일을 실행하여 HTML 문을 만들고 
넘겨주게 된다.&lt;br /&gt;CGI 프로그래밍에 비해 비주얼 베이직이나 자바 스크립트를 웹 서버 상에서 사용할수 있다는 장점을 갖는다. 
&lt;br /&gt;&lt;br /&gt;【 asv 】∼『문서파일』 &lt;br /&gt;Auto Save의 약자로. 아래아 한글(한글과 컴퓨터사)에서 사용하는 자동 저장 파일 
확장자.&lt;br /&gt;일정시간마다 또는 자판을 사용하지 않을 때 자동으로 저장하는 파일로 예기치 못하는 불의의 사태 즉 시스템의 다운으로부터 문서를 
저장하지 못한 경우에 일정부분을 복구할수 있도록 도와 주는 파일이다. &lt;br /&gt;&lt;br /&gt;【 bak 】∼『문서파일』 &lt;br /&gt;Backup의 약자로 수정 
되기 이전의 파일이다.&lt;br /&gt;수정(갱신)한 파일에 문제가 있는 경우, 수정한 파일을 삭제하고 이 bak 파일을 원래 확장명으로 변경하면 수정 
이전의 상태로 돌아 갈 수 있다.&lt;br /&gt;&lt;br /&gt;【 bat 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;명령어를 모아둔 파일로 일괄처리파일이라 
한다.&lt;br /&gt;일괄처리 파일을 실행하면 그 속에 담겨있는 명령을 차례로 실행한다.&lt;br /&gt;&lt;br /&gt;【 bin 】∼『윈도우 시스템, 환경파일』 
&lt;br /&gt;기계어로 만들어진 이진(binary)파일로 리얼모드 드라이브이다.&lt;br /&gt;주요 bin 파일로는 드라이브 스페이스에 사용되는 
dblpace.bin, drvspace.bin 등이 있다. &lt;br /&gt;&lt;br /&gt;【 btm 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Batch to 
Memory 의 약자로, NDOS 또는 4DOS에서 사용하는 배치 파일로 도스의 BAT와 동일한 역할을 하지만 확장된 명령이 포함되어 다양한 
활용이 가능하다. &lt;br /&gt;&lt;br /&gt;【 cab 】∼『압축 파일』 &lt;br /&gt;☞ 마이크로소프트의 윈도우95가 등장하면서 나온 압축 파일형식으로 캐비닛 
파일이라고도 부른다.&lt;br /&gt;내부적으로 여러 개의 파일로 구성되어 있으며, 윈도우98/95를 설치할 때 압축이 풀리면서 설치된다.&lt;br /&gt;또한 
윈도우 디렉토리의 sysbckup 폴더에 위치한 시스템 파일 백업도 cab 파일 형식으로 압축되어 있다.&lt;br /&gt;cab파일은 Extract 
명령으로 압축을 풀 수 있으며 압축해체 구문과 해당 옵션은 다음과 같다. &lt;br /&gt;&amp;lt; extract [/y] [ /a] 파일명(/y : 
압축해체 방식 선택, /a : 캐비닛 파일내의 모든 파일 압축 해체 &amp;gt; &lt;br /&gt;&lt;br /&gt;【 cap 】∼『문서파일』 
&lt;br /&gt;capture(갈무리)의 약자로서 각종 통신 프로그램의 갈무리 포맷이다.&lt;br /&gt;즉 화면에 있는 내용을 저장하는 파일 형식이며. 이야기 
프로그램에서 처음 쓰기 시작한 확장자이다. &lt;br /&gt;도스 시절까지만 해도 텍스트를 저장하는 파일로 애용했지만 윈도우95를 쓰면서 기본 문서 포맷인 
txt가 더 많이 이용되고 있고. 이야기 편집기로만 볼 수 있다. 기본적으로 txt파일과 구조가 같아서 txt 확장자를 변경시켜주면 대부분의 
에디터 프로그램에서 실행 할수 있다. &lt;br /&gt;&lt;br /&gt;【 cat 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Catalog 의 약자, 각 파일의 이름, 
설명 등과 같은 내용을 목록으로 만들어 사용자에게 제공한다. &lt;br /&gt;&lt;br /&gt;【 cdf 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Channel 
Definiton Format의 약자로 윈도우 98의 액티브 채널의 예약 정보를 가지고 있는 파일이다.&lt;br /&gt;cdf 파일은 채널 서버에서 사용자 
PC로 복사된 뒤, 인터넷 익스플로러의 즐겨찾기와 채널 항목에 추가된다. &lt;br /&gt;&lt;br /&gt;【 cfg / cnf 】∼『윈도우 시스템, 환경파일』 
&lt;br /&gt;프로그램의 환경 설정을 마친 후 저장되는 파일이다.&lt;br /&gt;Mdir의 M.cfg나 게임을 하기 위한 사전 준비로 사운드, 그래픽 카드 등의 
설정을 맞추는데 사용된다.&lt;br /&gt;환경을 저장하고 나면 생기는 .cfg / .cnf 가 그 예이다, &lt;br /&gt;cfg 는 Configuration의 
약자로 응용 프로그램의 설정 값을 담고 있고 주로 도스를 기반으로 하는 응용 프로그램에 많이 사용한다. &lt;br /&gt;&lt;br /&gt;【 cha 】∼『문서파일』 
&lt;br /&gt;이야기에서 F5로 화면을 저장하면 생기는 파일이다.&lt;br /&gt;&lt;br /&gt;【 chk 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;도스의 디스크 검사( 
Chkdsk.exe )에서 생성하는 파일, 디스크 검사 중 손상된 파일이 발견되면 해당 부분을 chk의 확장자를 가지는 파일로 만들어 내용을 
확인 할수 있도록 도와준다.&lt;br /&gt;기본적으로 C: 드라이브의 루터 디렉토리에 저장된다. &lt;br /&gt;&lt;br /&gt;【 class 】∼『문서파일』 
&lt;br /&gt;홈페이지에서 사용되는 자바 애플릿(Java Applet)을 뜻한다.&lt;br /&gt;CLASS는 바이너리 코드로 작성되어 있으며 , 이 파일을 
사용해 홈페이지에 자바 에플릿을 넣을 수 있다. &lt;br /&gt;&lt;br /&gt;【 clp 】∼『MS-Office 프로그램 파일과 기타 데이터 파일』 
&lt;br /&gt;윈도우의 클립보드(Clip Board)로 저장한 파일 이다.&lt;br /&gt;&lt;br /&gt;【 cnt 】∼『윈도우 시스템, 환경파일』 
&lt;br /&gt;목차(Contents) 내용을 담고 있는 파일, 텍스트 형태로 되어 있어 일반적인 에디터 프로그램에서 읽을 수 있다. &lt;br /&gt;&lt;br /&gt;【 
com 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Commcnd의 약자.&lt;br /&gt;도스에서 사용하던 실행 파일의 한 종류로 작은 프로그램에서 주로 
사용된다.&lt;br /&gt;exe보다 메모리를 작게 차지하면서 실행 속도는 빠른 장점을 가지고 있다.&lt;br /&gt;하지만 64KB로 크기가 제한된다.&lt;br /&gt;그래서 
오로지 도스용으로만 사용할수 있다.&lt;br /&gt;Exe파일보다 실행 우선순위가 높다.&lt;br /&gt;&lt;br /&gt;주요 파일로는 윈도우를 실행 시키는 win.com을 
들수 있다.&lt;br /&gt;win.com의 경우, 보통 윈도우 시스템의 부팅과정에서 자동으로 실행되나, 특정 문제로 인한 부팅에러를 제거하기 위한 옵션도 
제공한다, &lt;br /&gt;실행 방법과 각 옵션 값은 다음과 같다. &lt;br /&gt;&amp;lt; win[/d:[f] [m] [s] [v] [x]] &amp;gt; 
&lt;br /&gt;[f] : 32비트 디스크 액세스를 사용하지 않는 옵션으로 디스크 관련 오류가 발생할 때 사용한다. &lt;br /&gt;[m] : 안전모드로 윈도우를 
실행시킨다. &lt;br /&gt;[v] : 하드디스크 컨트롤러에서 ROM 루틴이 인터럽트를 담당한다, 디스크 관련 오류가 발생할 때 사용한다. &lt;br /&gt;[s] 
: 윈도우가 F000:0000~1MB 사이의 ROM 주소를 사용하지 않도록 지정한다. &lt;br /&gt;[x] : 메모리에서 윈도우 98이 사용되지 않는 
영역을 찾는 검사를 실시 할때, 모든 영역을 선택하지 않는다. &lt;br /&gt;&lt;br /&gt;【 cpl 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Control 
Panel(제어판)의 약자이며 제어판에 있는 기능을 추가할 때 사용하는 설정 항목 파일이다.&lt;br /&gt;윈도우의 중심이라 할 수 있는 제어판을 
열어보면 시스템에 관련된 여러가지 아이콘들이 있다. 그 아이콘 하나하나의(즉, 파일)의 확장자가 cpl이며 windows system 폴더에 
cpl이라는 이름으로 존재하며, 이것들을 지우면 제어판의 아이콘도 따라 지워지므로 주의하자. &lt;br /&gt;&lt;br /&gt;또 EXE 파일과 같이 실행이 
가능하다.&lt;br /&gt;일례로 디스플레이 항목의 파일인 desk.cpl 파일은 더블 클릭하면 디스플레이 등록정보가 실행된다, 각 제어판의 항목과 해당 
cpl 파일의 이름은 다음과 같다. &lt;br /&gt;디스플레이 - desk.cpl &lt;br /&gt;모뎀 - modem.cpl/32bit 
ODBC-odbccp32.cpl &lt;br /&gt;바탕화면 테마 - themes.cpl &lt;br /&gt;게임 콘트롤러 - jot.cpl &lt;br /&gt;전화통신 - 
telephon.cpl &lt;br /&gt;국가별 선정 - intl.cpl &lt;br /&gt;멀티미디어 - mmsys.cpl &lt;br /&gt;전원관리 - powercfg.cpl 
&lt;br /&gt;암호 - password.cpl &lt;br /&gt;날짜,시간 - timedate.cpl &lt;br /&gt;인터넷 - intcpl.cpl &lt;br /&gt;네트웨크 - 
netcpl.cpl &lt;br /&gt;시스템 - sysdm.cpl &lt;br /&gt;마우스 - main.cpl &lt;br /&gt;프로그램 추가 제거 - appwiz.cpl 
&lt;br /&gt;&lt;br /&gt;【 csv 】∼『문서파일』 &lt;br /&gt;Comma-Separated Values File의 약자로 띄어 쓰기 대신에 콤마로 분리된 
텍스트 파일이다.&lt;br /&gt;주로 데이터베이스 파일을 추출할 때 사용한다.&lt;br /&gt;파일 내부를 보면 띄어쓰기 대신 콤마가 찍혀있는 것을 볼 수 있다. 
&lt;br /&gt;&lt;br /&gt;【 cur 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Cursor의 약자로 마우스 커서로 사용하는 파일 
포맷이다.&lt;br /&gt;Windows/cursors 폴더에 위치해 있으며, ani 파일과 마찬가지로 커서의 모양은 탐색기에서 바로 볼수 
있다.&lt;br /&gt;제어판의 &quot;마우스&quot;를 선택한후 &quot;포인터&quot;탭에서 마우스의 커스를 바꿀수 있다. &lt;br /&gt;&lt;br /&gt;【 dat 】∼『윈도우 시스템, 
환경파일』 &lt;br /&gt;데이트 파일.&lt;br /&gt;각각의 프로그램이 필요할 때 자료를 저장해 둔 파일이다. 이중에서 특히 Windows디렉토리와 
Systems 디렉토리에 있는 dat 파일은 윈도우의 운영에 필수적인 파일이므로 삭제하면 안 된다, &lt;br /&gt;비디오 CD의 데이트 파일 확장자로 
쓰이기도 한다. 그리고 주요 dat 파일로는 윈도우 98 설치시 95의 데이터를 백업하는 windows.dat, 드라이브스페이스의 정보를 
백업하는 drvspace.dat, 사용자 정보를 담는 user.dat와 IE userdata.dat 등이 있다. &lt;br /&gt;&lt;br /&gt;【 db / 
dbf 】∼『MS-Office 프로그램 파일』 &lt;br /&gt;일반적인 데이터베이스 파일을 뜻하고 DataBase File의 약자로, Dbase, 
Foxpro , Clipper 과 같은 데이터베이스 프로그램에서 저장하는 파일이다.&lt;br /&gt;dbf의 경우 10년을 넘게 사용된 파일 포맷으로 
기본적으로는 dBaseⅢ+ 라는 프로그램에서 사용했지만, 가장 표준적인 데이터베이스 파일로 사용된다.&lt;br /&gt;그리고 dbf는 필드와 레코드로 
나뉘어져 각 레코드에는 데이터가 입력되고 입력된 데이터는 검색어에 의해 일괄 검색이 된다. &lt;br /&gt;db는 dbf에 기능을 확장한 포맷입니다, 이 
두 가지 포맷은 대부분의 데이터베이스 프로그램에서 지원하고 있습니다. &lt;br /&gt;&lt;br /&gt;【 dde 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;동적 
데이터 교환(Dynamic Dats Exchange) 을 담당하는 파일이다.&lt;br /&gt;동적 데이터 교환이란 여러 개의 응용 프로그램간에 데이터를 
주고 받을수 있는 기능을 말한다. &lt;br /&gt;&lt;br /&gt;【 dif 】∼『MS-Office 프로그램 파일』 &lt;br /&gt;자료 교환용 파일 &lt;br /&gt;&lt;br /&gt;【 
dir 】∼『문서파일』 &lt;br /&gt;도스용 쉘 프로그램인 Mdir 용 디렉토리 정보 파일이다, 키를 눌러 디렉토리를 갱신할 때 마다 Mdir은 
mdirtree.dir파일을 재 작성해 정보를 보관한다. &lt;br /&gt;&lt;br /&gt;【 diz 】∼『문서파일』 &lt;br /&gt;Distributions In Zip의 
약자.&lt;br /&gt;통신이나 인터넷에서 다운 받은 셰어웨어 프로그램 압축 파일에 들어 있는 압축파일내의 주석 내용을 담고 있는 파일이다. 대부분 
File_id.diz 라는 이름으로 프로그램에 관한 간단한 소개와 제작사에 대한 설명이 첨부되어 있다. 보통 셰워웨어는 압축 파일로 제공하기 
때문에 어떤 프로그램인지 알기 어렵다는 이유 때문에 나온 파일 형태이다. &lt;br /&gt;&lt;br /&gt;【 dll 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;동적 
링크 라이브러리(dynamic link library)의 약자로 독립된 객체들을 하나로 종합한 라이브리 파일이다.&lt;br /&gt;동적 라이브러리라는 
윈도우의 보조 실행 파일. 어떤 프로그램에서나(윈도우용) 공용으로 쓸 수 있는 실행 루틴(라이브러리)을 미리 여기에 담아두고 필요할 때 각 
프로그램에서 불러다 쓴다. 자주 쓰는 파일을 한데 모아 두면 프로그램 덩치도 줄어들고 여러가지 이점이 있다. 아이콘이 여러 개 들어 있는 파일도 
있다. 독자적으로 실행 하지 못하지만 exe파일을 실행하는 데 도움을 주는 파일입니다, 따라서 exe파일에서 호출하는 dll 파일이 없을 
경우에는 프로그램이 에러를 내면서 실행되지 않는다. &lt;br /&gt;이파일은 여러 프로그램에서 공통적으로 사용하는 기능을 한데 모아놓은 것으로 런타임 
모듈(Run Time Module)이라고 불리기도 한다, 시스템 파일의 일종으로 톱니바퀴 모양의 아이콘으로 표시된다. &lt;br /&gt;&lt;br /&gt;【 doc 
】∼『MS-Office 프로그램 MS-Word와 관련된 것 파일』 &lt;br /&gt;document의 약자로 문서 파일. 문서편집기인 워드패드와 MS 워드 
문서를 작성하면 이 확장자가 붙는다. 텍스트 형식으로 저장된 것과 MS-Word형식으로 저장된 것이 있다, 그리고 한글, 훈민정음 등 대부분의 
문서편집기에서 지원된다. &lt;br /&gt;&lt;br /&gt;【 dos 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;윈도우로 부팅 하지 않고 도스 모드로 부팅할 때 
사용되는 시작 시스템 파일의 확장자이다.&lt;br /&gt;윈도우로 부팅 될 때에는 사용되지 않으며, 도스 모드로 부팅될 때만 io.dos 파일은 
io.sys로, config.dos는 config.sys 파일 등으로 확장자가 변경되어 사용된다, &lt;br /&gt;이들 dos 확장자 파일의 확장자 
변화는 다음과 같다 &lt;br /&gt;&amp;lt; 윈도우 모드의 파일명 → 도스모드의 파일명 &amp;gt; &lt;br /&gt;io.dos → io.sys 
&lt;br /&gt;config.dos → config.sys &lt;br /&gt;autoexe.dos → autoexe.bat &lt;br /&gt;command.dos → 
command.com &lt;br /&gt;mode_dos.com → mode.com &lt;br /&gt;msdos.dos → msdos.sys &lt;br /&gt;&lt;br /&gt;【 dot 
】∼『MS-Office 프로그램 MS-Word와 관련된 것 파일』 &lt;br /&gt;MS-Word에서 사용하는 서식파일, 한글의 hwt와 같은 기능으로 
미리 만들어진 틀에 내용을 입력할 때 사용한다. 서식 안에 내용만 추가하면 되므로 작업 속도가 향상된다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;【 drv 
】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;driver(드라이버)의 약자. PC에 설치된 수많은 하드웨어의 인식과 구동을 제어하는 디바이스 
드라이버파일로 데이터가 들어 있는 파일이다.&lt;br /&gt;그래픽 카드, 프린터, 시디롬과 같은 주변기기를 쓰기 위해 필요한 장치 구동 드라이버라고 
한다.&lt;br /&gt;운영체제와 주변기기를 이 파일이 연결해 준다. 이 파일이 없다면 하드웨어는 정상적으로 작동하지 않을 것입니다, 그러나 속도가 느리고 
메모리를 차지하는 단점이 있다. &lt;br /&gt;&lt;br /&gt;【 exe 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Executable(실행)의 약자로 가장 
기본적인 실행 파일이다.&lt;br /&gt;도스용 프로그램과 윈도용 프로그램 모두 공통된 확장자를 가지고 윈도우용의 경우 프로그램 아이콘으로 표시되고, 
도스용은 MS-DOS 아이콘 표시되므로 구분이 쉽다, 프로그램 실행 파일로 더블클릭하거나 엔터키를 치면 프로그램이 실행된다. &lt;br /&gt;실행 
파일로는 .bat, .com 등도 있다. 특히 com은 exe에 비해 크기가 작아(64kb로 제한) 램 상주 프로그램에 많이 쓰인다. 
&lt;br /&gt;&lt;br /&gt;【 fon / fnt / fot / ttf 】∼『글꼴파일 (폰트파일)』 &lt;br /&gt;4개 모두 글꼴 파일이다. &lt;br /&gt;fon 는 
윈도우의 기본 글꼴 중의 하나로 font의 약자, 이 글꼴은 비트맵 방식으로 만들어져 있어서 글자를 크게 확대하면 글자가 깨져 보여서 계단 
모양으로 찍히는 단점이 있다. 탐색기나 폴더 창에서 더블클릭하면 글자 모양을 바로 확인 할수 있다. &lt;br /&gt;반면True Type Font의 
약자인 ttf와 fot는 벡터 방식의 글꼴로서 글자 크기를 키워도 원래 모양을 그대로 유지한다. C :windowsfont에서 볼 수 있다. 
&lt;br /&gt;&lt;br /&gt;【 frm 】∼『문서파일』 &lt;br /&gt;Form의 약자. 아래아 한글(한글과 컴퓨터사)에서 사용하는 한글 폼(form)파일 과 
훈민정음의 서식(양식) 파일. 서식 파일이란 일정하게 미리 만들어진 양식에 내용만 입력하도록 한 파일을 말한다. &lt;br /&gt;&lt;br /&gt;【 gal 
】∼『문서파일』 &lt;br /&gt;순우리말인 갈무리(Galmuri)의 약자이며. 위에서 설명한 cap처럼 이야기 프로그램에서 사용하는 문서파일로. 다른 
프로그램과 호환이 되지 않아 거의 쓰이고 있지는 않다. &lt;br /&gt;&lt;br /&gt;【 gid 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;도움말 파일(.hlp)과 
관련된 파일이다.&lt;br /&gt;*.hlp 파일을 보게 되면 gid 파일이 저절로 하나 생성되는데, 이 파일은 hlp파일을 좀더 빠르고 효율적으로 볼 수 
있도록 하는 도움말의 인덱스를 모아놓은 파일이다.&lt;br /&gt;그렇게 중요한 파일은 아니며 지워도 전혀 상관이 없다. &lt;br /&gt;&lt;br /&gt;【 grp 
】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;프로그램 관리자 그룹 파일이란 뜻의 group의 약자로 프로그램 관리자에 있는 그룹의 설정과 정보를 담고 
저장하는 파일이다.&lt;br /&gt;윈도우3.1에서 사용된다, 윈도우에서는 자동으로 이 파일을 변환하여 시작 메뉴에 프로그램을 등록한다, 기본/응용 
프로그램, 시작프로그램, 보조프로그램처럼 성격별로 프로그램을 한데 등록해 둔 그룹 파일이다.&lt;br /&gt;&lt;br /&gt;【 gul 】∼『문서파일』 
&lt;br /&gt;훈민정음에서 사용하는 기본 문서 저장형식. 이 파일은 문서뿐만 아니라 표, 그림 등 다양한 서식을 적용할 수 있어 그래픽컬한 문서 제작에 
용이하다.&lt;br /&gt;&lt;br /&gt;【 gz 】∼『압축 파일(유닉스용 압축 파일)』 &lt;br /&gt;gzip 압축 포맷으로 유닉스에서 많이 쓰인다. &lt;br /&gt;&lt;br /&gt;【 
h15 】∼『문서파일』 &lt;br /&gt;아래아 한글 1.5에서 작업한 문서를 2.0이상에서 불러서 저장 후 생기는 백업 파일. &lt;br /&gt;&lt;br /&gt;【 had 
】∼『문서파일』 &lt;br /&gt;한글과 컴퓨터사의 주소록용 데이터베이스 파일이다.&lt;br /&gt;이는 주소록을 그룹별로 묶고 개인별 데이터를 회사, 개인, 메모 
등으로 분류하여 열람하기가 쉽다, 데이터를 합치거나 분리할수 있으며 메모 기능이 있어 간단한 메모에서 긴 문서까지 저장할수 있다. 
&lt;br /&gt;&lt;br /&gt;【 hft 】∼『글꼴파일 (폰트파일)』 &lt;br /&gt;Hangul Font Type의 약자, 한글에서 사용하는 글꼴로 윈도우에서는 
사용할수 없고 한글에서만 사용 가능하다.&lt;br /&gt;한글, 새롬데이타맨 등에서 사용하는 한글 폰트 파일(Hanful FonT). 이 글꼴은 C 
:Hnc/font 폴드에 있다. 한컴환경설정이라는 유틸리티로 글꼴을 등록, 삭제 할 수 있다. &lt;br /&gt;&lt;br /&gt;【 hlp 】∼『윈도우 시스템, 
환경파일』 &lt;br /&gt;help의 약자, 윈도우와 응용프로그램 사용에 대한 도움말(Help)을 담아 놓은 파일 이다. 그냥 더블 클릭하면 바로 내용을 
볼 수 있다. &lt;br /&gt;&lt;br /&gt;【 hqx 】∼『압축 파일(유닉스용 압축 파일)』 &lt;br /&gt;매킨토시의 압축 파일. &lt;br /&gt;&lt;br /&gt;【 html / 
htm 】∼『문서파일』 &lt;br /&gt;Hyper Text Markup Language의 약자. 인터넷이 뜨면서 하루아침에 뜬 파일 형태이다. 
&lt;br /&gt;웹사이트에 접속하면 화면에 뜨는 것이 바로 HTML 문서로, 홈페이지를 만드는데 사용되는 텍스트 파일을 지칭한다. 한글이나 MS 워드, 
훈민정음으로 편집할 수 있고 일반 편집 프로그램인 메모장이나 워드패드로도 볼 수 있다. 저자문서의 서식을 정의 하기위해 만들어진 국제표준 
SGML에서 부분 정의되어 있다. &lt;br /&gt;&lt;br /&gt;【 hwp 】∼『문서파일』 &lt;br /&gt;Hangul Word Proccessor 의 약자, 아래아 
한글(한글과 컴퓨터사)에서 사용하는 파일 확장자. 문서에 표, 서식, 그림, 하이퍼텍스트 등의 다양한 정보를 담을 수 있다, 과거 버전에서는 
그림 파일이 별도로 저장되었지만 지금은 hwp파일 내부에 저장할수 있다. &lt;br /&gt;&lt;br /&gt;【 hwt 】∼『문서파일』 &lt;br /&gt;아래아 한글(한글과 
컴퓨터사)에서 사용하는 문서마당 파일. 문서를 처음부터 만들지 않고 이미 만들어져 있는 틀에다 입력만 하면 되는 템플릿(Templete) 
파일이다. &lt;br /&gt;예을 들어 보고서, 이력서 등의 미리 일정한 형태를 갖춘 파일을 불러와 내용만 입력하면 편하다. &lt;br /&gt;&lt;br /&gt;【 ice 
】∼『압축 파일』 &lt;br /&gt;lha와 마찬가지로 LHARC ver 1.13압축 프로그램을 버전업한 것이다. 그래서 다른 압축 프로그램과는 호환성이 
없고 Ice프로그램과 lha프로그램은 그 압축 방법이 동일하다. &lt;br /&gt;&lt;br /&gt;【 ico 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;윈도우에서 
사용하는 아이콘(Icon) 파일로 각 파일의 특성을 시각적으로 구분시켜 준다. 윈도우에서는 다른 프로그램과 연결되어 있지는 않지만 탐색기에서 
아이콘의 모양은 바로 확인 할수 있다. 따라서 실행 파일과 잘 구별이 안 되는 파일 포맷이다. &lt;br /&gt;&lt;br /&gt;【 idx 】∼『MS-Office 
프로그램 파일』 &lt;br /&gt;데이터베이스 인덱스 파일, 아웃룩 익스프레스에서 사용하는 확장자로, 보낸 편지함, 받은 편지함 등 각 항목과 일대일로 
대응 하는 인덱스 정보가 들어 있다. &lt;br /&gt;&lt;br /&gt;【 inf 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;.ini와 비슷한 역할을 하며 프로그램 
정보를 담고 있는 파일로 Infor-mation의 약자이며 주로 윈도우용에 쓰인다. 이것은 정보를 담고 있는 파일이지만 주로 설치에 관한 내용이 
들어 있다.&lt;br /&gt;하드웨어 드라이브 배포 시에 많이 쓰이며, inf 파일에서 마우스 오른쪽 단추를 눌러 [설치]메뉴를 실행하면 드라이브가 
자동으로 설치된다. 이것은 특히 하드웨어의 설치 시 해당 하드웨어와 맞는 정보 파일을 선택하여야만 필요한 드라이브 파일을 복사하는 하는 과정을 
거치게 된다, 또한 하드웨어뿐만 아니라 msdet.inf, msbatch.inf와 같이 윈도우 설치 시 시스템 설정을 사용자에게 정의해 주는 
소프트웨어 관련 파일도 존재한다. &lt;br /&gt;&lt;br /&gt;【 ini 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;Initialize(초기화)의 약자로 윈도우 
초기화 파일로 불리우며, 16비트 윈도우용 프로그램 시작시 필요한 각종 설정값을 저장하는 파일이며, 특히 윈도우 3.1에서 각종 응용 프로그램이 
초기 프로그램 환경이나 정보를 설정해 놓은 파일 이다. &lt;br /&gt;윈도우95/98로 와서는 레지스트리의 대체로 그 쓰임이 많이 줄긴 했다. 
win.ini, system.ini 등에는 윈도우95나 여러 가지 프로그램의 초기 정보가 들어 있다. 보통 Windows 디렉토리에 저장되며, 
삭제하면 기본값으로 프로그램이 실행됩니다, ini를 잘못 수정하면 윈도우가 실행되지 않을수도 있다. 에디터 프로그램 등을 이용해 사용자 마음대로 
수정할수 있다. 주요 ini 파일로는 win.ini, system.ini, control.ini 파일등이 있다. &lt;br /&gt;&lt;br /&gt;【 lnk 
】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;link의 약자로 단축 아이콘(일명 바로가기) 파일의 확장자이며 실행 파일대신에 바탕화면이나 시작 버튼에 
자유롭게 등록할 수 있어 사용이 간편하다. 이 파일은 데이터의 위치와 속성 등 간단한 정보가 수록되어 있다.&lt;br /&gt;실수로 지웠다 해도 원래 
파일에는 아무런 영향을 미치지 않는다. 원본 파일의 복사본이라고 생각하면 된다. &lt;br /&gt;&lt;br /&gt;【 log 】∼『윈도우 시스템, 환경파일』 
&lt;br /&gt;특정 프로그램의 실행 결과를 기록하는 파일로 보통 로그 파일이라 부른다, 텍스트 형태로 구성되어 있어 이를 에디터 등의 프로그램으로 읽어 
작업에 대한 실행 과정과 결과를 알아볼수 있다. &lt;br /&gt;&lt;br /&gt;【 lst 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;목록(List) 파일로 파일이나 
내용의 목록을 적어 놓은 리스트 파일. 텍스트로 이루어져 있어 메모장 프로그램으로 볼 수 있다. &lt;br /&gt;&lt;br /&gt;【 lzh 】∼『압축 파일』 
&lt;br /&gt;Lempel Zev Huffman의 약자로 압축 유틸리티인 LHA의 압축 파일 확장자 이다.&lt;br /&gt;압축프로그램중에 드물게 프로그램과 압축 
파일의 확장자 이름이 다르다.&lt;br /&gt;LHA는 LHARC에 기능을 추가해 일본 요시(YOSHI)사에서 개발한 도스용 압축 
프로그램이다.&lt;br /&gt;압축률(원본 1/4내지 1/3 정도)이 좋으며 기능이 많다는 장점이 있으나 압축하거나 푸는데 시간이 많이 걸린다는 단점이 
있다. 사용방법과 명령어는 다음과 같다. &lt;br /&gt;&amp;lt; LHA &amp;lt;명령어&amp;gt;&amp;lt;압축될 파일이름&amp;gt;[DIR\][압축할 파일이름] 
&amp;gt; &lt;br /&gt;/A - 압축시작, &lt;br /&gt;/L - 압축된 파일의 리스트 표시, &lt;br /&gt;/S - 자동압축 해체 파일로 압축(확장자는 exe), 
&lt;br /&gt;/U - 압축된 파일에 파일을 추가, 수정, &lt;br /&gt;/D - 지정된 파일을 압축파일에서 삭제, &lt;br /&gt;/V - 압축된 파일의 리스트를 
표시, &lt;br /&gt;/M - 파일을 압축한후, 원본을 삭제, &lt;br /&gt;/P - 지정한 파일의 내용을 표시, &lt;br /&gt;/X - 압축 해체, 
&lt;br /&gt;&lt;br /&gt;【 mda / mdt 】∼『MS-Office 프로그램 DB프로그램인 액세스(access)와 관련된 확장자』 &lt;br /&gt;MS 
데이트베이스 프로그램인 MS-Aceess 에서 사용되는 추가 기능 보조 파일이다. 엑세스에서는 마법사나 메뉴 추가, 작성기 등의 추가 기능을 
사용자가 만들어 사용할수 있는데, 이때 만들어지는 확장자이다. &lt;br /&gt;&lt;br /&gt;보충설명』파일 아이콘 에 노란색의 열쇠가 붙어 있는 파일은 MS 
오피스의 프로페셔널 버전에 들어 있는 DB프로그램인 액세스(access)와 관련된 확장자 들입니다 &lt;br /&gt;&lt;br /&gt;【 mdb 
】∼『『MS-Office 프로그램 DB프로그램인 액세스(access)와 관련된 확장자』 &lt;br /&gt;MS 데이트베이스 프로그램인 MS-Aceess의 
데이터베이스 를 저장한 데이터 파일. 급여관리나 비디오 수집등 각종 데이터를 체계적으로 정리하고 검색하는데 사용된다. &lt;br /&gt;&lt;br /&gt;【 mdn 
】∼『MS-Office 프로그램 DB프로그램인 액세스(access)와 관련된 확장자』 &lt;br /&gt;MS 데이트베이스 프로그램인 MS-Aceess가 새 
데이터베이스 파일을 만들 때 사용하는 서식 파일. &lt;br /&gt;&lt;br /&gt;【 mdz 】∼『MS-Office 프로그램 DB프로그램인 액세스(access)와 
관련된 확장자』 &lt;br /&gt;MS 데이트베이스 프로그램인 MS-Aceess의 마법사 파일이다. 주소록이나 음반 관리, 고객관리 등의 데이터베이스를 
구축할때 필드 지정에서 폼 형태까지 따라하기만 하면 데이터베이스 파일을 만들어 주는 기능을 한다. &lt;br /&gt;&lt;br /&gt;【 ocx / vbx 
】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;프로그램에서 실행에 필요한 기능을 한데 모아 놓은 파일로 위의 dll 파일과 비슷하다, vbx는 
프로그래밍 언어의 하나인 마이크로소프트 비주얼 베이직에서 사용하던 파일로 라이브리이다, 처음에는 비주얼 베이직에서 사용했지만 최근에는 거의 모든 
프로그래밍 언어에서 지원합니다, 이것은 32비트용으로 확정한 것이 ocx이다.&lt;br /&gt;&lt;br /&gt;【 odb / odt / odz 
】∼『MS-Office 프로그램 파일』 &lt;br /&gt;MS오피스에는 여러가지 포맷의 파일을 한데 묶어주는 바인더라는 기능이 있다.&lt;br /&gt;이 포맷들은 
바인더와 관련된 것으로 odb 는 바이더 파일, odt는 템플릿 파일, odz는 마법사 파일이다. &lt;br /&gt;&lt;br /&gt;【 old 】∼『임시, 
백업화일』 &lt;br /&gt;일종의 백업파일로 Old Version을 뜻하고, 주로 시스템 파일 즉 .ini, .bat, .sys 등의 파일을 수정했을 때 
원본을 보관하기 위해 갱신후에 이전 파일의 정보가 old 확장자를 가진 동명의 파일로 자동으로 생겨 백업파일로 저장된다. 이 파일은 삭제해도 
무방한 파일이지만 나중에 수정된 파일에 문제가 있으면 이전 설정으로 되돌릴때 유용하게 사용할수 있는 파일이다. &lt;br /&gt;&lt;br /&gt;【 pak 
】∼『압축 파일』 &lt;br /&gt;유닉스용 압축 파일의 확장자로 Packed라는 뜻을 가진다, &lt;br /&gt;&lt;br /&gt;【 pdf 】∼『문서파일』 
&lt;br /&gt;Postscript Ducomenr File. 포토샵을 만든 어도비사에서 만든 문서 포맷으로 인터넷에서 문서를 배포하기 위해 만들었다. 
하이퍼텍스트나 이미지 등의 사용이 자유로워 사용자가 계속 늘어나고 있다. 아크로뱃 리더(Acrobat Reader)로 볼 수 있다. 
&lt;br /&gt;&lt;br /&gt;【 pdr 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;부가 드라이브(Value Added Driver) 중 한 가지, SCSI 포트, 
NEC 기종에서 사용되는 포트 등 에서 사용하는 드라이버가 담겨 있다, 위치는 Windows/syst em/IOSubsys 이다. 
&lt;br /&gt;&lt;br /&gt;【 pft 】∼『글꼴파일 (폰트파일)』 &lt;br /&gt;옛날 hwp버전에서 쓰였던 도트프린터용 글꼴 파일(Print Font) 
&lt;br /&gt;&lt;br /&gt;【 pif 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;도스용 응용 프로그램 정보 파일, 윈도우 상에서 도스용 응용 프로그램을 실행할 
때 메모리 등 특정 조건을 충족시키기 위해 설정을 저장하는 파일이다. &lt;br /&gt;&lt;br /&gt;【 ppt 】∼『MS-Office 프로그램 파일』 
&lt;br /&gt;MS 오피스 중 프레젠테이션 프로그램인 파워포인트의 데이트 파일입니다. 파워 포인트는 보고 문서를 그래픽과 차트, 멀티미디어 데이터를 
동원해 멋진 자료를 만드는 프로그램이다, 만들어진 파일은 영화처럼 순차적으로 보여지며, 화면이나 인쇄물로 만들수 있다. &lt;br /&gt;&lt;br /&gt;【 ps 
】∼『문서파일』 &lt;br /&gt;역시 어도비사에서 만든 포맷으로 포스트스크립트(Postscript) 약자로 깔끔한 글꼴과 이미지를 사용하며 주로 
유닉스에서 사용하지만 대부분 기종에서도 사용할 수 있다는 것이 큰 장점이다. &lt;br /&gt;&lt;br /&gt;【 pwl 】∼『윈도우 시스템, 환경파일』 
&lt;br /&gt;윈도우의 네트워크 암호 설정 정보 파일, 사용자가 네트워크에 접속하기 위해 로그온 암호를 설정하면 윈도우는 사용자 이름과 동일한 파일명에 
확장자가 PWL인 파일을 생성하게 된다, 또한 로그온 암호 외에도 네트워크 상의 공유 자원을 지정할때 사용할수 있는 암호도 PWL 파일에서 
관여하게 된다, &lt;br /&gt;&lt;br /&gt;【 pwz 】∼『MS-Office 프로그램 파일』 &lt;br /&gt;MS 오피스 중 프레젠테이션 프로그램인 파워포인트의 
마법사 파일입니다. 서식 파일이 보고 양식을 미리 만들어 놓은 것에 비해 마법사는 그 방법가지 따라하기로 안내한다, 마법사를 열면 분야별로 
서식이 들어있고, 서식을 선택하면 작업 과정을 친절히 안내해 준다. &lt;br /&gt;&lt;br /&gt;【 rar 】∼『압축 파일』 &lt;br /&gt;러시아에서 만들어진 압축 
프로그램 RAR의 파일 확장자, 압축율이 높고 안정적이어서 많은 사용자를 가지고 있다, 멀티 압축이 가능 하며 이경우에 확장자는 RAR, 
001, 002, ... 순으로 명명된다, 명령행에서의 압축과 자체에 내장된 쉘(shell)을 이용한 압축이 가능하다. 논리적이고 쉬운 Rar의 
인터페이스로 편리한 압축 수단을 제공한다. &lt;br /&gt;&lt;br /&gt;【 reg 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;레지스트리의 데이터를 저장하는데 
사용되며, 이파일을 더블 클릭하면 실행되어 그 안의 정보가 윈도우의 레지스트리에 정보를 추가 등록시킬수도 있다,즉 레지스트리의 데이터를 저장하는 
데 사용하는 파일입니다. 그리고 운영체제가 사용하는 것 외에 레지스트리를 사용해 윈도우의 기본 설정을 변경하는 유틸리티 프로그램들도 이 파일을 
사용한다. ini 파일의 윈도우95판이다. &lt;br /&gt;&lt;br /&gt;【 rtf 】∼『문서파일』 &lt;br /&gt;Rich Text Format 의 약자로 , 
MS사에서 만든 문서 포맷이고, 일반 txt 파일과 구조가 흡사하여 대부분의 워드프로세스에서 지원하고 있지만 글꼴이나 마진 등 추가적인 기능을 
첨가하였다, wri보다 다양한 기능을 제공합니다, 그러나 전문 워드프로세스 파일보다는 기능이 부족하기에 많이 쓰이지는 않습니다. 아래아 한글이나 
워드, 윈도우의 문서 편집기 등에서 다른 이름으로 저장할 때 이 형태로 저장할 수 있다. &lt;br /&gt;&lt;br /&gt;【 scf 】∼『문서파일』 
&lt;br /&gt;Script File 의 약자, 이야기에서 작성한 스크립트(혼잣말 파일) 파일. &lt;br /&gt;&lt;br /&gt;【 scr 】∼『윈도우 시스템, 환경파일』 
&lt;br /&gt;Screen Saver의 약자, 윈도우에서 화면 보호기 작동될 때 사용하는 파일이다. 이 파일은 혼자서도 실행되므로 탐색기에서 
더블클릭하면 바로 화면 보호기를 실행할 수 있습니다. 윈도우 디렉토리나 System 디렉토리에 설치되며, 디스플레이 등록 정보에서 설정하여 
사용한다. &lt;br /&gt;&lt;br /&gt;【 spl 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;빠른 인쇄 작업을 위해 사용되는 스풀 파일, 이 스폴 파일은 데이트 
처리에 따른 지연 현상을 방지하기 위한 일종의 버퍼라 생각하면 된다, &lt;br /&gt;SPL 파일은 Windows/system/spool/printers 
경로에 위치하며, 인쇄 작업이 종료되면 자동으로 데이터를 삭제하게 된다, 하지만 해당 디렉토리에 SPL 파일이 남아있는 경우는 비정상적으로 인쇄 
작업이 종료되거나 중단된 경우이므로 삭제해도 무방하다. &lt;br /&gt;&lt;br /&gt;【 sys / old 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;system의 
약자로 시스템 운영에 꼭 필요한 파일이며, config.sys, msdos.sys처럼 부팅과 관련이 있거나 윈도우95나 도스 등의 운영 체제의 
시스템에 관련된 내용이 들어 있다. 메모장 등의 에디터로 열어보면 그 내용을 확인할 수도 있지만 함부로 수정하는 것은 금물, old는 
sys파일의 백업 파일이다. 시스템 파일이므로 톱니바퀴로 표시되어 있습니다. 주요 파일로는 io.sys, msdos.sys 등이다. 
&lt;br /&gt;&lt;br /&gt;【 tar 】∼『압축 파일(유닉스용 압축 파일)』 &lt;br /&gt;Tape Archive 의 약자로 유닉스 압축 파일. &lt;br /&gt;&lt;br /&gt;【 
tgz 】∼『압축 파일(유닉스용 압축 파일)』 &lt;br /&gt;tar로 묶은 파일을 gzip으로 다시 압축한 파일. 리눅스나 유닉스에서는 tar.gz로 
쓴다. &lt;br /&gt;&lt;br /&gt;【 tmp 】∼『임시, 백업화일』 &lt;br /&gt;Temporary의 약자로 윈도우의 정상적인 실행을 위해 임시로 생성하는 
파일이다.&lt;br /&gt;즉 프로그램을 설치하다가 중단하거나 윈도우, 응용프로그램이 필요할 때 임시로 만드는 파일이다. 쓰임이 다하면 자동으로 삭제되기 
때문에 임시 파일이라고도 한다. 항상 자동으로 삭제되는 것은 아니며, 주로 C :Temp, C :WindowsTemp에 저장된다. 수시로 
지워주는 것이 좋다. &lt;br /&gt;&lt;br /&gt;【 ttf 】∼『글꼴파일 (폰트파일)』 &lt;br /&gt;트루타입(True Type) Font의 확장자, 윈도우에서 
가장 많이 사용하는 글꼴이다.&lt;br /&gt;벡터 방식으로 만들어져 있어 글자를 크게 확대해도 경계선이 깨끗한 글꼴을 사용 할수 있으며, fon 형식의 
파일과 마찬가지로 탐색기에서 더블크릭하면 바로 글자 모양을 확인 할수 있다. &lt;br /&gt;&lt;br /&gt;【 txt 】∼『문서파일』 
&lt;br /&gt;텍스트(Text)파일 이라 하고, 가장 기본적이고 가장 단순한 형태의 문서파일이다. ACSII 구조로 되어 있어 가장 범용적이고 호환성이 
뛰어난 문서 포맷으로서, IBM PC와 매킨토시에서 함께 사용한다. 거의 모든 문서 편집 프로그램 즉 MS 워드, 메모장 등으로 읽고 편집할 수 
있다. 이것이 장점이지만 , 문서를 꾸미거나 다른 문서와 연결하는 기능은 없다, 윈도우에서는 기본적으로 메모장과 연결되어 있고, 대부분 완성형 
한글로 작성되어 있다. 
&lt;br /&gt;&lt;br /&gt;☞『보충설명』----------------------------------------------------------- &lt;br /&gt;∼ 
TXT 텍스트 기반의 시스템 파일은? &lt;br /&gt;TXT 라는 확장자를 갖는 텍스트 파일은 주로 메모장이나 워드에서 사용되는 문서 파일이지만, 몇 
개의 텍스트 파일은 용도가 다른 설치 로그 파일로 존재한다, 이들 파일은 c: 드라이브의 루트 디렉토리에 위치하고 있으며, 윈도우 설치와 
부팅시의 기록을 담고 있다. &lt;br /&gt;&lt;br /&gt;『etuplog.txt』☞ 윈도우 설치시 모든 동작 상황을 기록하며, 문제가 발생할 경우 안전 복구를 
사용할지 여부를 판단한다, 또한 어느 부분에서 문제가 발생하였는지 기록하고, 같은 문제로 인한 재설치의 실패를 방지해준다. 
&lt;br /&gt;&lt;br /&gt;『detlog.txt』☞ PnP 및 수동 검사를 통한 시스템에 장치들의 검색결과가 기록되어 잇다, 윈도우는 특정 장치에 대한 검색 
모듈이 들어 있는 sysdetmg.dll 파일을 사용하는데 장치에 대한 검색 결과에 따라 detlog.txt 파일에 기록하며, 이전 파일은 
detlog.old 파일로 이름이 변경된다. &lt;br /&gt;&lt;br /&gt;『snetlog.txt』☞ 네트워크 설치 로그 파일 윈도우 98이 설치될때 네트워크 
구성요소의 검색 결과와 설치 과정을 모두 기록한다. &lt;br /&gt;&lt;br /&gt;『bootlog.txt』☞ 윈도우 시작하기 위한 드라이브 로드 과정과 각 
요소의 상태들이 기록된다, 만일 부팅중 문제가 발생하였다면 이 파일을 통해 문제점을 해결한다. 
&lt;br /&gt;---------------------------------------------------------------------------- 
&lt;br /&gt;【 uue 】∼『압축 파일』 &lt;br /&gt;인코딩 프로그램인 Uuencode로 인코딩된 파일 확장자. 파일 포맷 방식은 윈집과 유사하며, 
Uue의 디코딩 프로그램은 윈집 사이트(www.winzip.com)에서 다운로드 받을수 있다. &lt;br /&gt;&lt;br /&gt;【 vxd 】∼『윈도우 시스템, 
환경파일』 &lt;br /&gt;Virtual Device Driver(가상 디바이스 드라이버 파일)의 확장자로 하드웨어 또는 소프트웨어의 동작을 관리한다. 
일반적인 drv 파일에 비해 덩치가 작고 메모리를 적게 차지하고 속도가 빠른 장점이 있는데, 이는 하나 이상의 장치가 같은 메모리 자원을 
사용할수 있도록 VXD가 32비트 보호 모드로 동작하기 때문이다, 즉 vxd가 로드될 때는 필요한 메모리 양만큼만 로드 되거나 언로드 된다, 
하지만 모든 vxd 파일이 똑같은 건 아니다. 즉, mm32.vxd 파일의 경우는 각 개인 컴퓨터에 맞게 따로 만들어진다. 그래서 크기도 조금씩 
다르다. &lt;br /&gt;&lt;br /&gt;【 wbk 】∼『MS-Office 프로그램 MS-Word와 관련된 것 파일』 &lt;br /&gt;MS-Word의 문서 백업 파일. 
문서를 잘못 작성한 후 실수로 저장하면 되돌리지 못하므로 백업 파일로 다시 복구한다, 마치 한글의 bak라는 백업 파일과 같다, 일반적으로 MS 
워드에서는 &quot;백업 파일 항상 작성&quot;이라는 항목을 체크 해야 한다. &lt;br /&gt;&lt;br /&gt;【 wfn 】∼『글꼴파일 (폰트파일)』 &lt;br /&gt;윈도우 3.0 
폰트 파일 &lt;br /&gt;&lt;br /&gt;【 wiz 】∼『MS-Office 프로그램 MS-Word와 관련된 것 파일』 &lt;br /&gt;MS-Word 의 마법사 기능을 
제공하는 파일. 봉투나 팩스 문서, 이름표 등 일련의 양식화된 문서를 따라하기 방법으로 만든다, 마법사로 완성된 데이터는 내용만 채운 후 
출력하면 될 정도로 사용이 쉽다. &lt;br /&gt;&lt;br /&gt;【 wll 】∼『MS-Office 프로그램 MS-Word와 관련된 것 파일』 
&lt;br /&gt;MS-Word에서 사용하는 확장자, 의 문서 백업 파일 &lt;br /&gt;&lt;br /&gt;【 wll 】∼『MS-Office 프로그램 MS-Word와 관련된 
것 파일』 &lt;br /&gt;MS-Word에서 기능을 추가할 때 사용하는 파일. &lt;br /&gt;&lt;br /&gt;【 wpg 】∼『문서파일』 &lt;br /&gt;워드 퍼펙트(Word 
Perfect)에서 사용하는 문서 파일. &lt;br /&gt;&lt;br /&gt;【 wri 】∼『문서파일』 &lt;br /&gt;txt 파일과 같은 문서 파일, 윈도우 3.1의 
문서작성기 프로그램에서 사용한 문서로 , 윈도우 95, 98에서는 보조프로그램에 들어있는 문서 편집기 워드패드로 작성한 문서 파일로 txt 
파일과는 달리 글꼴의 모양이나 크기, 서식을 지정할 수 있다.&lt;br /&gt;이때 읽기는 가능하지만 이 포맷으로 저장할 수는 없다. &lt;br /&gt;&lt;br /&gt;【 
xla / xlm / xlb / xld / xlw / xll / xlv 】∼『MS-Office 프로그램 MS-Excel과 관련된 파일』 
&lt;br /&gt;&lt;br /&gt;엑셀(MS-Excel) 파일. xld은 엑셀 템플릿 파일 &lt;br /&gt;xlk은 xls파일의 데이터 백업 파일이다. &lt;br /&gt;xlm은 
매크로란 반복되는 작업을 녹음기처럼 기록하여 한번에 명령하는 것을 말한다, 예를 들면 가로 셀의 데이터만 순차적으로 수를 더해가는 일을 할때 
한번의 과정을 기억했다가 다음 실행부터는 매크로로 반복 작업하는 것이다, 특히 반보ㄷ 작업이 많은 스프레드시트에서는 매크로의 역할이 중요하다. 
엑셀(MS-Excel) 의 매크로 파일. &lt;br /&gt;&lt;br /&gt;보충설명』파일 아이콘에 하늘색의 X자가 찍혀 있는 파일은 MS-Excel과 관련된 
것이고. 모두다 xl로 시작하는 확장명을 가지고 있다.) &lt;br /&gt;&lt;br /&gt;【 xlc 】∼『MS-Office 프로그램 MS-Excel과 관련된 
파일』 &lt;br /&gt;엑셀(MS-Excel) 파일. 차트를 뜻하는 포맷이다. &lt;br /&gt;&lt;br /&gt;【 xls 】∼『MS-Office 프로그램 MS-Excel과 
관련된 파일』 &lt;br /&gt;xls파일은 가장 기본적인 워크시트 파일로 엑셀(MS-Excel) 의 데이터 저장 파일로 워크시트 파일이라고도 부른다, 
스프레이시트인 엑셀은 장부를 만드는 프로그램으로 가계부, 계산서, 재고 관리에서 차량관리, 실적 분석 등의 통계 작업도 할수 있다. 
&lt;br /&gt;&lt;br /&gt;【 xlt 】∼『MS-Office 프로그램 MS-Excel과 관련된 파일』 &lt;br /&gt;엑셀(MS-Excel) 템플릿 파일이다. 
&lt;br /&gt;&lt;br /&gt;【 xx_ 】∼『윈도우 시스템, 환경파일』 &lt;br /&gt;끝에 _가 붙어 있는 파일들이 있습니다, 이 파일들은 주로 설치용 프로그램과 
함께 제공되는 압축 파일로 윈도우의 Extract.exe 프로그램을 사용해 파일의 압축을 풀수 있다. &lt;br /&gt;&lt;br /&gt;【 z 】∼『압축 
파일(유닉스용 압축 파일)』 &lt;br /&gt;compress 라는 명령으로 만든 파일로 유닉스 표준 압축 방식이다. &lt;br /&gt;&lt;br /&gt;【 zip 】∼『압축 
파일』 &lt;br /&gt;압축 유틸리티인 Pkzip의 압축 파일 확장자로 lha, arj가 나오기 전부터 PKWARE사에서 만든 압축 유틸이다. 
Pkzip은 빠른 압축, 해제 속도를 가지고 있어 한동안 자주 사용되다가 lha, arj에 밀려나서 거의 사양길에 접어 들었다. 그후 윈도우의 
출시후 Winzip이라는 새이름으로 발빠른 변신으로 윈도우 환경에서 가장 대표적인 압축 유틸리티로 탈자꿈하여 요즘은 압축한다하면 윈집을 
뜨올린다, 압축 프로그램으로서는 처음으로 SFX(self extracting file, 스스로 압축을 푸는 기능)을 지원하였다. 
&lt;br /&gt;&lt;br /&gt;【 zoo 】∼『압축 파일』 &lt;br /&gt;압축 유틸리티인 ZOO로 압축한 파일의 확장자이다.&lt;/p&gt;</description>
      <category>기타</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/16</guid>
      <comments>https://gongcha.tistory.com/16#entry16comment</comments>
      <pubDate>Mon, 31 Oct 2016 08:46:28 +0900</pubDate>
    </item>
    <item>
      <title>[오라클(Oracle)] Oracle Error 모음</title>
      <link>https://gongcha.tistory.com/15</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt; color: rgb(65, 116, 217);&quot;&gt;Oracle Error Code&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ora-00000 &amp;nbsp; &amp;nbsp; 성공적인 정상 종료입니다.&lt;/p&gt;&lt;p&gt;ora-00001 &amp;nbsp; &amp;nbsp; 유일성 제약조건(%s.%s)에 위배됩니다.&lt;/p&gt;&lt;p&gt;ora-00017 &amp;nbsp; &amp;nbsp; 트레이스 이벤트 설정이 세션에 요구되었습니다.&lt;/p&gt;&lt;p&gt;ora-00018 &amp;nbsp; &amp;nbsp; 최대 세션 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00019 &amp;nbsp; &amp;nbsp; 최대 세션 라이선스 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00020 &amp;nbsp; &amp;nbsp; 최대 프로세스 수(%s)를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00021 &amp;nbsp; &amp;nbsp; 세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00022 &amp;nbsp; &amp;nbsp; 부적절한 세션 번호; 액세스가 거절되었습니다.&lt;/p&gt;&lt;p&gt;ora-00023 &amp;nbsp; &amp;nbsp; 세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00024 &amp;nbsp; &amp;nbsp; 단일 프로세스 모드에서는 하나 이상의 프로세스가 로그인할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00025 &amp;nbsp; &amp;nbsp; %s에 메모리를 할당하는데 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-00026 &amp;nbsp; &amp;nbsp; 누락 혹은 부적합한 세션 번호&lt;/p&gt;&lt;p&gt;ora-00027 &amp;nbsp; &amp;nbsp; 현 세션을 제거할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00028 &amp;nbsp; &amp;nbsp; 세션이 제거되었습니다.&lt;/p&gt;&lt;p&gt;ora-00029 &amp;nbsp; &amp;nbsp; 사용자 세션이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00030 &amp;nbsp; &amp;nbsp; 사용자 세션 id가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00031 &amp;nbsp; &amp;nbsp; 세션이 중단될 것입니다.&lt;/p&gt;&lt;p&gt;ora-00032 &amp;nbsp; &amp;nbsp; 부적합한 세션 migration password&lt;/p&gt;&lt;p&gt;ora-00033 &amp;nbsp; &amp;nbsp; 현세션이 migration password를 갖고있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00034 &amp;nbsp; &amp;nbsp; pl/sql 세션에서 %s를 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00035 &amp;nbsp; &amp;nbsp; license_max_users가 현재의 사용자 수보다 적을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00050 &amp;nbsp; &amp;nbsp; 엔큐를 하는 동안 o/s 오류가 발생했음. o/s 오류를 확인하십시오&lt;/p&gt;&lt;p&gt;ora-00051 &amp;nbsp; &amp;nbsp; 자원 대기 중 시간 초과입니다.&lt;/p&gt;&lt;p&gt;ora-00052 &amp;nbsp; &amp;nbsp; 최대 엔큐 자원 수(%s)를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00053 &amp;nbsp; &amp;nbsp; 최대 엔큐 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00054 &amp;nbsp; &amp;nbsp; 자원이 사용중이고, nowait가 지정되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-00055 &amp;nbsp; &amp;nbsp; 최대 dml 잠금 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00056 &amp;nbsp; &amp;nbsp; 개체 %s.%s에 대한 ddl 잠금이 비호환 모드로 되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-00057 &amp;nbsp; &amp;nbsp; 최대 임시 테이블 잠금 수가 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00058 &amp;nbsp; &amp;nbsp; 이 데이타베이스를 마운트하기 위해서 db_block_size가 %s이어야 함(%s 아님).&lt;/p&gt;&lt;p&gt;ora-00059 &amp;nbsp; &amp;nbsp; 최대 db_files 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00060 &amp;nbsp; &amp;nbsp; 자원 대기중 데드록이 검출되었습니다.&lt;/p&gt;&lt;p&gt;ora-00061 &amp;nbsp; &amp;nbsp; 다른 하나의 인스턴스가 다른 dml_locks을 설정하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-00062 &amp;nbsp; &amp;nbsp; dml 전(full) 테이블 잠금을 취할 수 없습니다. dml_locks은 0 입니다.&lt;/p&gt;&lt;p&gt;ora-00063 &amp;nbsp; &amp;nbsp; 최대 log_files 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00064 &amp;nbsp; &amp;nbsp; 현 o/s (%s,%s)에 할당하기에는 개체가 너무 큽니다.&lt;/p&gt;&lt;p&gt;ora-00065 &amp;nbsp; &amp;nbsp; fixed_date의 초기화에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-00066 &amp;nbsp; &amp;nbsp; log_files는 %s이지만 호환성을 위해 %s 이어야합니다.&lt;/p&gt;&lt;p&gt;ora-00067 &amp;nbsp; &amp;nbsp; 값 %s은 파라미터 %s에 대해 부적당하며, 최소한 %s 이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-00068 &amp;nbsp; &amp;nbsp; 값 %s은 파라미터 %s에 대해 부적당하며, %s와 %s 사이의 값이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-00069 &amp;nbsp; &amp;nbsp; 잠글 수 없습니다 -- %s에 대해 테이블 잠금을 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00070 &amp;nbsp; &amp;nbsp; 명령어 %s 은 적당하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00071 &amp;nbsp; &amp;nbsp; 프로세스 번호은 1 과 %s 사이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-00072 &amp;nbsp; &amp;nbsp; 프로세스 %s 은 활동적인 것이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00073 &amp;nbsp; &amp;nbsp; 명령어 %s은 %s 와 %s 인수를 가지고 옵니다.&lt;/p&gt;&lt;p&gt;ora-00074 &amp;nbsp; &amp;nbsp; 지정된 프로세스가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00075 &amp;nbsp; &amp;nbsp; 프로세스 %s 은 이 인스턴스에서 찾을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00076 &amp;nbsp; &amp;nbsp; 덤프 %s 을 찾을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00077 &amp;nbsp; &amp;nbsp; 덤프 %s 은 적당하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00078 &amp;nbsp; &amp;nbsp; 이 이름으로 변수를 덤프 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00079 &amp;nbsp; &amp;nbsp; 변수 %s 가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00080 &amp;nbsp; &amp;nbsp; 레벨 %s 로 지정된 글로벌 영역이 부적당합니다.&lt;/p&gt;&lt;p&gt;ora-00081 &amp;nbsp; &amp;nbsp; 주소 범위 [%s, %s)은 읽기가능한 것이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00082 &amp;nbsp; &amp;nbsp; %s의 메모리 크기는 적당한 [1], [2], [4]%s%s%s%s%s의 설정으로 되어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00083 &amp;nbsp; &amp;nbsp; 경고: 맵된 sga가 손상한것 같습니다.&lt;/p&gt;&lt;p&gt;ora-00084 &amp;nbsp; &amp;nbsp; 글로벌 영역이 pga, sga, 또는 uga 이어야만 합니다.&lt;/p&gt;&lt;p&gt;ora-00085 &amp;nbsp; &amp;nbsp; 현재 호출이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00086 &amp;nbsp; &amp;nbsp; 사용자 호출이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00097 &amp;nbsp; &amp;nbsp; oracle sql 기능에서 사용하고 있는것이 sql92 %s 레벨서 존재하고 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00100 &amp;nbsp; &amp;nbsp; 데이터가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00101 &amp;nbsp; &amp;nbsp; 시스템 파라미터 mts_dispatchers에 대한 사용 문법이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00102 &amp;nbsp; &amp;nbsp; %s 네트워크 프로토콜이 디스패쳐에 의해 사용될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00103 &amp;nbsp; &amp;nbsp; 부적합한 네트워크 프로토콜; 디스패쳐에 의해 사용되도록 예약되었음&lt;/p&gt;&lt;p&gt;ora-00104 &amp;nbsp; &amp;nbsp; 데드록이 검출되었음; 모든 공유서버가 자원을 기다리고 있습니다.&lt;/p&gt;&lt;p&gt;ora-00105 &amp;nbsp; &amp;nbsp; 디스패칭 기법이 %s 네트워크 프로토콜을 지원하도록 되어있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00106 &amp;nbsp; &amp;nbsp; 디스패쳐에 연결되었을때는 데이타베이스를 기동/중지시킬 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00107 &amp;nbsp; &amp;nbsp; oracle의 리스너 프로세스에 연결하지 못했습니다.&lt;/p&gt;&lt;p&gt;ora-00108 &amp;nbsp; &amp;nbsp; 비동기 연결이 가능하도록 디스패쳐를 설정하지 못했습니다.&lt;/p&gt;&lt;p&gt;ora-00111 &amp;nbsp; &amp;nbsp; 최대 서버수는 %s입니다; %s개의 서버 추가중&lt;/p&gt;&lt;p&gt;ora-00112 &amp;nbsp; &amp;nbsp; 경고: %s (지정 최대치) 디스패쳐만으로 생성되었습니다.&lt;/p&gt;&lt;p&gt;ora-00113 &amp;nbsp; &amp;nbsp; 프로토콜명 %s가 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-00114 &amp;nbsp; &amp;nbsp; 시스템 파라미터 mts_service에 대한 값이 없습니다.&lt;/p&gt;&lt;p&gt;ora-00115 &amp;nbsp; &amp;nbsp; 연결이 거절됨; 디스패쳐 연결 레이블이 full 상태입니다.&lt;/p&gt;&lt;p&gt;ora-00116 &amp;nbsp; &amp;nbsp; mts_service명이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-00117 &amp;nbsp; &amp;nbsp; 시스템 파라미터 mts_servers의 범위를 벗어납니다.&lt;/p&gt;&lt;p&gt;ora-00118 &amp;nbsp; &amp;nbsp; 시스템 파라미터 mts_dispatchers의 범위를 벗어납니다.&lt;/p&gt;&lt;p&gt;ora-00119 &amp;nbsp; &amp;nbsp; mts_listener_address 시스템 파라미터에 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00120 &amp;nbsp; &amp;nbsp; 디스패칭 기법이 사용불가 혹은 설치되어있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00121 &amp;nbsp; &amp;nbsp; mts_dispatchers를 제외하고 mts_servers가 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-00122 &amp;nbsp; &amp;nbsp; 네트워크 구성을 초기화할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00123 &amp;nbsp; &amp;nbsp; 비작업중인 공유 서버를 종료합니다.&lt;/p&gt;&lt;p&gt;ora-00124 &amp;nbsp; &amp;nbsp; mts_dispatchers가 mts_max_servers 없이 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-00150 &amp;nbsp; &amp;nbsp; 중복된 트랜잭션 id&lt;/p&gt;&lt;p&gt;ora-00151 &amp;nbsp; &amp;nbsp; 부적합한 트랜잭션 id&lt;/p&gt;&lt;p&gt;ora-00152 &amp;nbsp; &amp;nbsp; 현 세션이 요구된 세션과 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00200 &amp;nbsp; &amp;nbsp; 제어 화일 %s을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00201 &amp;nbsp; &amp;nbsp; 제어 화일 버전 %s은 oracle 버전 %s과 호환되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00202 &amp;nbsp; &amp;nbsp; 제어화일: %s&lt;/p&gt;&lt;p&gt;ora-00203 &amp;nbsp; &amp;nbsp; 잘못된 제어화일을 사용하였습니다.&lt;/p&gt;&lt;p&gt;ora-00204 &amp;nbsp; &amp;nbsp; 제어 화일 %s (블록 %s, 블록 수 %s) 읽기 오류입니다.&lt;/p&gt;&lt;p&gt;ora-00205 &amp;nbsp; &amp;nbsp; 제어 화일 %s 식별 오류입니다.&lt;/p&gt;&lt;p&gt;ora-00206 &amp;nbsp; &amp;nbsp; 제어 화일 %s (블록 %s, 블록 수 %s) 쓰기 오류입니다.&lt;/p&gt;&lt;p&gt;ora-00207 &amp;nbsp; &amp;nbsp; 제어화일이 현재 사용중인 데이타베이스용이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00208 &amp;nbsp; &amp;nbsp; 제어 화일명이 최대수 %s 를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00209 &amp;nbsp; &amp;nbsp; 블록 크기 %s 가 최대 %s 바이트를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00210 &amp;nbsp; &amp;nbsp; 제어 화일 %s 를 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00211 &amp;nbsp; &amp;nbsp; 제어 화일 %s 가 앞의 제어 화일과 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00212 &amp;nbsp; &amp;nbsp; 블록 크기 %s가 최소한 필요한 크기 %s 바이트 미만입니다.&lt;/p&gt;&lt;p&gt;ora-00213 &amp;nbsp; &amp;nbsp; 제어 화일 %s 재사용 불가; 구 화일 크기 %s, %s가 필요합니다.&lt;/p&gt;&lt;p&gt;ora-00214 &amp;nbsp; &amp;nbsp; 제어 화일 %s의 버전 %s는 화일 %s 버전 %s와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00215 &amp;nbsp; &amp;nbsp; 적어도 한 개의 제어 화일이 필요합니다.&lt;/p&gt;&lt;p&gt;ora-00216 &amp;nbsp; &amp;nbsp; 제어 화일 %s 에 대한 물리 블록 크기를 확정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00217 &amp;nbsp; &amp;nbsp; 제어 화일 %s의 물리적 블록 크기 %s가 %s와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00218 &amp;nbsp; &amp;nbsp; 제어 화일 %s는 블록 크기를 %s로 작성되었지만 현재는 %s 입니다.&lt;/p&gt;&lt;p&gt;ora-00219 &amp;nbsp; &amp;nbsp; 필요한 제어 화일 크기 %s 가 최대치 %s 보다 큽니다.&lt;/p&gt;&lt;p&gt;ora-00220 &amp;nbsp; &amp;nbsp; 제어화일 %s가 첫 인스턴스에 의해 사용한 것과 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00221 &amp;nbsp; &amp;nbsp; 제어화일에의 쓰기오류&lt;/p&gt;&lt;p&gt;ora-00222 &amp;nbsp; &amp;nbsp; 디스패쳐로 제어화일을 조회할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00223 &amp;nbsp; &amp;nbsp; 변환 데이타화일이 부적합하거나 틀린 버전입니다.&lt;/p&gt;&lt;p&gt;ora-00224 &amp;nbsp; &amp;nbsp; 명시된 화일이 제어 화일이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00225 &amp;nbsp; &amp;nbsp; 기대된 크기 %s 은( 제어화일 %s 관한) 실제 크기 %s 와 다릅니다.&lt;/p&gt;&lt;p&gt;ora-00250 &amp;nbsp; &amp;nbsp; 아카이버가 작동되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-00251 &amp;nbsp; &amp;nbsp; 사용되지 않는 오류&lt;/p&gt;&lt;p&gt;ora-00252 &amp;nbsp; &amp;nbsp; 로그 %s (쓰레드 %s의)는 비었습니다. 아카이브할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00253 &amp;nbsp; &amp;nbsp; 제한치 %s가 길이 %s로 초과되었습니다 (아카이브 스트링 %s의)&amp;nbsp;&lt;/p&gt;&lt;p&gt;ora-00254 &amp;nbsp; &amp;nbsp; 아카이브 제어 스트링 %s 오류입니다.&lt;/p&gt;&lt;p&gt;ora-00255 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s, 시퀀스 번호 %s)의 아카이브 오류&lt;/p&gt;&lt;p&gt;ora-00256 &amp;nbsp; &amp;nbsp; 아카이브 텍스트 스트링 %s의 변환시 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-00257 &amp;nbsp; &amp;nbsp; 아카이버 오류. 해제되기 전에는 내부 연결만 가능&lt;/p&gt;&lt;p&gt;ora-00258 &amp;nbsp; &amp;nbsp; noarchivelog 모드에서의 수동 아카이브는 로그를 지정해야합니다.&lt;/p&gt;&lt;p&gt;ora-00259 &amp;nbsp; &amp;nbsp; 로그 %s(개방 쓰레드 %s의)가 현재 로그이므로 아카이브할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00260 &amp;nbsp; &amp;nbsp; 온라인 로그 시퀀스 %s(쓰레드 %s의)를 발견할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00261 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)가 아카이브중이거나 수정중입니다.&lt;/p&gt;&lt;p&gt;ora-00262 &amp;nbsp; &amp;nbsp; 현재 로그 %s(닫힌 쓰레드 %s의)를 스위치할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00263 &amp;nbsp; &amp;nbsp; 쓰레드 %s를 위해 아카이빙이 필요한 로그가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00264 &amp;nbsp; &amp;nbsp; 복구가 필요하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00265 &amp;nbsp; &amp;nbsp; 인스턴스 복구가 요구됩니다. archivelog모드를 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00266 &amp;nbsp; &amp;nbsp; 아카이브된 로그 화일의 이름을 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-00267 &amp;nbsp; &amp;nbsp; 아카이브된 로그 화일의 이름을 필요로 하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00268 &amp;nbsp; &amp;nbsp; 지정된 로그화일이 존재하지 않습니다 %s&lt;/p&gt;&lt;p&gt;ora-00269 &amp;nbsp; &amp;nbsp; 지정된 로그화일은 쓰레드 %s의 (%s가 아닌) 부분임&lt;/p&gt;&lt;p&gt;ora-00270 &amp;nbsp; &amp;nbsp; 아카이브 로그 생성시 오류&lt;/p&gt;&lt;p&gt;ora-00271 &amp;nbsp; &amp;nbsp; 아카이브를 필요로 하는 로그가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00272 &amp;nbsp; &amp;nbsp; 아카이브 로그 기록시 오류&lt;/p&gt;&lt;p&gt;ora-00273 &amp;nbsp; &amp;nbsp; 로그되지 않은 직접 로드 데이타의 매체 복구&lt;/p&gt;&lt;p&gt;ora-00274 &amp;nbsp; &amp;nbsp; 부적절한 복구 옵션 %s&lt;/p&gt;&lt;p&gt;ora-00275 &amp;nbsp; &amp;nbsp; 매체 복구가 이미 시작되었습니다.&lt;/p&gt;&lt;p&gt;ora-00276 &amp;nbsp; &amp;nbsp; 키워드 change가 지정되었으나 변환 번호가 주어지지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-00277 &amp;nbsp; &amp;nbsp; until 복구 플래그 %s에 부적절한 옵션&lt;/p&gt;&lt;p&gt;ora-00278 &amp;nbsp; &amp;nbsp; 현 복구를 위해 로그화일 %s는 더이상 필요하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00279 &amp;nbsp; &amp;nbsp; 변환 %s가 (%s에서 생성된) 쓰레드 %s에 필요합니다.&lt;/p&gt;&lt;p&gt;ora-00280 &amp;nbsp; &amp;nbsp; 변환 %s(쓰레드 %s를 위한)가 시퀀스번호 %s에 있습니다.&lt;/p&gt;&lt;p&gt;ora-00281 &amp;nbsp; &amp;nbsp; 매체 복구는 디스패쳐를 사용하여 수행되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00282 &amp;nbsp; &amp;nbsp; upi %s 호출이 지원되지 않으니, alter database recover를 사용하십시요&lt;/p&gt;&lt;p&gt;ora-00283 &amp;nbsp; &amp;nbsp; 복구 세션이 오류로 인하여 취소되었습니다.&lt;/p&gt;&lt;p&gt;ora-00284 &amp;nbsp; &amp;nbsp; 복구 세션이 진행중입니다.&lt;/p&gt;&lt;p&gt;ora-00285 &amp;nbsp; &amp;nbsp; time 키워드가 지정되었으나 시간이 주어지지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-00286 &amp;nbsp; &amp;nbsp; 이용가능한 멤버가 없거나, 적합한 데이타를 포함하고 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00287 &amp;nbsp; &amp;nbsp; 지정된 변환 번호 %s가 쓰레드 %s에 없습니다.&lt;/p&gt;&lt;p&gt;ora-00288 &amp;nbsp; &amp;nbsp; 복구를 계속하려면 alter database recover continue를 입력하십시요&lt;/p&gt;&lt;p&gt;ora-00289 &amp;nbsp; &amp;nbsp; 제안 : %s&lt;/p&gt;&lt;p&gt;ora-00290 &amp;nbsp; &amp;nbsp; 로그화일을 아카이브 하려고 할때, o/s 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-00291 &amp;nbsp; &amp;nbsp; parallel 옵션에 숫자값이 필요로합니다.&lt;/p&gt;&lt;p&gt;ora-00292 &amp;nbsp; &amp;nbsp; 병렬 복구 기능이 설치되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-00293 &amp;nbsp; &amp;nbsp; 제어 화일과 리두로그가 동기화 상태에서 벗어나 있습니다.&lt;/p&gt;&lt;p&gt;ora-00300 &amp;nbsp; &amp;nbsp; 부적합한 리두 로그 블록 크기 %s가 지정됨 - 한계 %s 초과&lt;/p&gt;&lt;p&gt;ora-00301 &amp;nbsp; &amp;nbsp; 로그 화일 %s를 추가 작성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00302 &amp;nbsp; &amp;nbsp; 로그의 최대수 %s 를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00304 &amp;nbsp; &amp;nbsp; 요구된 인스턴스 번호는 사용중입니다.&lt;/p&gt;&lt;p&gt;ora-00305 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)는 일관되지 않습니다. 이것은 다른 데이타베이스에 속합니다.&lt;/p&gt;&lt;p&gt;ora-00306 &amp;nbsp; &amp;nbsp; 이 데이타베이스에서는 %s 인스턴스가 한계입니다.&lt;/p&gt;&lt;p&gt;ora-00307 &amp;nbsp; &amp;nbsp; 요구된 인스턴스 번호가 범위를 벗어납니다(최대치는 %s)&lt;/p&gt;&lt;p&gt;ora-00308 &amp;nbsp; &amp;nbsp; 아카이브된 로그 %s를 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00309 &amp;nbsp; &amp;nbsp; 로그가 잘못된 데이타베이스에 속해 있습니다.&lt;/p&gt;&lt;p&gt;ora-00310 &amp;nbsp; &amp;nbsp; 아카이브된 로그는 시퀀스 %s를 포함하고 있습니다 시퀀스 %s가 필요합니다.&lt;/p&gt;&lt;p&gt;ora-00311 &amp;nbsp; &amp;nbsp; 아카이브 로그로부터 헤더 정보를 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00312 &amp;nbsp; &amp;nbsp; 온라인 로그 %s 쓰레드 %s: %s&lt;/p&gt;&lt;p&gt;ora-00313 &amp;nbsp; &amp;nbsp; 로그 그룹 %s (쓰레드 %s의)의 멤버를 여는데 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-00314 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의, 시퀀스번호가 %s일)는 %s와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00315 &amp;nbsp; &amp;nbsp; 로그 %s (쓰레드 %s의) 헤더의 쓰레드 번호 %s가 틀립니다.&lt;/p&gt;&lt;p&gt;ora-00316 &amp;nbsp; &amp;nbsp; 로그 %s (쓰레드 %s의) 헤더내의 유형 %s는 로그화일이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00317 &amp;nbsp; &amp;nbsp; 헤더에 있는 화일형 %s가 로그화일이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00318 &amp;nbsp; &amp;nbsp; 로그 %s (쓰레드 %s의, 화일 크기가 %s인)가 %s와 맞지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00319 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)가 틀린 로그 재설정 상태를 가지고 있습니다.&lt;/p&gt;&lt;p&gt;ora-00320 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)로부터 화일 헤더를 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00321 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)에서 로그화일 헤더를 수정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00322 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)는 현시점의 것이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00323 &amp;nbsp; &amp;nbsp; 쓰레드 %s의 현 로그는 사용불가하며, 나머지 전부도 아카이브하여야 합니다.&lt;/p&gt;&lt;p&gt;ora-00324 &amp;nbsp; &amp;nbsp; 로그 화일 %s의 변환명 %s가 너무 깁니다, 문자수 %s가 %s를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00325 &amp;nbsp; &amp;nbsp; 쓰레드 %s으로 아카이브된 로그가 헤더내에 틀린 쓰레드 번호 %s를 가지고 있습니다.&lt;/p&gt;&lt;p&gt;ora-00326 &amp;nbsp; &amp;nbsp; 변환 %s에서 시작된 아카이브 로그, 이전의 변환 %s를 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-00327 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의), 물리적인 크기 %s가 필요한 %s보다 작습니다.&lt;/p&gt;&lt;p&gt;ora-00328 &amp;nbsp; &amp;nbsp; 변환 %s에서 끝난 아카이브 로그, 이후의 변환 %s를 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-00329 &amp;nbsp; &amp;nbsp; 변환 %s에서 시작된 아카이브 로그, 변환 %s를 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-00330 &amp;nbsp; &amp;nbsp; 변환 %s에서 끝난 아카이브 로그, 변환 %s를 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-00331 &amp;nbsp; &amp;nbsp; 로그 버전 %s가 oracle 버전 %s와 호환성이 없습니다.&lt;/p&gt;&lt;p&gt;ora-00332 &amp;nbsp; &amp;nbsp; 아카이브된 로그가 너무 작음 - 완전하게 아카이브되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-00333 &amp;nbsp; &amp;nbsp; 재실행 로그 읽기 오류(블록 %s 카운트 %s)&lt;/p&gt;&lt;p&gt;ora-00334 &amp;nbsp; &amp;nbsp; 아카이브된 로그: %s&lt;/p&gt;&lt;p&gt;ora-00335 &amp;nbsp; &amp;nbsp; 온라인 로그 %s: 이 번호의 로그가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00336 &amp;nbsp; &amp;nbsp; 로그 화일의 크기 %s가 최소 블록 수 %s 보다 작습니다.&lt;/p&gt;&lt;p&gt;ora-00337 &amp;nbsp; &amp;nbsp; 로그 화일 %s가 존재하지 않고 크기가 지정되어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00338 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)가 제어화일보다 최근의 것입니다.&lt;/p&gt;&lt;p&gt;ora-00339 &amp;nbsp; &amp;nbsp; 아카이브 로그가 redo 로그를 포함하고 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00340 &amp;nbsp; &amp;nbsp; 온라인 로그 %s(쓰레드 %s의) 처리시 io 오류입니다.&lt;/p&gt;&lt;p&gt;ora-00341 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)에 대한 헤더내에 로그 번호 %s가 틀립니다.&lt;/p&gt;&lt;p&gt;ora-00342 &amp;nbsp; &amp;nbsp; 아카이브된 로그가 마지막 resetlogs 전에 생성되었습니다.&lt;/p&gt;&lt;p&gt;ora-00343 &amp;nbsp; &amp;nbsp; 너무 많은 오류 발생, 로그 멤버가 클로즈됐습니다.&lt;/p&gt;&lt;p&gt;ora-00344 &amp;nbsp; &amp;nbsp; 온라인 로그 %s를 재생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00345 &amp;nbsp; &amp;nbsp; redo 로그 쓰기(write) 오류, 블록 %s 카운트 %s&lt;/p&gt;&lt;p&gt;ora-00346 &amp;nbsp; &amp;nbsp; 로그 멤버가 stale로 표시되었습니다.&lt;/p&gt;&lt;p&gt;ora-00347 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)의 예상 블록크기 %s는 %s와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00348 &amp;nbsp; &amp;nbsp; 단일 프로세스 redo 실패입니다 인스턴스를 중지해야 합니다.&lt;/p&gt;&lt;p&gt;ora-00349 &amp;nbsp; &amp;nbsp; %s 의 블록 크기 확보 실패입니다.&lt;/p&gt;&lt;p&gt;ora-00350 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)를 아카이브해야 합니다.&lt;/p&gt;&lt;p&gt;ora-00351 &amp;nbsp; &amp;nbsp; 지정된 시간으로의 복구가 불가능합니다.&lt;/p&gt;&lt;p&gt;ora-00352 &amp;nbsp; &amp;nbsp; 쓰레드 %s에 대한 모든 로그가 아카이브되어야 함 - 가용화할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00353 &amp;nbsp; &amp;nbsp; 블록 %s 변경 %s 시간 %s 부근에서 로그가 깨졌습니다.&lt;/p&gt;&lt;p&gt;ora-00354 &amp;nbsp; &amp;nbsp; redo 로그의 블록헤더가 깨짐&lt;/p&gt;&lt;p&gt;ora-00355 &amp;nbsp; &amp;nbsp; 변환 번호가 잘못됨&lt;/p&gt;&lt;p&gt;ora-00356 &amp;nbsp; &amp;nbsp; 변환 설명내에 일치하지 않는 길이&lt;/p&gt;&lt;p&gt;ora-00357 &amp;nbsp; &amp;nbsp; 로그화일에 너무 많은 수의 멤버가 지정됨 (최대치는 %s)&lt;/p&gt;&lt;p&gt;ora-00358 &amp;nbsp; &amp;nbsp; 너무 많은 화일 멤버가 지정됨 (최대치는 %s)&lt;/p&gt;&lt;p&gt;ora-00359 &amp;nbsp; &amp;nbsp; 로그화일 그룹 %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00360 &amp;nbsp; &amp;nbsp; 로그화일 멤버가 아닙니다 %s&lt;/p&gt;&lt;p&gt;ora-00361 &amp;nbsp; &amp;nbsp; 마지막 로그 멤버 %s는 그룹 %s를 옮길수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00362 &amp;nbsp; &amp;nbsp; 그룹 %s내에 정당한 로그화일을 형성하기 위해 멤버를 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-00363 &amp;nbsp; &amp;nbsp; 로그가 아카이브 버전이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00364 &amp;nbsp; &amp;nbsp; 새로운 로그 멤버에 헤더를 기록할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00365 &amp;nbsp; &amp;nbsp; 지정한 로그가 다음 로그가 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00366 &amp;nbsp; &amp;nbsp; 로그 %s, 쓰레드 %s의, 화일 헤더에 체크섬 오류가 있습니다.&lt;/p&gt;&lt;p&gt;ora-00367 &amp;nbsp; &amp;nbsp; 로그 화일 헤더에 체크섬 오류가 있습니다.&lt;/p&gt;&lt;p&gt;ora-00368 &amp;nbsp; &amp;nbsp; 리두 로그 블록에 체크섬 오류가 있습니다.&lt;/p&gt;&lt;p&gt;ora-00369 &amp;nbsp; &amp;nbsp; 쓰레드 %s의 현재 로그는 사용불가이며 다른 로그가 지워지고 있습니다.&lt;/p&gt;&lt;p&gt;ora-00370 &amp;nbsp; &amp;nbsp; kcbchange 작업수행시 데드록의 가능성이 있습니다.&lt;/p&gt;&lt;p&gt;ora-00371 &amp;nbsp; &amp;nbsp; 빈 버퍼의 사용이 불가합니다.&lt;/p&gt;&lt;p&gt;ora-00372 &amp;nbsp; &amp;nbsp; 화일 %s는 지금 수정될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00373 &amp;nbsp; &amp;nbsp; 온라인 로그 버전 %s가 oracle 버전 %s와 호환되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00374 &amp;nbsp; &amp;nbsp; 지정된 파라미터 db_block_size = %s 가 부적절함 - 가능한 범위[%s..%s]&lt;/p&gt;&lt;p&gt;ora-00375 &amp;nbsp; &amp;nbsp; 디폴트 db_block_size의 값을 얻을수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00376 &amp;nbsp; &amp;nbsp; 현재 화일 %s를 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00390 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)는 지워질것이므로 현재 로그가 될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00391 &amp;nbsp; &amp;nbsp; 전체 쓰레드는 동시에 새로운 로그 포맷으로 전환해야 합니다.&lt;/p&gt;&lt;p&gt;ora-00392 &amp;nbsp; &amp;nbsp; 로그 %s(쓰레드 %s의)는 지워질것이므로 작업이 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00393 &amp;nbsp; &amp;nbsp; 오프라인 데이타화일 복구에 로그 %s(쓰레드 %s의)가 필요합니다.&lt;/p&gt;&lt;p&gt;ora-00400 &amp;nbsp; &amp;nbsp; release 값 %s는 파라미터 %s에 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-00401 &amp;nbsp; &amp;nbsp; 이번 release에서 지원되지 않은 파라미터 %s에 대한 값입니다.&lt;/p&gt;&lt;p&gt;ora-00402 &amp;nbsp; &amp;nbsp; %s release에 변경된 데이타베이스는 %s release에 사용될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00403 &amp;nbsp; &amp;nbsp; %s (%s) 는 다른 인스턴스(%s)와 같지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00404 &amp;nbsp; &amp;nbsp; 변환 데이타 화일이 없습니다 %s&lt;/p&gt;&lt;p&gt;ora-00405 &amp;nbsp; &amp;nbsp; 호환 가능한 유형 %s&lt;/p&gt;&lt;p&gt;ora-00406 &amp;nbsp; &amp;nbsp; compatible 파라미터는 %s 이상이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-00407 &amp;nbsp; &amp;nbsp; 릴리즈 %s.%s 에서 %s.%s로 향상이 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00408 &amp;nbsp; &amp;nbsp; 파라미터 %s는 true로 설정되었습니다.&lt;/p&gt;&lt;p&gt;ora-00436 &amp;nbsp; &amp;nbsp; oracle이 라이센스되어 있지 않습니다 oracle사에 연락해 주십시오.&lt;/p&gt;&lt;p&gt;ora-00437 &amp;nbsp; &amp;nbsp; oracle의 기능이 라이센스되어 있지 않습니다. oracle사에 연락해 주십시오&lt;/p&gt;&lt;p&gt;ora-00443 &amp;nbsp; &amp;nbsp; 백그라운 프로세스 %s가 시작되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-00444 &amp;nbsp; &amp;nbsp; 백그라운드 프로세스 %s 기동중 장애가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-00445 &amp;nbsp; &amp;nbsp; 백그라운드 프로세스 %s가 %s초 후 기동되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-00446 &amp;nbsp; &amp;nbsp; 백그라운드 프로세스가 부적절하게 기동되었습니다.&lt;/p&gt;&lt;p&gt;ora-00447 &amp;nbsp; &amp;nbsp; 백그라운드 프로세스에 치명적인 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-00448 &amp;nbsp; &amp;nbsp; 백그라운드 프로세스가 정상 종료했습니다.&lt;/p&gt;&lt;p&gt;ora-00449 &amp;nbsp; &amp;nbsp; 백그라운드 프로세스 %s 가 오류 %s 와 함께 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00470 &amp;nbsp; &amp;nbsp; lgwr 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00471 &amp;nbsp; &amp;nbsp; dbwr 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00472 &amp;nbsp; &amp;nbsp; pmon 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00473 &amp;nbsp; &amp;nbsp; arch 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00474 &amp;nbsp; &amp;nbsp; smon 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00475 &amp;nbsp; &amp;nbsp; trwr 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00476 &amp;nbsp; &amp;nbsp; reco 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00477 &amp;nbsp; &amp;nbsp; snp* 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00480 &amp;nbsp; &amp;nbsp; lck* 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00483 &amp;nbsp; &amp;nbsp; 정지 처리중 프로세스가 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00568 &amp;nbsp; &amp;nbsp; 인터럽트 처리기의 최대수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00574 &amp;nbsp; &amp;nbsp; osndnt: $cancel 실패 (break)&lt;/p&gt;&lt;p&gt;ora-00575 &amp;nbsp; &amp;nbsp; osndnt: $qio 실패 (send out-of-band break)&lt;/p&gt;&lt;p&gt;ora-00576 &amp;nbsp; &amp;nbsp; 인-밴드 브레이크 프로토콜 오류&lt;/p&gt;&lt;p&gt;ora-00577 &amp;nbsp; &amp;nbsp; 아웃-밴드 브레이크 프로토콜 오류&lt;/p&gt;&lt;p&gt;ora-00578 &amp;nbsp; &amp;nbsp; 재설정 프로토콜 오류&lt;/p&gt;&lt;p&gt;ora-00579 &amp;nbsp; &amp;nbsp; osndnt: 서버가 잘못된 연결요구를 받았습니다.&lt;/p&gt;&lt;p&gt;ora-00580 &amp;nbsp; &amp;nbsp; 프로토콜 버전이 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00581 &amp;nbsp; &amp;nbsp; osndnt: 문맥 영역을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00582 &amp;nbsp; &amp;nbsp; osndnt: 문맥 영역을 해제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00583 &amp;nbsp; &amp;nbsp; osndnt: $trnlog 실패&lt;/p&gt;&lt;p&gt;ora-00584 &amp;nbsp; &amp;nbsp; 연결을 끊을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00585 &amp;nbsp; &amp;nbsp; 잘못된 유형의 호스트명입니다.&lt;/p&gt;&lt;p&gt;ora-00586 &amp;nbsp; &amp;nbsp; osndnt: lib$asn_wth_mbx 실패&lt;/p&gt;&lt;p&gt;ora-00587 &amp;nbsp; &amp;nbsp; 원격 호스트에 연결할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00588 &amp;nbsp; &amp;nbsp; 호스트로부터의 메시지가 너무 짧습니다.&lt;/p&gt;&lt;p&gt;ora-00589 &amp;nbsp; &amp;nbsp; 호스트로부터의 메시지가 잘못된 데이타 길이를 갖습니다.&lt;/p&gt;&lt;p&gt;ora-00590 &amp;nbsp; &amp;nbsp; 호스트로부터의 메시지가 잘못된 데이타 유형을 갖습니다.&lt;/p&gt;&lt;p&gt;ora-00591 &amp;nbsp; &amp;nbsp; 틀린 바이트 수가 기록되었습니다.&lt;/p&gt;&lt;p&gt;ora-00592 &amp;nbsp; &amp;nbsp; osndnt: $qio 실패 (mailbox queue)&lt;/p&gt;&lt;p&gt;ora-00593 &amp;nbsp; &amp;nbsp; osndnt: $dassgn 실패 (network device)&lt;/p&gt;&lt;p&gt;ora-00594 &amp;nbsp; &amp;nbsp; osndnt: $dassgn 실패 (mailbox)&lt;/p&gt;&lt;p&gt;ora-00595 &amp;nbsp; &amp;nbsp; osndnt: $qio 실패 (receive)&lt;/p&gt;&lt;p&gt;ora-00596 &amp;nbsp; &amp;nbsp; osndnt: $qio 실패 (send)&lt;/p&gt;&lt;p&gt;ora-00597 &amp;nbsp; &amp;nbsp; osndnt: $qio 실패 (mailbox requeue)&lt;/p&gt;&lt;p&gt;ora-00598 &amp;nbsp; &amp;nbsp; osndnt: $qio 실패 (mailbox read)&lt;/p&gt;&lt;p&gt;ora-00600 &amp;nbsp; &amp;nbsp; 내부 오류 코드, 인수 : [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]&lt;/p&gt;&lt;p&gt;ora-00601 &amp;nbsp; &amp;nbsp; 크린업 잠금이 충돌했습니다.&lt;/p&gt;&lt;p&gt;ora-00602 &amp;nbsp; &amp;nbsp; 내부 프로그래밍 오류입니다 - bug로 등록하세요&lt;/p&gt;&lt;p&gt;ora-00603 &amp;nbsp; &amp;nbsp; oracle 서버 세션이 치명적인 오류로 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-00604 &amp;nbsp; &amp;nbsp; 순환 sql 레벨 %s 에 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-00606 &amp;nbsp; &amp;nbsp; 내부 오류코드&lt;/p&gt;&lt;p&gt;ora-00701 &amp;nbsp; &amp;nbsp; 데이타베이스의 기동에 필요한 개체를 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00702 &amp;nbsp; &amp;nbsp; 부트스트랩 버전 %s가 버전 %s와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00703 &amp;nbsp; &amp;nbsp; 행 캐쉬 인스턴스 잠금의 최대 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-00704 &amp;nbsp; &amp;nbsp; 부트스트랩 프로세스 실패&lt;/p&gt;&lt;p&gt;ora-00816 &amp;nbsp; &amp;nbsp; 오류 메세지 해석 오류입니다.&lt;/p&gt;&lt;p&gt;ora-00900 &amp;nbsp; &amp;nbsp; sql 문이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00901 &amp;nbsp; &amp;nbsp; create 명령어가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00902 &amp;nbsp; &amp;nbsp; 데이타유형이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00903 &amp;nbsp; &amp;nbsp; 테이블명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00904 &amp;nbsp; &amp;nbsp; 열명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00905 &amp;nbsp; &amp;nbsp; 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00906 &amp;nbsp; &amp;nbsp; 좌괄호가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00907 &amp;nbsp; &amp;nbsp; 우괄호가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00908 &amp;nbsp; &amp;nbsp; null 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00909 &amp;nbsp; &amp;nbsp; 인수의 개수가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00910 &amp;nbsp; &amp;nbsp; 데이타형에 지정된 길이가 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-00911 &amp;nbsp; &amp;nbsp; 문자가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00913 &amp;nbsp; &amp;nbsp; 값의 수가 너무 많습니다.&lt;/p&gt;&lt;p&gt;ora-00914 &amp;nbsp; &amp;nbsp; add 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00915 &amp;nbsp; &amp;nbsp; 네트워크을 통한 dictionary table 액세스는 허가되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00917 &amp;nbsp; &amp;nbsp; 코머가 누락되었습니다.&lt;/p&gt;&lt;p&gt;ora-00918 &amp;nbsp; &amp;nbsp; 열의 정의가 애매합니다.&lt;/p&gt;&lt;p&gt;ora-00919 &amp;nbsp; &amp;nbsp; 함수가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00920 &amp;nbsp; &amp;nbsp; 관계 연산자가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00921 &amp;nbsp; &amp;nbsp; sql 명령어가 불완전합니다.&lt;/p&gt;&lt;p&gt;ora-00922 &amp;nbsp; &amp;nbsp; 옵션이 부적합하거나 없습니다.&lt;/p&gt;&lt;p&gt;ora-00923 &amp;nbsp; &amp;nbsp; from 키워드가 있어야할 곳에 없습니다.&lt;/p&gt;&lt;p&gt;ora-00924 &amp;nbsp; &amp;nbsp; by 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00925 &amp;nbsp; &amp;nbsp; into 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00926 &amp;nbsp; &amp;nbsp; values 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00927 &amp;nbsp; &amp;nbsp; 등호가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00928 &amp;nbsp; &amp;nbsp; select 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00929 &amp;nbsp; &amp;nbsp; 마침표(.)가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00930 &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;ora-00931 &amp;nbsp; &amp;nbsp; 식별자가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00932 &amp;nbsp; &amp;nbsp; 데이타 유형이 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00933 &amp;nbsp; &amp;nbsp; sql 명령어가 올바르게 종료되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-00934 &amp;nbsp; &amp;nbsp; 그룹 함수는 허가되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00935 &amp;nbsp; &amp;nbsp; 그룹 함수의 내포 레벨이 너무 깊습니다.&lt;/p&gt;&lt;p&gt;ora-00936 &amp;nbsp; &amp;nbsp; 식이 없습니다.&lt;/p&gt;&lt;p&gt;ora-00937 &amp;nbsp; &amp;nbsp; 단일 그룹의 그룹 함수가 아닙니다.&lt;/p&gt;&lt;p&gt;ora-00938 &amp;nbsp; &amp;nbsp; 함수의 인수가 충분하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00939 &amp;nbsp; &amp;nbsp; 함수의 인수가 너무 많습니다.&lt;/p&gt;&lt;p&gt;ora-00940 &amp;nbsp; &amp;nbsp; alter 명령어가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00941 &amp;nbsp; &amp;nbsp; 클러스터 명이 없습니다.&lt;/p&gt;&lt;p&gt;ora-00942 &amp;nbsp; &amp;nbsp; &amp;nbsp;테이블 또는 뷰가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00943 &amp;nbsp; &amp;nbsp; 클러스터가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00944 &amp;nbsp; &amp;nbsp; 클러스터 열의 수가 충분하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00945 &amp;nbsp; &amp;nbsp; 지정한 클러스터 열이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00946 &amp;nbsp; &amp;nbsp; to 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00947 &amp;nbsp; &amp;nbsp; 값의 수가 충분하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00948 &amp;nbsp; &amp;nbsp; alter cluster 문은 제공되어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00949 &amp;nbsp; &amp;nbsp; 원격 데이타베이스는 참조할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00950 &amp;nbsp; &amp;nbsp; drop 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00951 &amp;nbsp; &amp;nbsp; 클러스터가 비어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00952 &amp;nbsp; &amp;nbsp; group 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00953 &amp;nbsp; &amp;nbsp; 색인명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00954 &amp;nbsp; &amp;nbsp; identified 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00955 &amp;nbsp; &amp;nbsp; 이미 사용된 개체명입니다.&lt;/p&gt;&lt;p&gt;ora-00956 &amp;nbsp; &amp;nbsp; 감사 옵션이 부적합하거나 없습니다.&lt;/p&gt;&lt;p&gt;ora-00957 &amp;nbsp; &amp;nbsp; 열명이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-00958 &amp;nbsp; &amp;nbsp; check 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00959 &amp;nbsp; &amp;nbsp; 테이블 영역 %s 가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-00960 &amp;nbsp; &amp;nbsp; 선택 리스트에 애매한 열명이 있습니다.&lt;/p&gt;&lt;p&gt;ora-00962 &amp;nbsp; &amp;nbsp; 너무 많은 group-by / order-by 식이 있습니다.&lt;/p&gt;&lt;p&gt;ora-00964 &amp;nbsp; &amp;nbsp; from 리스트에 테이블명이 없습니다.&lt;/p&gt;&lt;p&gt;ora-00965 &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;ora-00966 &amp;nbsp; &amp;nbsp; table 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00967 &amp;nbsp; &amp;nbsp; where 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00968 &amp;nbsp; &amp;nbsp; index 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00969 &amp;nbsp; &amp;nbsp; on 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00970 &amp;nbsp; &amp;nbsp; with 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00971 &amp;nbsp; &amp;nbsp; set 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00972 &amp;nbsp; &amp;nbsp; 식별자의 길이가 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-00973 &amp;nbsp; &amp;nbsp; 행수의 추정이 잘못되었습니다.&lt;/p&gt;&lt;p&gt;ora-00974 &amp;nbsp; &amp;nbsp; pctfree 값(백분율)이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00975 &amp;nbsp; &amp;nbsp; 날짜와 날짜의 가산은 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00976 &amp;nbsp; &amp;nbsp; level, prior, rownum 은 사용 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00977 &amp;nbsp; &amp;nbsp; 감사 옵션이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-00978 &amp;nbsp; &amp;nbsp; group by 구 없이 그룹 함수가 내포되었습니다.&lt;/p&gt;&lt;p&gt;ora-00979 &amp;nbsp; &amp;nbsp; group by 의 식이 없습니다.&lt;/p&gt;&lt;p&gt;ora-00980 &amp;nbsp; &amp;nbsp; 동의어의 해석이 불가능합니다.&lt;/p&gt;&lt;p&gt;ora-00981 &amp;nbsp; &amp;nbsp; 테이블 및 시스템 감사 옵션은 함께 지정될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00982 &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;ora-00984 &amp;nbsp; &amp;nbsp; 열을 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00985 &amp;nbsp; &amp;nbsp; 프로그램명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00986 &amp;nbsp; &amp;nbsp; 그룹명이 부적합하거나 없습니다.&lt;/p&gt;&lt;p&gt;ora-00987 &amp;nbsp; &amp;nbsp; 사용자명이 부적합하거나 없습니다.&lt;/p&gt;&lt;p&gt;ora-00988 &amp;nbsp; &amp;nbsp; 암호가 틀립니다.&lt;/p&gt;&lt;p&gt;ora-00989 &amp;nbsp; &amp;nbsp; 사용자명에 대한 암호가 너무 많습니다.&lt;/p&gt;&lt;p&gt;ora-00990 &amp;nbsp; &amp;nbsp; 권한이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00991 &amp;nbsp; &amp;nbsp; mac 권한만이 프로시저에게 권한부여해 줍니다.&lt;/p&gt;&lt;p&gt;ora-00992 &amp;nbsp; &amp;nbsp; revoke 명령어의 형식이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00993 &amp;nbsp; &amp;nbsp; grant 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00994 &amp;nbsp; &amp;nbsp; option 키워드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-00995 &amp;nbsp; &amp;nbsp; 동의어의 식별자가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-00996 &amp;nbsp; &amp;nbsp; 연접 연산자는 | 이 아니고 || 입니다.&lt;/p&gt;&lt;p&gt;ora-00997 &amp;nbsp; &amp;nbsp; long 데이타 유형은 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-00998 &amp;nbsp; &amp;nbsp; 이 식은 열의 별명과 함께 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-00999 &amp;nbsp; &amp;nbsp; 뷰명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01000 &amp;nbsp; &amp;nbsp; 최대 열기 커서 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01001 &amp;nbsp; &amp;nbsp; 커서가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01002 &amp;nbsp; &amp;nbsp; 인출 시퀀스가 틀립니다.&lt;/p&gt;&lt;p&gt;ora-01003 &amp;nbsp; &amp;nbsp; 해석된 문이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01004 &amp;nbsp; &amp;nbsp; 디폴트 사용자명 사용 불가. 로그온이 허락되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01005 &amp;nbsp; &amp;nbsp; 널 암호가 입력되었습니다 로그온이 허락되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01006 &amp;nbsp; &amp;nbsp; 바인드 변수가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01007 &amp;nbsp; &amp;nbsp; 변수가 선택 리스트에 없습니다.&lt;/p&gt;&lt;p&gt;ora-01008 &amp;nbsp; &amp;nbsp; 모든 한계변수가 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01009 &amp;nbsp; &amp;nbsp; 필수 파라미터가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01010 &amp;nbsp; &amp;nbsp; oci 조작이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01011 &amp;nbsp; &amp;nbsp; v6 서버와 교신할때 v7 호환성 모드를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01012 &amp;nbsp; &amp;nbsp; 로그온되어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01013 &amp;nbsp; &amp;nbsp; 현 조작의 취소가 요구되었습니다.&lt;/p&gt;&lt;p&gt;ora-01014 &amp;nbsp; &amp;nbsp; oracle의 정지 처리가 진행중입니다.&lt;/p&gt;&lt;p&gt;ora-01015 &amp;nbsp; &amp;nbsp; 로그온이 순환적으로 호출되었습니다.&lt;/p&gt;&lt;p&gt;ora-01016 &amp;nbsp; &amp;nbsp; 이함수는 인출 이후에만 호출될 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01017 &amp;nbsp; &amp;nbsp; 사용자명/암호가 부적합, 로그온할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01018 &amp;nbsp; &amp;nbsp; long 데이타 유형의 열이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01019 &amp;nbsp; &amp;nbsp; 사용자쪽의 기억영역을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01020 &amp;nbsp; &amp;nbsp; 문맥의 상태가 불명확합니다.&lt;/p&gt;&lt;p&gt;ora-01021 &amp;nbsp; &amp;nbsp; 지정한 문맥 크기가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01022 &amp;nbsp; &amp;nbsp; 이 구성에 데이타베이스 작업이 지원되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01023 &amp;nbsp; &amp;nbsp; 커서 문맥가 없습니다부당한 커서번호)&lt;/p&gt;&lt;p&gt;ora-01024 &amp;nbsp; &amp;nbsp; oci 콜의 데이타 유형은 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01025 &amp;nbsp; &amp;nbsp; upi 파라미터가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01026 &amp;nbsp; &amp;nbsp; 바인드 목록에 크기가 2000이상인 다중 버퍼&lt;/p&gt;&lt;p&gt;ora-01027 &amp;nbsp; &amp;nbsp; 데이타 정의에서는 바인드 변수를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01028 &amp;nbsp; &amp;nbsp; 내부 투 태스크(two task) 오류&lt;/p&gt;&lt;p&gt;ora-01029 &amp;nbsp; &amp;nbsp; 내부 투 태스크(two task) 오류&lt;/p&gt;&lt;p&gt;ora-01030 &amp;nbsp; &amp;nbsp; select ... into 변수가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01031 &amp;nbsp; &amp;nbsp; 권한이 불충분합니다.&lt;/p&gt;&lt;p&gt;ora-01032 &amp;nbsp; &amp;nbsp; 사용자 번호가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01033 &amp;nbsp; &amp;nbsp; oracle의 초기화 또는 정지 처리가 진행중입니다.&lt;/p&gt;&lt;p&gt;ora-01034 &amp;nbsp; &amp;nbsp; oracle을 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01035 &amp;nbsp; &amp;nbsp; oracle은 restricted session 권한을 갖는 사용자만 사용 가능합니다.&lt;/p&gt;&lt;p&gt;ora-01036 &amp;nbsp; &amp;nbsp; 잘못된 변수명/번호&lt;/p&gt;&lt;p&gt;ora-01037 &amp;nbsp; &amp;nbsp; 최대 커서 메모리가 초과되었습니다.&lt;/p&gt;&lt;p&gt;ora-01038 &amp;nbsp; &amp;nbsp; 데이타베이스 화일 버전 %s에 oracle 버전 %s으로 기록할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01039 &amp;nbsp; &amp;nbsp; 사용되지 않는 오류&lt;/p&gt;&lt;p&gt;ora-01040 &amp;nbsp; &amp;nbsp; 암호에 잘못된 문자가 있습니다 로그온을 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01041 &amp;nbsp; &amp;nbsp; 내부오류. hostdef 확장이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01042 &amp;nbsp; &amp;nbsp; 개방된 커서와 함께 세션을 분리하는 것은 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01043 &amp;nbsp; &amp;nbsp; 사용자쪽의 기억영역 파괴 [%s], [%s], [%s], [%s]&lt;/p&gt;&lt;p&gt;ora-01044 &amp;nbsp; &amp;nbsp; 버퍼의 크기 %s (한계가 변수 %s)가 최대의 %s를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01045 &amp;nbsp; &amp;nbsp; 사용자 %s는 create session 권한을 가지고있지 않음; 로그온이 거절되었습니다.&lt;/p&gt;&lt;p&gt;ora-01046 &amp;nbsp; &amp;nbsp; 확장할 문맥 영역을 획득할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01047 &amp;nbsp; &amp;nbsp; 위에 오류는 스키마=%s, 패키지=%s, 프로시저=%s에서 발생된 것입니다.&lt;/p&gt;&lt;p&gt;ora-01048 &amp;nbsp; &amp;nbsp; 주어진 컨텍스트에서 지정된 프로시저를 찾을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01049 &amp;nbsp; &amp;nbsp; 스트림된 rpc에서 이름으로 바인드한것은 지원되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01050 &amp;nbsp; &amp;nbsp; 문맥 영역을 개방하기 위한 영역을 획득할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01051 &amp;nbsp; &amp;nbsp; 잘못된 지연 rpc 버퍼 포맷&lt;/p&gt;&lt;p&gt;ora-01053 &amp;nbsp; &amp;nbsp; 사용자 기억 영역 주소를 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01054 &amp;nbsp; &amp;nbsp; 사용자 기억 영역 주소에 기록할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01057 &amp;nbsp; &amp;nbsp; 내부의 new upi 인터페이스 오류&lt;/p&gt;&lt;p&gt;ora-01058 &amp;nbsp; &amp;nbsp; internal new upi interface error&lt;/p&gt;&lt;p&gt;ora-01059 &amp;nbsp; &amp;nbsp; 바인드 또는 실행전에 구문분석이 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01060 &amp;nbsp; &amp;nbsp; 배열 바인드 또는 실행이 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01070 &amp;nbsp; &amp;nbsp; 서버용으로 구버전의 오라클을 사용&lt;/p&gt;&lt;p&gt;ora-01071 &amp;nbsp; &amp;nbsp; oracle을 기동하지 않으면 조작 실행이 불가 합니다.&lt;/p&gt;&lt;p&gt;ora-01072 &amp;nbsp; &amp;nbsp; oracle은 기동중이 아닙니다 정지할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01073 &amp;nbsp; &amp;nbsp; 연결 오류. 콜(call)의 유형을 인식할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01074 &amp;nbsp; &amp;nbsp; oracle은 정지되지 않습니다 먼저 로그오프해 주십시오&lt;/p&gt;&lt;p&gt;ora-01075 &amp;nbsp; &amp;nbsp; 이미 로그온되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01076 &amp;nbsp; &amp;nbsp; 단일 프로세스에 대한 복수 로그온은 제공되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01077 &amp;nbsp; &amp;nbsp; 백그라운드 프로세스 초기화 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01078 &amp;nbsp; &amp;nbsp; 시스템 파라미터 처리 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01079 &amp;nbsp; &amp;nbsp; oracle 데이타베이스가 작성되지 않았음 - 작업이 비정상 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-01080 &amp;nbsp; &amp;nbsp; oracle 정지중 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01081 &amp;nbsp; &amp;nbsp; 이미 기동중인 oracle을 기동하려 했습니다.&lt;/p&gt;&lt;p&gt;ora-01082 &amp;nbsp; &amp;nbsp; row_locking = always 기능은 tps 옵션이 없는 oracle에서는 지원되지않습니다.&lt;/p&gt;&lt;p&gt;ora-01083 &amp;nbsp; &amp;nbsp; 파라미터 값 %s는 다른 서버들의 값과 불일치합니다.&lt;/p&gt;&lt;p&gt;ora-01084 &amp;nbsp; &amp;nbsp; oci 호출에 부적당한 인수가 있습니다.&lt;/p&gt;&lt;p&gt;ora-01085 &amp;nbsp; &amp;nbsp; %s에 대한 지연 원격 프로시저 호출(rpc)에서 오류 발생&lt;/p&gt;&lt;p&gt;ora-01086 &amp;nbsp; &amp;nbsp; 세이브포인트 %s 는 설정되어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01087 &amp;nbsp; &amp;nbsp; 현재 oracle에 로그온되어 있습니다 기동할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01088 &amp;nbsp; &amp;nbsp; 액티브 프로세스가 있기 때문에 oracle을 정지할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01089 &amp;nbsp; &amp;nbsp; 정지 처리(즉시)중입니다 조작은 허가되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01090 &amp;nbsp; &amp;nbsp; 정지 처리중입니다 연결할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01091 &amp;nbsp; &amp;nbsp; 기동중에 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01092 &amp;nbsp; &amp;nbsp; 오라클 인스턴스 종료 분리가 되었습니다.&lt;/p&gt;&lt;p&gt;ora-01093 &amp;nbsp; &amp;nbsp; alter database close 문은 연결된 세션이 없는 경우에만 가능합니다.&lt;/p&gt;&lt;p&gt;ora-01094 &amp;nbsp; &amp;nbsp; alter database close 문이 수행중 입니다 연결은 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01095 &amp;nbsp; &amp;nbsp; dml 문이 0개의 행을 처리 했습니다.&lt;/p&gt;&lt;p&gt;ora-01096 &amp;nbsp; &amp;nbsp; 프로그램 버전 (%s)과 인스턴스 (%s)가 호환성이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01097 &amp;nbsp; &amp;nbsp; 트랜잭션 도중에 shutdown할 수 없습니다- 먼저 커밋 혹은 롤백하십시오&lt;/p&gt;&lt;p&gt;ora-01098 &amp;nbsp; &amp;nbsp; long insert중에 프로그램 인터페이스 오류&lt;/p&gt;&lt;p&gt;ora-01099 &amp;nbsp; &amp;nbsp; 단일 프로세스 모드로 기동된 데이타베이스는 shares 모드로 마운트할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01100 &amp;nbsp; &amp;nbsp; 데이타베이스가 이미 마운트 되었습니다.&lt;/p&gt;&lt;p&gt;ora-01101 &amp;nbsp; &amp;nbsp; 다른 인스턴스로 부터 생성된 데이타베이스가 현재 마운트 되었습니다.&lt;/p&gt;&lt;p&gt;ora-01102 &amp;nbsp; &amp;nbsp; 데이타베이스가 exclusive 모드로 마운트할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01103 &amp;nbsp; &amp;nbsp; 제어 화일의 데이타베이스명 %s는 %s가 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01104 &amp;nbsp; &amp;nbsp; 제어 화일의 수(%s)가 %s 와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01105 &amp;nbsp; &amp;nbsp; 올리기는 다른 인스턴스에 의해 마운트하는 것과 호환성이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01106 &amp;nbsp; &amp;nbsp; 내리기를 하기전에 데이타베이스를 디스마운트 합니다.&lt;/p&gt;&lt;p&gt;ora-01107 &amp;nbsp; &amp;nbsp; 매체 복구를 위해 데이타베이스를 마운트해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01108 &amp;nbsp; &amp;nbsp; 화일 %s가 매체 복구 중에 있습니다.&lt;/p&gt;&lt;p&gt;ora-01109 &amp;nbsp; &amp;nbsp; 데이타베이스가 개방되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01110 &amp;nbsp; &amp;nbsp; 데이타 화일 %s: %s&lt;/p&gt;&lt;p&gt;ora-01111 &amp;nbsp; &amp;nbsp; 데이타 화일 %s의 이름을 모릅니다- 올바른 화일로 재명명 하십시오.&lt;/p&gt;&lt;p&gt;ora-01112 &amp;nbsp; &amp;nbsp; 매체 복구 처리가 개시되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01113 &amp;nbsp; &amp;nbsp; 화일 %s가 매체 복구되어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01114 &amp;nbsp; &amp;nbsp; 화일 %s의 블록쓰기 io 오류입니다블록 번호 %s).&lt;/p&gt;&lt;p&gt;ora-01115 &amp;nbsp; &amp;nbsp; 화일 %s의 블록(블록 번호 %s) 읽기 io 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01116 &amp;nbsp; &amp;nbsp; 데이타베이스 화일 %s의 개방 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01117 &amp;nbsp; &amp;nbsp; 추가하는 화일 %s 의 블록 크기 %s 는 부적합합니다 제한은 %s 입니다.&lt;/p&gt;&lt;p&gt;ora-01118 &amp;nbsp; &amp;nbsp; 데이타베이스 화일을 더 이상 등록할 수 없습니다 제한 %s 를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01119 &amp;nbsp; &amp;nbsp; 데이타베이스 화일 %s 의 작성 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01120 &amp;nbsp; &amp;nbsp; 온라인 데이타베이스 화일 %s은 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01121 &amp;nbsp; &amp;nbsp; 데이타 화일 %s를 재명명할 수 없습니다- 화일이 사용중이거나 복구중입니다.&lt;/p&gt;&lt;p&gt;ora-01122 &amp;nbsp; &amp;nbsp; 데이타 화일 %s의 검증 체크에 실패 했습니다.&lt;/p&gt;&lt;p&gt;ora-01123 &amp;nbsp; &amp;nbsp; 온라인 백업을 개시할 수 없습니다 매체 복구가 사용 불가로 되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01124 &amp;nbsp; &amp;nbsp; 데이타 화일 %s을 복구할 수 없음 - 화일이 사용중이거나 복구중입니다.&lt;/p&gt;&lt;p&gt;ora-01125 &amp;nbsp; &amp;nbsp; 매체 복구를 사용불가할 수 없음. 화일 %s 가 온라인 백업으로 설정됨.&lt;/p&gt;&lt;p&gt;ora-01126 &amp;nbsp; &amp;nbsp; 데이타베이스는 exclusive로 마운트하고 개방하지 말아야 합니다.&lt;/p&gt;&lt;p&gt;ora-01127 &amp;nbsp; &amp;nbsp; 데이타베이스명 %s가 최대 문자수 %s를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01128 &amp;nbsp; &amp;nbsp; 온라인 백업을 시작할 수 없음 - 화일 %s가 오프라인입니다.&lt;/p&gt;&lt;p&gt;ora-01129 &amp;nbsp; &amp;nbsp; 디폴트 또는 임시 테이블 영역이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01130 &amp;nbsp; &amp;nbsp; 데이타베이스 화일 버전 %s 는 oracle 버전 %s 와 호환되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01131 &amp;nbsp; &amp;nbsp; db_files 파라미터의 값 %s 가 최대수 %s 를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01132 &amp;nbsp; &amp;nbsp; 데이타베이스 화일명 %s 의 길이가 최대 문자수 %s 를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01133 &amp;nbsp; &amp;nbsp; 로그 화일명 %s 의 길이가 최대 문자수 %s 를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01134 &amp;nbsp; &amp;nbsp; 데이타베이스가 다른 인스턴스에 의해 배타 모드로 마운트했습니다.&lt;/p&gt;&lt;p&gt;ora-01135 &amp;nbsp; &amp;nbsp; dml/질의로 액세스된 화일 %s 는 오프 라인입니다.&lt;/p&gt;&lt;p&gt;ora-01136 &amp;nbsp; &amp;nbsp; 화일 %s의 명시된 크기(%s 블록)가 원래 크기 %s 블록보다 작습니다.&lt;/p&gt;&lt;p&gt;ora-01137 &amp;nbsp; &amp;nbsp; 데이타 화일 %s가 오프라인으로 되고 있는 중입니다.&lt;/p&gt;&lt;p&gt;ora-01138 &amp;nbsp; &amp;nbsp; 데이타베이스가 이 인스턴스로 열거나 다른 인스턴스에 대해 닫아야 합니다.&lt;/p&gt;&lt;p&gt;ora-01139 &amp;nbsp; &amp;nbsp; resetlogs 옵션은 불완전한 데이타베이스의 복구 후에만 유효합니다.&lt;/p&gt;&lt;p&gt;ora-01140 &amp;nbsp; &amp;nbsp; 온라인 백업을 종료할 수 없음 - 모든 화일이 오프라인입니다.&lt;/p&gt;&lt;p&gt;ora-01141 &amp;nbsp; &amp;nbsp; 데이타 화일 %s의 재명명 오류 - 새로운 화일 %s 가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01142 &amp;nbsp; &amp;nbsp; 온라인 백업을 종료할 수 없음 - 백업할 수 있는 상태의 화일이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01143 &amp;nbsp; &amp;nbsp; 매체 복구를 사용불가하게할 수 없습니다 화일 %s가 매체복구를 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-01144 &amp;nbsp; &amp;nbsp; 화일크기(%s 블록)가 최대치 %s 블록을 초과합니다.&lt;/p&gt;&lt;p&gt;ora-01145 &amp;nbsp; &amp;nbsp; 매체 복구가 사용 가능하지 않으면 즉시 오프라인으로 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01146 &amp;nbsp; &amp;nbsp; 온라인 백업을 시작할 수 없습니다 - 화일 %s가 이미 백업중에 있습니다.&lt;/p&gt;&lt;p&gt;ora-01147 &amp;nbsp; &amp;nbsp; system 테이블 영역 화일 %s가 오프 라인입니다.&lt;/p&gt;&lt;p&gt;ora-01148 &amp;nbsp; &amp;nbsp; 이 작업을 하려면 데이타베이스가 exclusive 모드로 마운트해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01149 &amp;nbsp; &amp;nbsp; 정지처리 불가 - 화일 %s를 온라인 백업중 입니다.&lt;/p&gt;&lt;p&gt;ora-01150 &amp;nbsp; &amp;nbsp; 쓰기 방지를 할수 없음 - 화일 %s를 온라인 백업중 입니다.&lt;/p&gt;&lt;p&gt;ora-01151 &amp;nbsp; &amp;nbsp; 블록을 복구하려면 미디어 복구를 사용하고 필요하면 백업을 사용하십시오&lt;/p&gt;&lt;p&gt;ora-01152 &amp;nbsp; &amp;nbsp; 화일 %s가 충분한 이전 백업으로 복구되지 않았습니다&amp;nbsp;&lt;/p&gt;&lt;p&gt;ora-01153 &amp;nbsp; &amp;nbsp; 비호환 매체 복구가 동작 상태입니다.&lt;/p&gt;&lt;p&gt;ora-01154 &amp;nbsp; &amp;nbsp; 데이타베이스는 사용중 - 개방, 클로즈, 마운트, 디스마운트 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01155 &amp;nbsp; &amp;nbsp; 데이타베이스는 개방, 클로즈, 마운트 혹은 디스마운트 중 입니다.&lt;/p&gt;&lt;p&gt;ora-01156 &amp;nbsp; &amp;nbsp; 진행중인 복구 작업이 화일 액세스를 필요로 할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01157 &amp;nbsp; &amp;nbsp; 데이타 화일 %s를 식별할 수 없습니다- 화일이 발견되지 않음&lt;/p&gt;&lt;p&gt;ora-01158 &amp;nbsp; &amp;nbsp; 데이타베이스 %s 가 이미 마운트했습니다.&lt;/p&gt;&lt;p&gt;ora-01159 &amp;nbsp; &amp;nbsp; 화일이 동일한 데이타베이스의 화일이 아닙니다- 데이타베이스 id가 잘못됨.&lt;/p&gt;&lt;p&gt;ora-01160 &amp;nbsp; &amp;nbsp; 화일이 %s가 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01161 &amp;nbsp; &amp;nbsp; 화일헤더에 있는 데이타베이스명 %s가 주어진 이름 %s 와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01162 &amp;nbsp; &amp;nbsp; 화일 헤더에 블록 크기 %s가 db_block_size(%s)와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01163 &amp;nbsp; &amp;nbsp; size 절에 %s (블록)이 지정되었으나 헤더 %s와 일치해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01164 &amp;nbsp; &amp;nbsp; maxlogfiles는 %s 를 초과할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01165 &amp;nbsp; &amp;nbsp; maxdatafiles는 %s 를 초과할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01166 &amp;nbsp; &amp;nbsp; 화일번호 %s가 %s (%s)보다 큽니다.&lt;/p&gt;&lt;p&gt;ora-01167 &amp;nbsp; &amp;nbsp; 두개의 화일들이 같은 화일 그룹번호 이거나 같은 화일입니다.&lt;/p&gt;&lt;p&gt;ora-01168 &amp;nbsp; &amp;nbsp; 물리 블록 크기 %s가 다른 멤버들의 크기 %s와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01169 &amp;nbsp; &amp;nbsp; datafile 번호 1번이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01170 &amp;nbsp; &amp;nbsp; 화일이 존재하지 않습니다 %s&lt;/p&gt;&lt;p&gt;ora-01171 &amp;nbsp; &amp;nbsp; 체크포인트 오류 때문에 데이타 화일 %s이 오프라인됩니다.&lt;/p&gt;&lt;p&gt;ora-01172 &amp;nbsp; &amp;nbsp; 쓰레드 %s의 복구가 블록 %s(화일 %s의)에서 더이상 진행되지 못합니다.&lt;/p&gt;&lt;p&gt;ora-01173 &amp;nbsp; &amp;nbsp; 데이타 dictionary&lt;/p&gt;&lt;p&gt;ora-01174 &amp;nbsp; &amp;nbsp; db_file %s는 호환성을 위해서 %s가 되어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01175 &amp;nbsp; &amp;nbsp; 데이타 dictionary가 인스턴스에서 허용하는 %s 보다 많은 수의 화일을 포함합니다.&lt;/p&gt;&lt;p&gt;ora-01176 &amp;nbsp; &amp;nbsp; 데이타 dictionary가 제어 화일에서 허용하는 %s 보다 많은 수의 화일을 포함합니다.&lt;/p&gt;&lt;p&gt;ora-01177 &amp;nbsp; &amp;nbsp; 데이타 화일이 dictionary와 일치하지 않습니다- 아마도 오래된 것입니다.&lt;/p&gt;&lt;p&gt;ora-01178 &amp;nbsp; &amp;nbsp; 화일 %s가 마지막 create controlfile 이전에 생성됐음. 재 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01179 &amp;nbsp; &amp;nbsp; 화일 %s 가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01180 &amp;nbsp; &amp;nbsp; 데이타 화일 1을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01181 &amp;nbsp; &amp;nbsp; 최후의 resetlogs 이전에 생성된 화일 %s를 재생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01182 &amp;nbsp; &amp;nbsp; 데이타베이스 화일 %s를 생성할 수 없음 - 사용중이거나 복구중입니다.&lt;/p&gt;&lt;p&gt;ora-01183 &amp;nbsp; &amp;nbsp; shared모드로 데이타베이스를 마운트할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01184 &amp;nbsp; &amp;nbsp; 로그화일 그룹 %s는 이미 존재합니다.&lt;/p&gt;&lt;p&gt;ora-01185 &amp;nbsp; &amp;nbsp; 로그화일 그룹 %s는 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-01186 &amp;nbsp; &amp;nbsp; 화일 %s의 검증 테스트에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-01187 &amp;nbsp; &amp;nbsp; 검증 테스트에 실패했기 때문에 화일 %s를 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01188 &amp;nbsp; &amp;nbsp; 헤더내의 블록 크기 %s가 실제 물리블록 크기 %s와 맞지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01189 &amp;nbsp; &amp;nbsp; 이전 화일과 다른 resetlogs가 사용되었습니다.&lt;/p&gt;&lt;p&gt;ora-01190 &amp;nbsp; &amp;nbsp; 제어 화일 혹은 데이타 화일 %s는 마지막 resetlogs 이전의 것입니다.&lt;/p&gt;&lt;p&gt;ora-01191 &amp;nbsp; &amp;nbsp; 화일 %s는 이미 오프라인임 - 정상적인 오프라인을 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01192 &amp;nbsp; &amp;nbsp; 최소한 하나의 이용 가능한 쓰레드를 가져야합니다.&lt;/p&gt;&lt;p&gt;ora-01193 &amp;nbsp; &amp;nbsp; 화일 %s는 복구 시작시 인식된 화일이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01194 &amp;nbsp; &amp;nbsp; 화일 %s가 일관성을 갖기 위해서는 더 많은 복구가 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-01195 &amp;nbsp; &amp;nbsp; 화일 %s의 온라인 백업은 일관성을 갖기위해 더 많은 복구가 필요로 합니다.&lt;/p&gt;&lt;p&gt;ora-01196 &amp;nbsp; &amp;nbsp; 매체복구 세션의 실패로 인하여 화일 %s의 일관성이 결여되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01197 &amp;nbsp; &amp;nbsp; 쓰레드 %s는 하나의 로그만을 포함하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-01198 &amp;nbsp; &amp;nbsp; resetlogs인 경우 로그화일에 대한 크기를 지정하여야 합니다.&lt;/p&gt;&lt;p&gt;ora-01199 &amp;nbsp; &amp;nbsp; 화일 %s는 온라인 백업 모드가 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01200 &amp;nbsp; &amp;nbsp; 실제 화일크기 %s는 맞는 크기인 %s 블록보다 작습니다.&lt;/p&gt;&lt;p&gt;ora-01201 &amp;nbsp; &amp;nbsp; 헤더내의 화일 크기 %s가 제어화일내의 크기 %s와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01202 &amp;nbsp; &amp;nbsp; 화일의 구현이 잘못됨 - 작성 시각이 틀립니다.&lt;/p&gt;&lt;p&gt;ora-01203 &amp;nbsp; &amp;nbsp; 화일의 구현이 잘못됨 - 작성 scn이 틀립니다.&lt;/p&gt;&lt;p&gt;ora-01204 &amp;nbsp; &amp;nbsp; 화일 번호가 %s (%s가 아님) - 틀린 화일입니다.&lt;/p&gt;&lt;p&gt;ora-01205 &amp;nbsp; &amp;nbsp; 데이타 화일이 아님 - 헤더내의 유형 번호가 %s입니다.&lt;/p&gt;&lt;p&gt;ora-01206 &amp;nbsp; &amp;nbsp; 화일은 이 데이타베이스의 일부가 아님 - 데이타베이스 id가 틀립니다.&lt;/p&gt;&lt;p&gt;ora-01207 &amp;nbsp; &amp;nbsp; 화일이 제어화일보다 최근의 것임 - 오래된 제어화일입니다.&lt;/p&gt;&lt;p&gt;ora-01208 &amp;nbsp; &amp;nbsp; 데이타 화일이 구버전임 - 현 버전을 액세스하지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01209 &amp;nbsp; &amp;nbsp; 데이타 화일이 마지막 resetlogs 이전의 것입니다.&lt;/p&gt;&lt;p&gt;ora-01210 &amp;nbsp; &amp;nbsp; 데이타 화일의 헤더가 매체 붕괴되었습니다.&lt;/p&gt;&lt;p&gt;ora-01211 &amp;nbsp; &amp;nbsp; 버전 6의 데이타 화일이 버전7으로의 변환 화일이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01212 &amp;nbsp; &amp;nbsp; maxlogmembers는 %s를 초과할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01213 &amp;nbsp; &amp;nbsp; maxinstance는 %s를 초과할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01214 &amp;nbsp; &amp;nbsp; maxloghistory는 %s를 초과할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01215 &amp;nbsp; &amp;nbsp; create controlfile이후의 가용 쓰레드 %s가 빠졌습니다.&lt;/p&gt;&lt;p&gt;ora-01216 &amp;nbsp; &amp;nbsp; create controlfile이후 쓰레드 %s는 사용불가되어야합니다.&lt;/p&gt;&lt;p&gt;ora-01217 &amp;nbsp; &amp;nbsp; 로그화일 멤버가 다른 로그화일 그룹에 속해있습니다.&lt;/p&gt;&lt;p&gt;ora-01218 &amp;nbsp; &amp;nbsp; 로그화일 멤버는 동일한 시간때에 만든것이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01219 &amp;nbsp; &amp;nbsp; 데이타베이스가 열지 않았음: 고정 테이블/뷰에 대해서만 조회가 가능합니다.&lt;/p&gt;&lt;p&gt;ora-01220 &amp;nbsp; &amp;nbsp; 데이테베이스가 개방 되기전에는, 화일을 기본으로하는 소트가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01221 &amp;nbsp; &amp;nbsp; 데이타 화일 %s는 백그라운드 프로세스에 대해 동일 화일이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01222 &amp;nbsp; &amp;nbsp; %s의 maxinstances는 maxlogfiles가 최소 %s이어야함(%s가 아님)&lt;/p&gt;&lt;p&gt;ora-01223 &amp;nbsp; &amp;nbsp; 새로운 데이타베이스명을 부여하기 위해서는 resetlogs를 지정하여야 합니다.&lt;/p&gt;&lt;p&gt;ora-01224 &amp;nbsp; &amp;nbsp; 헤더 %s내의 그룹번호가 group %s와 맞지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01225 &amp;nbsp; &amp;nbsp; 쓰레드 번호 %s가 maxinstances %s 보다 큽니다.&lt;/p&gt;&lt;p&gt;ora-01226 &amp;nbsp; &amp;nbsp; 로그 멤버의 화일헤더가 다른 멤버와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01227 &amp;nbsp; &amp;nbsp; 로그 %s는 다른 로그와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01228 &amp;nbsp; &amp;nbsp; 기초 데이테베이스를 설치하려면 set database 옵션이 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01229 &amp;nbsp; &amp;nbsp; 데이타 화일 %s가 로그와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01230 &amp;nbsp; &amp;nbsp; 읽기 전용으로 만들수 없습니다- %s 화일이 오프라인입니다.&lt;/p&gt;&lt;p&gt;ora-01231 &amp;nbsp; &amp;nbsp; 쓰기 전용으로 만들수 없습니다- %s 화일이 오프라인입니다.&lt;/p&gt;&lt;p&gt;ora-01232 &amp;nbsp; &amp;nbsp; 온라인 백업을 수행할 수 없습니다- %s 화일은 읽기 전용입니다.&lt;/p&gt;&lt;p&gt;ora-01233 &amp;nbsp; &amp;nbsp; %s 화일은 읽기 전용입니다- 컨트롤화일 백업을 사용해서 복구할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01234 &amp;nbsp; &amp;nbsp; 화일 %s의 백업을 종료할 수 없습니다 - 화일을 사용중이거나 복구중입니다.&lt;/p&gt;&lt;p&gt;ora-01235 &amp;nbsp; &amp;nbsp; %s 화일에 대한 end backup은 실패하고 %s에 대해서는 성공했습니다.&lt;/p&gt;&lt;p&gt;ora-01237 &amp;nbsp; &amp;nbsp; 데이타화일 %s를 확장할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01238 &amp;nbsp; &amp;nbsp; 데이타화일 %s를 축소할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01239 &amp;nbsp; &amp;nbsp; 데이터베이스는 외부 캐시를 사용하기 위해서 archivelog 모드로 되어 있어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01240 &amp;nbsp; &amp;nbsp; 하나의 명령어에 너무 많은 데이터 화일을 추가합니다.&lt;/p&gt;&lt;p&gt;ora-01241 &amp;nbsp; &amp;nbsp; 외부 캐시가 죽었습니다.&lt;/p&gt;&lt;p&gt;ora-01242 &amp;nbsp; &amp;nbsp; 데이터 화일이 메디아 실패를 받았습니다: 데이터베이스는 noarchivelog 모드입니다.&lt;/p&gt;&lt;p&gt;ora-01243 &amp;nbsp; &amp;nbsp; 시스템 테이블스페이스 화일이 메디아 실패를 받았습니다.&lt;/p&gt;&lt;p&gt;ora-01244 &amp;nbsp; &amp;nbsp; 메디아 복구에 의해서 제어화일에 이름 없는 데이터화일이 추가되었습니다.&lt;/p&gt;&lt;p&gt;ora-01245 &amp;nbsp; &amp;nbsp; 오프라인 화일 %s 은 resetlogs이 끝나면 없어집니다.&lt;/p&gt;&lt;p&gt;ora-01400 &amp;nbsp; &amp;nbsp; 행의 입력으로 필수 열(not null)에 값이 지정되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01401 &amp;nbsp; &amp;nbsp; 열에 입력한 값이 너무 큽니다.&lt;/p&gt;&lt;p&gt;ora-01402 &amp;nbsp; &amp;nbsp; 뷰의 with check option의 조건에 위배 됩니다.&lt;/p&gt;&lt;p&gt;ora-01403 &amp;nbsp; &amp;nbsp; 데이타가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01404 &amp;nbsp; &amp;nbsp; alter column은 색인을 너무 크게 만들 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01405 &amp;nbsp; &amp;nbsp; 인출된 열의 값은 null입니다.&lt;/p&gt;&lt;p&gt;ora-01406 &amp;nbsp; &amp;nbsp; 인출된 열의 값이 절사되었습니다.&lt;/p&gt;&lt;p&gt;ora-01407 &amp;nbsp; &amp;nbsp; 입력 필수 열(not null)은 null로 갱신할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01408 &amp;nbsp; &amp;nbsp; 열 리스트에는 이미 색인이 작성되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01409 &amp;nbsp; &amp;nbsp; nosort 옵션은 사용할 수 없습니다 행이 오름차순으로 되어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01410 &amp;nbsp; &amp;nbsp; rowid가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01411 &amp;nbsp; &amp;nbsp; 표시기내에 열의 길이를 저장할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01412 &amp;nbsp; &amp;nbsp; 이 데이타 유형에 대해서는 0길이가 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01413 &amp;nbsp; &amp;nbsp; 팩형 십진수 버퍼안의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01414 &amp;nbsp; &amp;nbsp; 배열을 바인드 할때 배열 길이가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01416 &amp;nbsp; &amp;nbsp; 두 개의 테이블을 outer-join할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01417 &amp;nbsp; &amp;nbsp; 하나의 테이블은 하나의 다른 테이블과 outer-join할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01418 &amp;nbsp; &amp;nbsp; 지정한 색인는 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01419 &amp;nbsp; &amp;nbsp; datdts: 형식 코드 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01420 &amp;nbsp; &amp;nbsp; datstd: 형식 코드 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01421 &amp;nbsp; &amp;nbsp; datrnd/dattrn: 정도 지정자 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01422 &amp;nbsp; &amp;nbsp; 실제 인출은 요구된 것보다 많은 수의 행을 추출합니다.&lt;/p&gt;&lt;p&gt;ora-01423 &amp;nbsp; &amp;nbsp; 실제 인출에서 여분의 행을 검사하는 중에 오류가 검출되었습니다.&lt;/p&gt;&lt;p&gt;ora-01424 &amp;nbsp; &amp;nbsp; 에스케이프 문자 뒤에 누락 혹은 부당한 문자가 있습니다.&lt;/p&gt;&lt;p&gt;ora-01425 &amp;nbsp; &amp;nbsp; 에스케이프 문자는 1자리 문자 스트링이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01426 &amp;nbsp; &amp;nbsp; 수치 오버플로우&lt;/p&gt;&lt;p&gt;ora-01427 &amp;nbsp; &amp;nbsp; 단일 행 부속 질의에 의해 2개 이상의 행이 리턴되었습니다.&lt;/p&gt;&lt;p&gt;ora-01428 &amp;nbsp; &amp;nbsp; 인수 %s가 범위를 벗어났습니다.&lt;/p&gt;&lt;p&gt;ora-01430 &amp;nbsp; &amp;nbsp; 추가하려는 열이 이미 테이블에 존재합니다.&lt;/p&gt;&lt;p&gt;ora-01431 &amp;nbsp; &amp;nbsp; grant 명령어 내부 불일치 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01432 &amp;nbsp; &amp;nbsp; 삭제할 공개 동의어가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01433 &amp;nbsp; &amp;nbsp; 작성한 동의어가 이미 정의되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01434 &amp;nbsp; &amp;nbsp; 삭제할 비공개 동의어가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01435 &amp;nbsp; &amp;nbsp; 사용자가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01436 &amp;nbsp; &amp;nbsp; connect by의 루프가 발생되었습니다.&lt;/p&gt;&lt;p&gt;ora-01437 &amp;nbsp; &amp;nbsp; 결합은 connect by와 함께 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01438 &amp;nbsp; &amp;nbsp; 지정한 정도를 초과한 값이 열에 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01439 &amp;nbsp; &amp;nbsp; 데이타 유형을 변경할 열은 비어 있어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01440 &amp;nbsp; &amp;nbsp; 정도 또는 자리수를 축소할 열은 비어 있어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01441 &amp;nbsp; &amp;nbsp; 길이를 짧게 변경할 열의 값은 null이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01442 &amp;nbsp; &amp;nbsp; 변경하고자 하는 열이 이미 not null입니다.&lt;/p&gt;&lt;p&gt;ora-01443 &amp;nbsp; &amp;nbsp; 내부 오류 : 뷰 열의 데이타 유형이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01444 &amp;nbsp; &amp;nbsp; 내부 오류 : 내부 데이타 유형와 외부 데이타 유형은 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01445 &amp;nbsp; &amp;nbsp; 키-보전 테이블 없이 결합 뷰으로 부터 rowid를 선택할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01446 &amp;nbsp; &amp;nbsp; distinct, group by 등을 포함하는 뷰로부터 rowid를 선택할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01447 &amp;nbsp; &amp;nbsp; 클러스터 열에 alter table 문을 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01448 &amp;nbsp; &amp;nbsp; 데이타 유형을 변경하기 전에 색인을 삭제해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01449 &amp;nbsp; &amp;nbsp; 열이 null값을 포함하고 있습니다 not null로 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01450 &amp;nbsp; &amp;nbsp; 키의 최대 길이(%s)를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01451 &amp;nbsp; &amp;nbsp; 열이 이미 null로 되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01452 &amp;nbsp; &amp;nbsp; 중복 키가 있습니다. 유일한 색인을 작성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01453 &amp;nbsp; &amp;nbsp; set transaction 사용시에는 트랜잭션의 최초문장 이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01454 &amp;nbsp; &amp;nbsp; 수치 데이타 유형으로 변환할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01455 &amp;nbsp; &amp;nbsp; 열의 변환에 의해 정수 데이타 유형이 오버플로우되었습니다.&lt;/p&gt;&lt;p&gt;ora-01456 &amp;nbsp; &amp;nbsp; read only 트랜잭션은 삽입/삭제/갱신할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01457 &amp;nbsp; &amp;nbsp; 열의 변환에 의해 decimal 데이타 유형이 오버플로우되었습니다.&lt;/p&gt;&lt;p&gt;ora-01458 &amp;nbsp; &amp;nbsp; 가변장 스트링의 지정된 길이가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01459 &amp;nbsp; &amp;nbsp; 가변장 스트링의 길이가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01460 &amp;nbsp; &amp;nbsp; 요구된 변환은 실행될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01461 &amp;nbsp; &amp;nbsp; long 값은 long 열에만 입력할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01462 &amp;nbsp; &amp;nbsp; 2000 문자 이상은 입력할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01463 &amp;nbsp; &amp;nbsp; 자신에 대한 권한의 허가나 취소는 불가능합니다.&lt;/p&gt;&lt;p&gt;ora-01464 &amp;nbsp; &amp;nbsp; 테이블 또는 뷰의 grant 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01465 &amp;nbsp; &amp;nbsp; 16진수의 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01466 &amp;nbsp; &amp;nbsp; 테이블 정의가 변경되었습니다 데이타를 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01467 &amp;nbsp; &amp;nbsp; 정렬 키가 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-01468 &amp;nbsp; &amp;nbsp; outer-join된 테이블은 1개만 지정할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01469 &amp;nbsp; &amp;nbsp; prior의 뒤에는 열 명을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01471 &amp;nbsp; &amp;nbsp; 개체와 같은 이름의 동의어는 작성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01472 &amp;nbsp; &amp;nbsp; connect by는 distinct, group by 를 동반한 뷰에 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01473 &amp;nbsp; &amp;nbsp; connect by 구에 부속 질의를 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01474 &amp;nbsp; &amp;nbsp; connect by 없이 start with 나 prior 는 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01475 &amp;nbsp; &amp;nbsp; 바인드 변수의 데이타 유형 변경을 위해서는 커서를 재구문분석을 해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01476 &amp;nbsp; &amp;nbsp; 제수가 0 입니다.&lt;/p&gt;&lt;p&gt;ora-01477 &amp;nbsp; &amp;nbsp; 사용자 데이타 영역 기술자가 너무 큽니다.&lt;/p&gt;&lt;p&gt;ora-01478 &amp;nbsp; &amp;nbsp; long 열은 배열 바인드에 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01479 &amp;nbsp; &amp;nbsp; 버퍼내의 마지막 문자가 널(null)이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01480 &amp;nbsp; &amp;nbsp; str 바인드 값에 종료의 널이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01481 &amp;nbsp; &amp;nbsp; 숫자 형식 모델이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01482 &amp;nbsp; &amp;nbsp; 지정된 문자세트는 제공하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01483 &amp;nbsp; &amp;nbsp; date 또는 number 바인드 변수의 길이가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01484 &amp;nbsp; &amp;nbsp; 배열은 pl/sql문 범위에서만 해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01485 &amp;nbsp; &amp;nbsp; 실행 바인드 길이가 컴파일 바인드 길이와 다릅니다.&lt;/p&gt;&lt;p&gt;ora-01486 &amp;nbsp; &amp;nbsp; 배열요소 크기가 너무 큽니다.&lt;/p&gt;&lt;p&gt;ora-01487 &amp;nbsp; &amp;nbsp; 팩형 십진수가 제공된 버퍼에 비해 너무 큽니다.&lt;/p&gt;&lt;p&gt;ora-01488 &amp;nbsp; &amp;nbsp; 부적절한 팩형 십진수 입니다.&lt;/p&gt;&lt;p&gt;ora-01489 &amp;nbsp; &amp;nbsp; 스트링 연결의 결과가 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-01490 &amp;nbsp; &amp;nbsp; 부적합한 analyze 명령입니다.&lt;/p&gt;&lt;p&gt;ora-01491 &amp;nbsp; &amp;nbsp; cascade 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01492 &amp;nbsp; &amp;nbsp; 현 트랜잭션이 이미 롤백 세그먼트에 연결되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01493 &amp;nbsp; &amp;nbsp; 명시된 sample 길이가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01494 &amp;nbsp; &amp;nbsp; 지정된 size가 부적당합니다.&lt;/p&gt;&lt;p&gt;ora-01495 &amp;nbsp; &amp;nbsp; 지정된 연결행 테이블이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01496 &amp;nbsp; &amp;nbsp; 지정된 연결행 테이블 형식이 틀립니다.&lt;/p&gt;&lt;p&gt;ora-01497 &amp;nbsp; &amp;nbsp; analyze cluster에 대한 옵션이 잘못되었습니다.&lt;/p&gt;&lt;p&gt;ora-01498 &amp;nbsp; &amp;nbsp; 블록 체크 실패 - 트래스 화일을 보십시오&lt;/p&gt;&lt;p&gt;ora-01499 &amp;nbsp; &amp;nbsp; 테이블/색인의 교차 참조 실패 - 트래스 화일을 보십시오&lt;/p&gt;&lt;p&gt;ora-01500 &amp;nbsp; &amp;nbsp; 날짜/시간의 획득 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01501 &amp;nbsp; &amp;nbsp; create database 문 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01502 &amp;nbsp; &amp;nbsp; 색인 %s는 직접 로드 상태입니다.&lt;/p&gt;&lt;p&gt;ora-01503 &amp;nbsp; &amp;nbsp; create controlfile이 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-01504 &amp;nbsp; &amp;nbsp; 데이타베이스명 %s가 db_name 파라미터 %s와 맞지않습니다.&lt;/p&gt;&lt;p&gt;ora-01505 &amp;nbsp; &amp;nbsp; 로그 화일 등록 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01506 &amp;nbsp; &amp;nbsp; 데이타베이스 명을 올바르게 지정해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01507 &amp;nbsp; &amp;nbsp; 데이타베이스가 마운트하지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01508 &amp;nbsp; &amp;nbsp; 화일 %s 의 줄 %s 에 오류. 데이타베이스를 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01509 &amp;nbsp; &amp;nbsp; 지정한 이름 %s 가 실제의 이름 %s 와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01510 &amp;nbsp; &amp;nbsp; 로그 화일 삭제 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01511 &amp;nbsp; &amp;nbsp; 로그/데이타 화일의 재명명 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01512 &amp;nbsp; &amp;nbsp; 로드 화일 %s의 재명명 오류 - 새로운 화일 %s가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01513 &amp;nbsp; &amp;nbsp; 운영 시스템으로 부터 부정확한 현시각이 보내졌습니다.&lt;/p&gt;&lt;p&gt;ora-01514 &amp;nbsp; &amp;nbsp; 로그 명세에 오류: 그런 로그가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01515 &amp;nbsp; &amp;nbsp; 로그 그룹 %s의 삭제시 오류. 그런 로그가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01516 &amp;nbsp; &amp;nbsp; 로그/데이타 화일 %s 는 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01517 &amp;nbsp; &amp;nbsp; 로그 멤버: %s&lt;/p&gt;&lt;p&gt;ora-01518 &amp;nbsp; &amp;nbsp; 2개 이상의 로그 화일을 create database 에 지정해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01519 &amp;nbsp; &amp;nbsp; 오류 발생(화일 %s 의 줄 %s 부근)&lt;/p&gt;&lt;p&gt;ora-01520 &amp;nbsp; &amp;nbsp; 추가할 데이타 화일의 수(%s)가 최대수 %s 를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01521 &amp;nbsp; &amp;nbsp; 데이타 화일의 등록중 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01522 &amp;nbsp; &amp;nbsp; 재명명할 화일 %s 가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01523 &amp;nbsp; &amp;nbsp; 데이타 화일 %s 는 이미 데이타베이스의 일부입니다. 재명명할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01524 &amp;nbsp; &amp;nbsp; %s로 데이타 화일을 생성할 수 없음 - 화일이 이미 데이타베이스의 부분입니다.&lt;/p&gt;&lt;p&gt;ora-01525 &amp;nbsp; &amp;nbsp; 데이타 화일의 재명명중 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01526 &amp;nbsp; &amp;nbsp; 화일 %s 의 열기 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01527 &amp;nbsp; &amp;nbsp; 화일을 읽는 도중 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01528 &amp;nbsp; &amp;nbsp; sql 문의 처리중 eof 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01529 &amp;nbsp; &amp;nbsp; 화일 %s 의 클로즈중 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01530 &amp;nbsp; &amp;nbsp; 이 인스턴스는 이미 데이타베이스를 마운트했습니다.&lt;/p&gt;&lt;p&gt;ora-01531 &amp;nbsp; &amp;nbsp; 이 인스턴스는 이미 데이타베이스를 개방했습니다.&lt;/p&gt;&lt;p&gt;ora-01532 &amp;nbsp; &amp;nbsp; 인스턴스가 기동되어 있습니다. 데이타베이스를 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01533 &amp;nbsp; &amp;nbsp; 화일 %s 는 테이블 영역에 속해 있지 않습니다. 재명명할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01534 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s 가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01535 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s 는 이미 존재합니다.&lt;/p&gt;&lt;p&gt;ora-01536 &amp;nbsp; &amp;nbsp; 테이블 영역 %s 에 대한 영역 할당량이 초과됐습니다.&lt;/p&gt;&lt;p&gt;ora-01537 &amp;nbsp; &amp;nbsp; 데이타 화일 %s 는 이미 데이타베이스의 일부입니다 등록할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01538 &amp;nbsp; &amp;nbsp; 롤백 세그먼트를 획득할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01539 &amp;nbsp; &amp;nbsp; 테이블 영역 %s 가 온라인이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01540 &amp;nbsp; &amp;nbsp; 테이블 영역 %s 가 오프라인이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01541 &amp;nbsp; &amp;nbsp; system 테이블 영역은 오프라인될 수 없습니다 필요하면 중지 하십시오&lt;/p&gt;&lt;p&gt;ora-01542 &amp;nbsp; &amp;nbsp; 테이블 영역 %s 가 오프라인입니다. 영역을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01543 &amp;nbsp; &amp;nbsp; 테이블 영역 %s 는 이미 존재하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-01544 &amp;nbsp; &amp;nbsp; 시스템 롤백 세그먼트는 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01545 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s 는 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01546 &amp;nbsp; &amp;nbsp; 테이블 영역에 액티브 롤백 세그먼트 %s 가 있습니다.&lt;/p&gt;&lt;p&gt;ora-01548 &amp;nbsp; &amp;nbsp; 액티브 롤백 세그먼트 %s 가 존재함, 테이블 영역의 삭제를 종료하십시오.&lt;/p&gt;&lt;p&gt;ora-01549 &amp;nbsp; &amp;nbsp; 테이블 영역이 비어있지 않으므로 including contents를 사용해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01550 &amp;nbsp; &amp;nbsp; 시스템 테이블 영역은 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01551 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 확장 오류입니다.&lt;/p&gt;&lt;p&gt;ora-01552 &amp;nbsp; &amp;nbsp; 시스템 테이블 영역이 아닌 %s 에 시스템 롤백 세그먼트를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01553 &amp;nbsp; &amp;nbsp; maxextents는 현재 할당된 %s 엑스텐트 수 이상이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01554 &amp;nbsp; &amp;nbsp; 트랜잭션 슬롯이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01555 &amp;nbsp; &amp;nbsp; 스냅샷이 너무 오래 되었습니다(롤백 세그먼트가 너무 작습니다)&lt;/p&gt;&lt;p&gt;ora-01556 &amp;nbsp; &amp;nbsp; 롤백 세그먼트를 위한 minextents는 1보다 커야만 합니다.&lt;/p&gt;&lt;p&gt;ora-01557 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 엑스텐트는 최저 %s 블록이 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01558 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s 에 트랜잭션 번호가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01559 &amp;nbsp; &amp;nbsp; 롤백 세그먼트의 maxextents 는 2 이상입니다.&lt;/p&gt;&lt;p&gt;ora-01560 &amp;nbsp; &amp;nbsp; 글로벌 해쉬 테이블의 크기가 %s와 일치하지 않습니다 (%s !=%s)&lt;/p&gt;&lt;p&gt;ora-01561 &amp;nbsp; &amp;nbsp; 지정된 테이블 영역중의 개체가 삭제되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01562 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 확장 실패입니다 (id = %s)&lt;/p&gt;&lt;p&gt;ora-01563 &amp;nbsp; &amp;nbsp; 키워드 public 을 사용해 주십시오&lt;/p&gt;&lt;p&gt;ora-01564 &amp;nbsp; &amp;nbsp; 롤백 세그먼트는 public 이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01565 &amp;nbsp; &amp;nbsp; 화일 %s 의 식별 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01566 &amp;nbsp; &amp;nbsp; drop logfile에 화일이 2회 이상 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01567 &amp;nbsp; &amp;nbsp; 로그 %s를 삭제하면 쓰레드 %s에 남는 로그 화일이 2개 미만으로 됩니다.&lt;/p&gt;&lt;p&gt;ora-01568 &amp;nbsp; &amp;nbsp; public에 영역 할당량을 설정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01569 &amp;nbsp; &amp;nbsp; 시스템 dictionary 테이블에 대한 데이타 화일이 너무 작습니다.&lt;/p&gt;&lt;p&gt;ora-01570 &amp;nbsp; &amp;nbsp; minextents는 현재 할당된 %s보다 클 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01571 &amp;nbsp; &amp;nbsp; 로그 레코드 버전 %s 가 oracle의 버전 %s 과 호환되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01572 &amp;nbsp; &amp;nbsp; 롤백 세그먼트용 글로벌 해쉬 테이블의 크기 %s가 롤백 세그먼트 번호 %s 에 대해 너무 작음&lt;/p&gt;&lt;p&gt;ora-01573 &amp;nbsp; &amp;nbsp; 인스턴스의 정지 처리가 진행중. 더 이상의 변경은 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01574 &amp;nbsp; &amp;nbsp; 최대 동시 실행 트랜잭션 수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01575 &amp;nbsp; &amp;nbsp; 영역 관리 자원의 대기중 시간이 초과되었습니다.&lt;/p&gt;&lt;p&gt;ora-01576 &amp;nbsp; &amp;nbsp; 인스턴스 잠금 프로토콜 버전 %s는 oracle의 버전 %s 와 호환되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01577 &amp;nbsp; &amp;nbsp; 로그 화일 %s는 이미 데이타베이스의 일부입니다 등록이 불가능합니다.&lt;/p&gt;&lt;p&gt;ora-01578 &amp;nbsp; &amp;nbsp; oracle 데이타 블록이 파손되었습니다 (화일 번호 %s, 블록 번호 %s)&lt;/p&gt;&lt;p&gt;ora-01579 &amp;nbsp; &amp;nbsp; 복구중 기록(write) 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01580 &amp;nbsp; &amp;nbsp; 제어 화일의 백업 화일 %s 를 작성하는 중에 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01581 &amp;nbsp; &amp;nbsp; 이미 할당된 롤백 세그먼트(%s) 새로운 익스텐트(%s)를 사용하려 시도했습니다.&lt;/p&gt;&lt;p&gt;ora-01582 &amp;nbsp; &amp;nbsp; 백업을 하기위해 제어 화일을 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01583 &amp;nbsp; &amp;nbsp; 백업될 제어 화일의 블록 크기를 획득할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01584 &amp;nbsp; &amp;nbsp; 백업될 제어 화일의 화일 크기를 획득할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01585 &amp;nbsp; &amp;nbsp; 백업 화일 %s 를 인식할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01586 &amp;nbsp; &amp;nbsp; 백업을 하기위한 수신 화일 %s을 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01587 &amp;nbsp; &amp;nbsp; 제어 화일의 백업 화일 복제중 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01588 &amp;nbsp; &amp;nbsp; 데이타베이스를 열기 위해서는 resetlogs 옵션을 사용해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01589 &amp;nbsp; &amp;nbsp; 데이타베이스를 열기 위해서는 resetlogs/noresetlogs 옵션을 사용해야 함&lt;/p&gt;&lt;p&gt;ora-01590 &amp;nbsp; &amp;nbsp; 가용 세그멘트 수(%s)가 최대치인 %s 를 초과합니다.&lt;/p&gt;&lt;p&gt;ora-01591 &amp;nbsp; &amp;nbsp; 잠금이 in-doubt 분산 트랜잭션 %s에 주어졌습니다.&lt;/p&gt;&lt;p&gt;ora-01592 &amp;nbsp; &amp;nbsp; 버전 6의 롤백 세그먼트(%s)를 oracle7 포맷으로 변환시 오류 발생&lt;/p&gt;&lt;p&gt;ora-01593 &amp;nbsp; &amp;nbsp; 롤백 세그먼트의 최적크기(%s 블록)가 초기크기 계산(%s 블록)보다 작습니다.&lt;/p&gt;&lt;p&gt;ora-01594 &amp;nbsp; &amp;nbsp; 해제될 롤백 세그먼트(%s) 익스텐트(%s)를 연결하려함&lt;/p&gt;&lt;p&gt;ora-01595 &amp;nbsp; &amp;nbsp; 익스텐스(%s)(롤백 세그먼트 (%s)의) 해제시 오류&lt;/p&gt;&lt;p&gt;ora-01596 &amp;nbsp; &amp;nbsp; %s 파라미터에 시스템을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01597 &amp;nbsp; &amp;nbsp; 시스템 롤백 세그먼트를 온라인 혹은 오프라인시킬 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01598 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s가 온라인이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01599 &amp;nbsp; &amp;nbsp; 롤백 세그먼트(%s)를 획득하는데 실패, 캐쉬 영역이 꽉찼습니다현재(%s)엔트리를 가짐)&lt;/p&gt;&lt;p&gt;ora-01600 &amp;nbsp; &amp;nbsp; 많아야 하나의 %s (gc_files_to_locks의 %s절에)&lt;/p&gt;&lt;p&gt;ora-01601 &amp;nbsp; &amp;nbsp; gc_files_to_locks의 %s절에 부당한 버켓(bucket) 크기&lt;/p&gt;&lt;p&gt;ora-01602 &amp;nbsp; &amp;nbsp; gc_files_to_locks에 예정된 것보다 gc_db_locks에 더 많은 잠금임&lt;/p&gt;&lt;p&gt;ora-01603 &amp;nbsp; &amp;nbsp; gc_files_to_locks의 %s절에 부당한 그룹크기&lt;/p&gt;&lt;p&gt;ora-01604 &amp;nbsp; &amp;nbsp; gc_files_to_locks의 %s절에 부당한 화일 번호 범위&lt;/p&gt;&lt;p&gt;ora-01605 &amp;nbsp; &amp;nbsp; gc_files_to_locks의 %s절에 화일 번호 누락&lt;/p&gt;&lt;p&gt;ora-01606 &amp;nbsp; &amp;nbsp; gc_files_to_lock가 마운트한 다른 인스턴스의 그것과 동일하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01607 &amp;nbsp; &amp;nbsp; gc_lck_procs (%s)가 다른 인스턴스 (%s)와 같지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01608 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s를 온라인화할 수 없음. 상태는 (%s)&lt;/p&gt;&lt;p&gt;ora-01609 &amp;nbsp; &amp;nbsp; 로그 %s는 쓰레드 %s에 대한 현 로그 - 멤버를 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01610 &amp;nbsp; &amp;nbsp; backup controlfile 옵션을 이용해서 복구가 끝나야만 합니다.&lt;/p&gt;&lt;p&gt;ora-01611 &amp;nbsp; &amp;nbsp; 쓰레드번호 %s는 부적절함 - %s보다 커서는 안됩니다.&lt;/p&gt;&lt;p&gt;ora-01612 &amp;nbsp; &amp;nbsp; 쓰레드 %s는 이미 가용되었습니다.&lt;/p&gt;&lt;p&gt;ora-01613 &amp;nbsp; &amp;nbsp; 쓰레드 %s는 %s 로그만을 가짐 - 가용화를 위해서는 최소 2개의 로그를 필요로 함&lt;/p&gt;&lt;p&gt;ora-01614 &amp;nbsp; &amp;nbsp; 쓰레드 %s는 사용중임 - 사용가능하게할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01615 &amp;nbsp; &amp;nbsp; 쓰레드 %s는 마운트됨 - 사용불가하게할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01616 &amp;nbsp; &amp;nbsp; 쓰레드 %s는 열려 있음 - 사용불가하게할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01617 &amp;nbsp; &amp;nbsp; 마운트할 수 없음: %s는 정당한 쓰레드 번호가 아님&lt;/p&gt;&lt;p&gt;ora-01618 &amp;nbsp; &amp;nbsp; 쓰레드 %s는 사용가능하지 않았음 - 마운트할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01619 &amp;nbsp; &amp;nbsp; 쓰레드 %s는 다른 인스턴스에 의해 마운트했습니다.&lt;/p&gt;&lt;p&gt;ora-01620 &amp;nbsp; &amp;nbsp; 마운트에 필요한 공용 쓰레드가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01621 &amp;nbsp; &amp;nbsp; 데이타베이스가 열려 있으면 현 로그의 멤버를 개명할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01622 &amp;nbsp; &amp;nbsp; 쓰레드 번호가 지정되어야함 - 디폴트는 없습니다.&lt;/p&gt;&lt;p&gt;ora-01623 &amp;nbsp; &amp;nbsp; 로그 %s는 쓰레드 %s에 대한 현 로그임 - 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01624 &amp;nbsp; &amp;nbsp; 로그 %s가 쓰레드 %s 복구시 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01625 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s는 이 인스턴스에 속해있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01626 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 번호 %s는 더 이상의 트랜잭션을 처리할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01627 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 번호 %s는 온라인이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01628 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s에 대한 최대 익스텐스 수 (%s)에 도달했습니다.&lt;/p&gt;&lt;p&gt;ora-01629 &amp;nbsp; &amp;nbsp; 테이블 영역 %s에 대한 실행취소의 저장시 최대 익스텐트 수(%s)에 도달했음&lt;/p&gt;&lt;p&gt;ora-01630 &amp;nbsp; &amp;nbsp; 테이블 영역 %s의 임시 세그먼트에 최대 익스텐트 수(%s)가 되었습니다.&lt;/p&gt;&lt;p&gt;ora-01631 &amp;nbsp; &amp;nbsp; 최대 익스텐트 수(%s)에 도달 (테이블 %s.%s)&lt;/p&gt;&lt;p&gt;ora-01632 &amp;nbsp; &amp;nbsp; 최대 익스텐트 수(%s)에 도달 (색인 %s.%s)&lt;/p&gt;&lt;p&gt;ora-01633 &amp;nbsp; &amp;nbsp; 이 조작에는 병렬 서버 옵션이 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01634 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 번호 %s가 오프라인 되려합니다.&lt;/p&gt;&lt;p&gt;ora-01635 &amp;nbsp; &amp;nbsp; 지정된 롤백 세그먼트 번호 %s가 가용하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01636 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s가 이미 온라인 상태입니다.&lt;/p&gt;&lt;p&gt;ora-01637 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s가 다른 인스턴스(수 %s)에 의해 사용됩니다.&lt;/p&gt;&lt;p&gt;ora-01638 &amp;nbsp; &amp;nbsp; %s 파라미터는 oracle 버전 %s에서 병렬 마운트를 허용하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01639 &amp;nbsp; &amp;nbsp; 데이타베이스는 잠금 프로세스 없이 병렬로 마운트할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01640 &amp;nbsp; &amp;nbsp; 활성 트랙잰션으로 테이블 공간을 읽기 전용으로 만들수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01641 &amp;nbsp; &amp;nbsp; 테이블스페이스 %s은 온라인이 아닙니다 - 데이타 화일을 추가할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01642 &amp;nbsp; &amp;nbsp; 읽기 전용 %s 테이블 공간에 초기 백업이 필요하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01643 &amp;nbsp; &amp;nbsp; 시스템 테이블 공간를 읽기 전용으로 만들 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01644 &amp;nbsp; &amp;nbsp; %s 테이블 공간은 이미 읽기 전용입니다.&lt;/p&gt;&lt;p&gt;ora-01645 &amp;nbsp; &amp;nbsp; 읽기 쓰기를 하기위해서 이전에 시도한것이 반만 완성되었습니다.&lt;/p&gt;&lt;p&gt;ora-01646 &amp;nbsp; &amp;nbsp; %s 테이블 공간은 읽기 전용입니다- 읽기 쓰기를 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01647 &amp;nbsp; &amp;nbsp; %s 테이블 공간은 읽기 전용이어서, 거기에 공간을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01648 &amp;nbsp; &amp;nbsp; 로그 %s는 사용불가인 쓰레드 %s의 현재 로그입니다.&lt;/p&gt;&lt;p&gt;ora-01649 &amp;nbsp; &amp;nbsp; 백업 컨트롤 화일에 대한 작업이 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01650 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 %s를 %s에 의해 %s 테이블 공간에서 확장할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01651 &amp;nbsp; &amp;nbsp; %s로 테이블 공간 %s에 저장 취소 세그먼트를 확장할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01652 &amp;nbsp; &amp;nbsp; %s로 테이블 공간 %s에서 임시 세그먼트를 확장할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01653 &amp;nbsp; &amp;nbsp; 테이블 %s.%s를 %s에 의해 %s 테이블 공간에서 확장할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01654 &amp;nbsp; &amp;nbsp; 색인 %s.%s를 %s에 의해 %s 테이블 공간에서 확장할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01655 &amp;nbsp; &amp;nbsp; 크러스터 %s.%s를 %s에 의해 %s 테이블 공간에서 확장할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01656 &amp;nbsp; &amp;nbsp; 최대 번호 확장 (%s)가 %s.%s 크러스터에 도달했습니다.&lt;/p&gt;&lt;p&gt;ora-01657 &amp;nbsp; &amp;nbsp; 부적당한 shrink 옵션 값&lt;/p&gt;&lt;p&gt;ora-01658 &amp;nbsp; &amp;nbsp; 테이블스페이스 %s에 세그먼트에 대한 initial 익스텐트를 작성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01659 &amp;nbsp; &amp;nbsp; 테이블스페이스 %s에 %s이상의 minextents를 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01660 &amp;nbsp; &amp;nbsp; 테이블스페이스 %s 은 이미 영구적인 것입니다.&lt;/p&gt;&lt;p&gt;ora-01661 &amp;nbsp; &amp;nbsp; 테이블스페이스 %s 은 이미 임시적인 것입니다.&lt;/p&gt;&lt;p&gt;ora-01662 &amp;nbsp; &amp;nbsp; 테이블스페이스 %s 은 비어 있지 않아 임시로 만들 수가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01663 &amp;nbsp; &amp;nbsp; 테이블스페이스 %s 의 내용은 항상 변경합니다.&lt;/p&gt;&lt;p&gt;ora-01664 &amp;nbsp; &amp;nbsp; 정렬 세그먼트로 확장된 트랜잭션은 중지 되었습니다.&lt;/p&gt;&lt;p&gt;ora-01665 &amp;nbsp; &amp;nbsp; 제어화일은 대기 제어화일이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01666 &amp;nbsp; &amp;nbsp; 제어화일은 대기 제어화일을 위한 것입니다.&lt;/p&gt;&lt;p&gt;ora-01667 &amp;nbsp; &amp;nbsp; 리두 로그는 대기 데이터베이스와 상반됩니다.&lt;/p&gt;&lt;p&gt;ora-01668 &amp;nbsp; &amp;nbsp; 데이터 화일의 오프라인을 위해서 대기 데이터베이스가 drop 옵션을 요구합니다.&lt;/p&gt;&lt;p&gt;ora-01669 &amp;nbsp; &amp;nbsp; 대기 데이터베이스 제어화일은 데이터화일과 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01670 &amp;nbsp; &amp;nbsp; 대기 데이터베이스 복구에 새로운 데이터화일 %s 가 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01671 &amp;nbsp; &amp;nbsp; 제어화일은 백업합니다, 대기 제어화일을 만들 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01672 &amp;nbsp; &amp;nbsp; 제어화일에 화일이 빠졌거나 하나 더 가지고 있습니다.&lt;/p&gt;&lt;p&gt;ora-01673 &amp;nbsp; &amp;nbsp; 데이터 화일 %s 은 식별된것이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-01674 &amp;nbsp; &amp;nbsp; 데이터 화일 %s 은 현재 화일 대신 오래된 것을 가지고 있습니다.&lt;/p&gt;&lt;p&gt;ora-01676 &amp;nbsp; &amp;nbsp; 대기 화일 이름은 %s의 변환을 하는데 최대 %s의 길이를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01677 &amp;nbsp; &amp;nbsp; 대기 화일 이름이 파라미터 변환을 다른 인스턴스와 다르게 했습니다.&lt;/p&gt;&lt;p&gt;ora-01678 &amp;nbsp; &amp;nbsp; 파라미터 %s 은 패턴과 교체로 된 두가지 스트링을 가지고 있어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01679 &amp;nbsp; &amp;nbsp; 데이터베이스는 exclusive로 마운트 되어야 하고 열려 있지 않아야 합니다.&lt;/p&gt;&lt;p&gt;ora-01680 &amp;nbsp; &amp;nbsp; 만약 gc_files_to_locks이 사용하고 있으면 gc_db_locks가 영일 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01700 &amp;nbsp; &amp;nbsp; 리스트 내의 사용자명이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-01701 &amp;nbsp; &amp;nbsp; 클러스터가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01702 &amp;nbsp; &amp;nbsp; 뷰는 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01703 &amp;nbsp; &amp;nbsp; 키워드 synonym이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01704 &amp;nbsp; &amp;nbsp; 스트링이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-01705 &amp;nbsp; &amp;nbsp; 상관 열에는 외부 결합을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01706 &amp;nbsp; &amp;nbsp; 사용자 함수의 결과가 너무 큽니다.&lt;/p&gt;&lt;p&gt;ora-01707 &amp;nbsp; &amp;nbsp; 키워드 list가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01708 &amp;nbsp; &amp;nbsp; access 또는 session을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01709 &amp;nbsp; &amp;nbsp; 프로그램이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01710 &amp;nbsp; &amp;nbsp; 키워드 of가 없습니다.&lt;/p&gt;&lt;p&gt;ora-01711 &amp;nbsp; &amp;nbsp; 중복된 권한이 리스트되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01712 &amp;nbsp; &amp;nbsp; 자신이 소유하지 않은 권한을 허가할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01713 &amp;nbsp; &amp;nbsp; 그 권한에 대해서는 grant option 이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01714 &amp;nbsp; &amp;nbsp; 사용자 함수의 실행중 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01715 &amp;nbsp; &amp;nbsp; 클러스터 색인에는 unique를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01716 &amp;nbsp; &amp;nbsp; 클러스터 색인에는 nosort를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01717 &amp;nbsp; &amp;nbsp; secta : 액세스 모드 토큰이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01718 &amp;nbsp; &amp;nbsp; by access | session절은 noaudit에 대해서는 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01719 &amp;nbsp; &amp;nbsp; 외부 결합 운영 (+)는 or 또는 in의 연산수를 허용하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01720 &amp;nbsp; &amp;nbsp; %s에 대한 허가(grant) 옵션은 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01721 &amp;nbsp; &amp;nbsp; 트랜잭션에서 userenv(commitscn)을 2회 이상 불렀습니다.&lt;/p&gt;&lt;p&gt;ora-01722 &amp;nbsp; &amp;nbsp; 수치가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01723 &amp;nbsp; &amp;nbsp; 길이가 0인 열은 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01724 &amp;nbsp; &amp;nbsp; 부동 소숫점 수치의 정도를 벗어났습니다 (1 to 126)&lt;/p&gt;&lt;p&gt;ora-01725 &amp;nbsp; &amp;nbsp; userenv(commitscn)는 여기에서 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01726 &amp;nbsp; &amp;nbsp; 테이블의 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01727 &amp;nbsp; &amp;nbsp; 수치의 정도 범위(38 자리 이내)를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01728 &amp;nbsp; &amp;nbsp; 수치의 스케일 범위(-84 에서 127)를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01729 &amp;nbsp; &amp;nbsp; 데이타베이스 링크명을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01730 &amp;nbsp; &amp;nbsp; 지정한 열명의 수가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01731 &amp;nbsp; &amp;nbsp; 뷰 정의가 부적합(순환)합니다.&lt;/p&gt;&lt;p&gt;ora-01732 &amp;nbsp; &amp;nbsp; 뷰에 대한 데이타 조작이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01733 &amp;nbsp; &amp;nbsp; 가상 열은 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01734 &amp;nbsp; &amp;nbsp; 잘못된 파라미터 - extent min 값이 extent max 보다 큽니다.&lt;/p&gt;&lt;p&gt;ora-01735 &amp;nbsp; &amp;nbsp; 부적합한 alter table 옵션입니다.&lt;/p&gt;&lt;p&gt;ora-01736 &amp;nbsp; &amp;nbsp; [not] successful 을 지정해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01737 &amp;nbsp; &amp;nbsp; 공유, 배타 모드에서만 테이블을 잠금할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01738 &amp;nbsp; &amp;nbsp; 키워드 in 을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01739 &amp;nbsp; &amp;nbsp; 키워드 mode 를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01740 &amp;nbsp; &amp;nbsp; 이중 인용부를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01741 &amp;nbsp; &amp;nbsp; 길이가 0인 식별자는 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01742 &amp;nbsp; &amp;nbsp; 주석이 정확하게 종료되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01743 &amp;nbsp; &amp;nbsp; 내부적 불일치 : 사용자 함수 색인이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01744 &amp;nbsp; &amp;nbsp; into구의 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01745 &amp;nbsp; &amp;nbsp; 호스트/바인드 변수명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01746 &amp;nbsp; &amp;nbsp; 인디케이터 변수는 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01747 &amp;nbsp; &amp;nbsp; 열명을 올바르게 지정해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01748 &amp;nbsp; &amp;nbsp; 열명 그 자체만 사용할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01749 &amp;nbsp; &amp;nbsp; 자신의 권한으로는 grant/revoke 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01750 &amp;nbsp; &amp;nbsp; update/reference 는 열에 의해서가 아닌 테이블 전체로부터 revoke 될 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01751 &amp;nbsp; &amp;nbsp; 부적당한 덤프 취소 옵션입니다.&lt;/p&gt;&lt;p&gt;ora-01752 &amp;nbsp; &amp;nbsp; 뷰으로 부터 정확하게 하나의 키-보전된 테이블 없이 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01753 &amp;nbsp; &amp;nbsp; 열 정의가 클러스터 열의 정의와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01754 &amp;nbsp; &amp;nbsp; long 유형의 열은 테이블에 1 개만 포함될 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01755 &amp;nbsp; &amp;nbsp; 영역 수나 블록 수를 지정해야만 합니다.&lt;/p&gt;&lt;p&gt;ora-01756 &amp;nbsp; &amp;nbsp; 단일 인용부를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01757 &amp;nbsp; &amp;nbsp; 개체 수를 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01758 &amp;nbsp; &amp;nbsp; not null 열을 추가하기 위해서는 테이블이 비어 있어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01759 &amp;nbsp; &amp;nbsp; 사용자 함수가 올바르게 정의되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01760 &amp;nbsp; &amp;nbsp; 함수의 인수가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01761 &amp;nbsp; &amp;nbsp; 결합문는 유일 테이블에 dml 작업으로 맵 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01762 &amp;nbsp; &amp;nbsp; vopdrv: 뷰의 질의 블록이 from 구에 없습니다.&lt;/p&gt;&lt;p&gt;ora-01763 &amp;nbsp; &amp;nbsp; 갱신 또는 삭제가 외부 결합 테이블을 포함하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-01764 &amp;nbsp; &amp;nbsp; 결합의 새로운 갱신 값은 유일한것을 보증할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01765 &amp;nbsp; &amp;nbsp; 테이블의 소유자명을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01766 &amp;nbsp; &amp;nbsp; 데이타 사전 개체명을 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01767 &amp;nbsp; &amp;nbsp; update ... set 식은 부속 질의이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01768 &amp;nbsp; &amp;nbsp; 수치 열이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-01769 &amp;nbsp; &amp;nbsp; cluster 옵션 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-01770 &amp;nbsp; &amp;nbsp; cluster 옵션은 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01771 &amp;nbsp; &amp;nbsp; 클러스터 테이블에 대한 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01772 &amp;nbsp; &amp;nbsp; level에 대한 값을 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01773 &amp;nbsp; &amp;nbsp; 지정한 create table 문에는 열 데이타 유형을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01774 &amp;nbsp; &amp;nbsp; 한번 이상 덤프 취소 옵션이 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01775 &amp;nbsp; &amp;nbsp; 동의어가 순환 고리 유형으로 정의되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01776 &amp;nbsp; &amp;nbsp; 결합 뷰에 의하여 하나 이상의 기본 테이블을 수정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01777 &amp;nbsp; &amp;nbsp; with grant 옵션은 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01778 &amp;nbsp; &amp;nbsp; 부속 질의의 내포 레벨의 제한을 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01779 &amp;nbsp; &amp;nbsp; 키-보존된것이 아닌 테이블로 맵한 열을 수정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01780 &amp;nbsp; &amp;nbsp; 스트링 상수가 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01781 &amp;nbsp; &amp;nbsp; unrecoverable은 as select와 함께 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01782 &amp;nbsp; &amp;nbsp; 클러스터 또는 클러스터 테이블에 대해서는 unrecoverable을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01783 &amp;nbsp; &amp;nbsp; recoverable 또는 unrecoverable 중 하나만을 지정할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01784 &amp;nbsp; &amp;nbsp; 데이타베이스 미디어 복구가 사용불가이면 recoverable을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01785 &amp;nbsp; &amp;nbsp; order by 항목은 select 리스트 식의 수라야 합니다.&lt;/p&gt;&lt;p&gt;ora-01786 &amp;nbsp; &amp;nbsp; for update 구는 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01787 &amp;nbsp; &amp;nbsp; 질의 블록당 1개의 구만 허용됩니다.&lt;/p&gt;&lt;p&gt;ora-01788 &amp;nbsp; &amp;nbsp; connect by 구를 지정해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01789 &amp;nbsp; &amp;nbsp; 질의의 결과 열의 수가 틀립니다.&lt;/p&gt;&lt;p&gt;ora-01790 &amp;nbsp; &amp;nbsp; 대응하는 식과 같은 데이타 유형이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01791 &amp;nbsp; &amp;nbsp; select 식이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01792 &amp;nbsp; &amp;nbsp; 테이블, 뷰에 지정 가능한 열의 최대수는 254 입니다.&lt;/p&gt;&lt;p&gt;ora-01793 &amp;nbsp; &amp;nbsp; 지정 가능한 색인 열의 최대수는 16 입니다.&lt;/p&gt;&lt;p&gt;ora-01794 &amp;nbsp; &amp;nbsp; 지정 가능한 클러스터 열의 최대수는 16 입니다.&lt;/p&gt;&lt;p&gt;ora-01795 &amp;nbsp; &amp;nbsp; 리스트에 지정 가능한 식의 최대수는 254 입니다.&lt;/p&gt;&lt;p&gt;ora-01796 &amp;nbsp; &amp;nbsp; 연산자의 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01797 &amp;nbsp; &amp;nbsp; 연산자의 뒤에 any 또는 all을 지정해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01798 &amp;nbsp; &amp;nbsp; exception 키워드가 누락되었습니다.&lt;/p&gt;&lt;p&gt;ora-01799 &amp;nbsp; &amp;nbsp; 열은 부속 질의에 외부결합될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01800 &amp;nbsp; &amp;nbsp; 날짜 형식 내의 리터럴이 너무 길어서 처리할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01801 &amp;nbsp; &amp;nbsp; 날짜 형식이 내부 버퍼에 비해 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-01802 &amp;nbsp; &amp;nbsp; 율리우스일의 지정이 범위를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01803 &amp;nbsp; &amp;nbsp; 날짜/시각의 획득 실패&lt;/p&gt;&lt;p&gt;ora-01810 &amp;nbsp; &amp;nbsp; 형식 코드가 2 번 나타났습니다.&lt;/p&gt;&lt;p&gt;ora-01811 &amp;nbsp; &amp;nbsp; 율리우스일에서 년간 통산일의 사용은 금지되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01812 &amp;nbsp; &amp;nbsp; 년은 1 번만 지정할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01813 &amp;nbsp; &amp;nbsp; 시간은 1 번만 지정할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01814 &amp;nbsp; &amp;nbsp; am/pm 과 a.m./p.m.은 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01815 &amp;nbsp; &amp;nbsp; bc/ad 와 b.c./a.d.는 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01816 &amp;nbsp; &amp;nbsp; 월은 1 번만 지정할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01817 &amp;nbsp; &amp;nbsp; 요일은 1 번만 지정할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01818 &amp;nbsp; &amp;nbsp; hh24와 am/pm은 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01819 &amp;nbsp; &amp;nbsp; 부호가 붙은 년과 bc/ad는 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01820 &amp;nbsp; &amp;nbsp; 날짜 지정에 포함된 형식 코드가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01821 &amp;nbsp; &amp;nbsp; 날짜 형식이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01830 &amp;nbsp; &amp;nbsp; 날짜 형식의 지정에 불필요한 데이타가 포함되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-01831 &amp;nbsp; &amp;nbsp; 년과 율리우스일은 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01832 &amp;nbsp; &amp;nbsp; 년의 일과 율리우스일은 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01833 &amp;nbsp; &amp;nbsp; 월과 율리우스일은 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01834 &amp;nbsp; &amp;nbsp; 월의 일과 율리우스일은 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01835 &amp;nbsp; &amp;nbsp; 요일과 율리우스일은 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01836 &amp;nbsp; &amp;nbsp; 시와 일의 초는 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01837 &amp;nbsp; &amp;nbsp; 시의 분과 일의 초는 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01838 &amp;nbsp; &amp;nbsp; 분의 초와 일의 초는 혼재할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01839 &amp;nbsp; &amp;nbsp; 지정된 월에 대한 날짜가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01840 &amp;nbsp; &amp;nbsp; 입력된 값의 길이가 날짜 형식에 비해 부족합니다.&lt;/p&gt;&lt;p&gt;ora-01841 &amp;nbsp; &amp;nbsp; 년은 -4713 과 +4713 사이의 값으로 지정해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01842 &amp;nbsp; &amp;nbsp; 분기는 1 부터 4 사이의 값을 지정해 주십시오.&lt;/p&gt;&lt;p&gt;ora-01843 &amp;nbsp; &amp;nbsp; 지정한 월이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01844 &amp;nbsp; &amp;nbsp; 주를 올바르게 지정해 주십시오 ( 1 에서 52 사이 )&lt;/p&gt;&lt;p&gt;ora-01845 &amp;nbsp; &amp;nbsp; 주를 올바르게 지정해 주십시오 ( 1 에서 5 사이 )&lt;/p&gt;&lt;p&gt;ora-01846 &amp;nbsp; &amp;nbsp; 지정한 요일이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01847 &amp;nbsp; &amp;nbsp; 날짜를 올바르게 지정해 주십시오 ( 1 에서 말일까지 )&lt;/p&gt;&lt;p&gt;ora-01848 &amp;nbsp; &amp;nbsp; 날짜를 올바르게 지정해 주십시오 ( 1 에서 365 사이 )&lt;/p&gt;&lt;p&gt;ora-01849 &amp;nbsp; &amp;nbsp; 시간을 올바르게 지정해 주십시오 ( 1 에서 12 사이 )&lt;/p&gt;&lt;p&gt;ora-01850 &amp;nbsp; &amp;nbsp; 시간을 올바르게 지정해 주십시오 ( 0 에서 23 사이 )&lt;/p&gt;&lt;p&gt;ora-01851 &amp;nbsp; &amp;nbsp; 분을 올바르게 지정해 주십시오 ( 0 에서 59 사이 )&lt;/p&gt;&lt;p&gt;ora-01852 &amp;nbsp; &amp;nbsp; 초를 올바르게 지정해 주십시오 ( 0 에서 59 사이 )&lt;/p&gt;&lt;p&gt;ora-01853 &amp;nbsp; &amp;nbsp; 초를 올바르게 지정해 주십시오 ( 0 에서 86399 사이 )&lt;/p&gt;&lt;p&gt;ora-01854 &amp;nbsp; &amp;nbsp; 율리우스 날짜는 1에서 5373484 사이여야 합니다.&lt;/p&gt;&lt;p&gt;ora-01855 &amp;nbsp; &amp;nbsp; am/a.m. 또는 pm/p.m.이 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01856 &amp;nbsp; &amp;nbsp; bc/b.c. 또는 ad/a.d.이 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01857 &amp;nbsp; &amp;nbsp; 시간대가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01858 &amp;nbsp; &amp;nbsp; 수치를 지정해야할 곳에 비수치 문자가 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01859 &amp;nbsp; &amp;nbsp; 문자를 지정해야할 곳에 비문자가 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01860 &amp;nbsp; &amp;nbsp; 년의 주는 1 에서 53 사이이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01861 &amp;nbsp; &amp;nbsp; 스트링이 형식 스트링에 맞지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01862 &amp;nbsp; &amp;nbsp; 이 형식의 항목에 대한 잘못된 자리수&lt;/p&gt;&lt;p&gt;ora-01898 &amp;nbsp; &amp;nbsp; precision 지정자가 너무 많습니다.&lt;/p&gt;&lt;p&gt;ora-01899 &amp;nbsp; &amp;nbsp; 잘못된 precision 지정자입니다.&lt;/p&gt;&lt;p&gt;ora-01900 &amp;nbsp; &amp;nbsp; 키워드 logfile을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01901 &amp;nbsp; &amp;nbsp; 키워드 rollback을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01902 &amp;nbsp; &amp;nbsp; 키워드 segment를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01903 &amp;nbsp; &amp;nbsp; 키워드 events를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01904 &amp;nbsp; &amp;nbsp; 키워드 datafile을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01905 &amp;nbsp; &amp;nbsp; 키워드 storage를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01906 &amp;nbsp; &amp;nbsp; 키워드 backup을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01907 &amp;nbsp; &amp;nbsp; 키워드 tablespace를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01908 &amp;nbsp; &amp;nbsp; 키워드 exists를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01909 &amp;nbsp; &amp;nbsp; 키워드 reuse를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01910 &amp;nbsp; &amp;nbsp; 키워드 tables을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01911 &amp;nbsp; &amp;nbsp; 키워드 contents를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01912 &amp;nbsp; &amp;nbsp; 키워드 row를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01913 &amp;nbsp; &amp;nbsp; 키워드 exclusive를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01914 &amp;nbsp; &amp;nbsp; 시퀀스 번호에 대한 감사 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01915 &amp;nbsp; &amp;nbsp; 뷰에 대한 감사 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01916 &amp;nbsp; &amp;nbsp; 키워드 online, offline, resize, autoextend 또는 end를 지정하십시오&lt;/p&gt;&lt;p&gt;ora-01917 &amp;nbsp; &amp;nbsp; 사용자 또는 롤 %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01918 &amp;nbsp; &amp;nbsp; 사용자 %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01919 &amp;nbsp; &amp;nbsp; 롤 %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01920 &amp;nbsp; &amp;nbsp; 사용자명 %s가 다른 사용자나 롤명과 상충됩니다.&lt;/p&gt;&lt;p&gt;ora-01921 &amp;nbsp; &amp;nbsp; 롤명 %s가 다른 사용자나 롤명과 상충됩니다.&lt;/p&gt;&lt;p&gt;ora-01922 &amp;nbsp; &amp;nbsp; %s를 삭제하려면 cascade를 지정하여야 합니다.&lt;/p&gt;&lt;p&gt;ora-01923 &amp;nbsp; &amp;nbsp; 개체가 다른 사용자에 의해서 잠금 되어 cascade가 비정상 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-01924 &amp;nbsp; &amp;nbsp; 롤 %s가 허가되지 않았거나 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01925 &amp;nbsp; &amp;nbsp; 가용 롤의 최대치 %s를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-01926 &amp;nbsp; &amp;nbsp; with grant option으로 롤을 grant할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01927 &amp;nbsp; &amp;nbsp; 허가하지 않은 권한을 revoke할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01928 &amp;nbsp; &amp;nbsp; 모든 권한에 대하여 grant 옵션이 허가되지는 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01929 &amp;nbsp; &amp;nbsp; grant할 권한이 없습니다.&lt;/p&gt;&lt;p&gt;ora-01931 &amp;nbsp; &amp;nbsp; %s를 롤에게 허가할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01932 &amp;nbsp; &amp;nbsp; 롤 %s에 대한 admin 옵션이 허가되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01933 &amp;nbsp; &amp;nbsp; 롤에 대한 권한으로 저장 개체를 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01934 &amp;nbsp; &amp;nbsp; 순환되는 롤 권한 부여가 감지되었습니다.&lt;/p&gt;&lt;p&gt;ora-01935 &amp;nbsp; &amp;nbsp; 누락된 사용자 혹은 롤명&lt;/p&gt;&lt;p&gt;ora-01936 &amp;nbsp; &amp;nbsp; 사용자나 롤을 생성시 소유자를 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01937 &amp;nbsp; &amp;nbsp; 부적절한 롤명&lt;/p&gt;&lt;p&gt;ora-01938 &amp;nbsp; &amp;nbsp; create user에 대한 identified by가 지정되어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01939 &amp;nbsp; &amp;nbsp; admin option만이 지정될 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-01940 &amp;nbsp; &amp;nbsp; 현재 연결되어 있는 사용자를 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01941 &amp;nbsp; &amp;nbsp; 키워드 sequence가 요구됩니다.&lt;/p&gt;&lt;p&gt;ora-01942 &amp;nbsp; &amp;nbsp; identified by 와 externally는 모두 지정될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01943 &amp;nbsp; &amp;nbsp; identified by가 이미 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01944 &amp;nbsp; &amp;nbsp; identified externally가 이미 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01945 &amp;nbsp; &amp;nbsp; default role[s]가 이미 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01946 &amp;nbsp; &amp;nbsp; default tablespace가 이미 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01947 &amp;nbsp; &amp;nbsp; temporary tablespace가 이미 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-01949 &amp;nbsp; &amp;nbsp; role 키워드가 요구합니다.&lt;/p&gt;&lt;p&gt;ora-01950 &amp;nbsp; &amp;nbsp; 테이블 영역 %s에 대한 권한이 없읍&lt;/p&gt;&lt;p&gt;ora-01951 &amp;nbsp; &amp;nbsp; role %s가 %s에 허가되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01952 &amp;nbsp; &amp;nbsp; 시스템 권한이 %s에 허가되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01953 &amp;nbsp; &amp;nbsp; 명령어가 더 이상 유효하지 않음,alter user를 보내십시오&lt;/p&gt;&lt;p&gt;ora-01954 &amp;nbsp; &amp;nbsp; create user에 default role절이 유효하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01955 &amp;nbsp; &amp;nbsp; default role %s가 사용자에게 허가되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01956 &amp;nbsp; &amp;nbsp; os_roles이 사용될시 부적절한 명령어&lt;/p&gt;&lt;p&gt;ora-01957 &amp;nbsp; &amp;nbsp; 키워드 min 혹은 max 를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-01958 &amp;nbsp; &amp;nbsp; layer 옵션을 위한 정수가 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01959 &amp;nbsp; &amp;nbsp; opcode 옵션을 위한 정수가 필요합니다.&lt;/p&gt;&lt;p&gt;ora-01960 &amp;nbsp; &amp;nbsp; 부적절한 덤프 로그 화일 옵션입니다.&lt;/p&gt;&lt;p&gt;ora-01961 &amp;nbsp; &amp;nbsp; 부적절한 덤프 옵션입니다.&lt;/p&gt;&lt;p&gt;ora-01962 &amp;nbsp; &amp;nbsp; 화일 번호 혹은 시퀀스 번호를 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01963 &amp;nbsp; &amp;nbsp; 블록 번호를 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01964 &amp;nbsp; &amp;nbsp; time 옵션을 위한 시간을 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01965 &amp;nbsp; &amp;nbsp; period 를 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01967 &amp;nbsp; &amp;nbsp; create controlfile 의 부적절한 옵션입니다.&lt;/p&gt;&lt;p&gt;ora-01968 &amp;nbsp; &amp;nbsp; resetlogs 혹은 noresetlogs 를 한번만 지정하십시오&lt;/p&gt;&lt;p&gt;ora-01969 &amp;nbsp; &amp;nbsp; resetlogs 혹은 noresetlogs 를 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01970 &amp;nbsp; &amp;nbsp; create controlfile에 대한 데이타베이스 명을 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01971 &amp;nbsp; &amp;nbsp; 부적절한 alter tracing 옵션&lt;/p&gt;&lt;p&gt;ora-01972 &amp;nbsp; &amp;nbsp; alter tracing enable 혹은 disable에 대한 스트링을 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-01973 &amp;nbsp; &amp;nbsp; 변경 번호 누락&lt;/p&gt;&lt;p&gt;ora-01974 &amp;nbsp; &amp;nbsp; 부적절한 아카이브옵션&lt;/p&gt;&lt;p&gt;ora-01975 &amp;nbsp; &amp;nbsp; 변환 번호 %s에 부적절한 문자&lt;/p&gt;&lt;p&gt;ora-01976 &amp;nbsp; &amp;nbsp; 변경 번호 누락&lt;/p&gt;&lt;p&gt;ora-01977 &amp;nbsp; &amp;nbsp; 쓰레드 번호 누락&lt;/p&gt;&lt;p&gt;ora-01978 &amp;nbsp; &amp;nbsp; 시퀀스 번호 누락&lt;/p&gt;&lt;p&gt;ora-01979 &amp;nbsp; &amp;nbsp; 롤 %s에 대한 암호가 틀리거나 누락되었습니다.&lt;/p&gt;&lt;p&gt;ora-01980 &amp;nbsp; &amp;nbsp; os role 초기화시 오류&lt;/p&gt;&lt;p&gt;ora-01981 &amp;nbsp; &amp;nbsp; 현 권한취소를 수행하려면 cascade constraints가 지정되어야 합니다.&lt;/p&gt;&lt;p&gt;ora-01982 &amp;nbsp; &amp;nbsp; 테이블에 대한 부적절한 감사 옵션&lt;/p&gt;&lt;p&gt;ora-01983 &amp;nbsp; &amp;nbsp; default에 대한 부적절한 감사 옵션&lt;/p&gt;&lt;p&gt;ora-01984 &amp;nbsp; &amp;nbsp; 프로시저/패캐지/함수에 대한 부적절한 감사 옵션&lt;/p&gt;&lt;p&gt;ora-01985 &amp;nbsp; &amp;nbsp; license_max_users 파라미터가 초과되어 사용자를 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01986 &amp;nbsp; &amp;nbsp; optimizer_goal에 대한 옵션 부적합&lt;/p&gt;&lt;p&gt;ora-01987 &amp;nbsp; &amp;nbsp; 클라이언트 os 사용자명이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-01988 &amp;nbsp; &amp;nbsp; 원격 os 로그온이 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-01989 &amp;nbsp; &amp;nbsp; 롤 %s는 운영 시스템에 의해 권한되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-01990 &amp;nbsp; &amp;nbsp; 암호 %s 화일을 여는데 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01991 &amp;nbsp; &amp;nbsp; %s 암호 화일이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-01992 &amp;nbsp; &amp;nbsp; %s 암호 화일을 닫는데 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01993 &amp;nbsp; &amp;nbsp; %s 암호 화일을 쓰는 중에 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01994 &amp;nbsp; &amp;nbsp; grant 실패: 공용 암호 화일에다 사용자를 추가할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-01995 &amp;nbsp; &amp;nbsp; %s 암호 화일을 읽는 중에 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-01996 &amp;nbsp; &amp;nbsp; grant 실패: %s 암호 화일이 꽉 찼습니다.&lt;/p&gt;&lt;p&gt;ora-01997 &amp;nbsp; &amp;nbsp; grant 실패: %s 사용자는 여기에 없습니다.&lt;/p&gt;&lt;p&gt;ora-01998 &amp;nbsp; &amp;nbsp; revoke 실패: sys 사용자는 항상 sysoper 와 sysdba를 가지고 있습니다.&lt;/p&gt;&lt;p&gt;ora-01999 &amp;nbsp; &amp;nbsp; 암호 화일 모드는 %s 에서 %s로 바꾸었습니다.&lt;/p&gt;&lt;p&gt;ora-02000 &amp;nbsp; &amp;nbsp; 누락된 %s 키워드&lt;/p&gt;&lt;p&gt;ora-02001 &amp;nbsp; &amp;nbsp; 사용자 sys는 빈리스트 그룹와 함께 색인을 생성하는것을 허락하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02002 &amp;nbsp; &amp;nbsp; 감사 추적 테이블에 기록 중 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-02003 &amp;nbsp; &amp;nbsp; userenv 파라미터가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02004 &amp;nbsp; &amp;nbsp; 보안 위반&lt;/p&gt;&lt;p&gt;ora-02005 &amp;nbsp; &amp;nbsp; 길이(-1)가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02006 &amp;nbsp; &amp;nbsp; 팩형 10진 형식 스트링이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02007 &amp;nbsp; &amp;nbsp; allocate 또는 deallocate 옵션을 rebuild와 같이 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02008 &amp;nbsp; &amp;nbsp; 숫자가 아닌 열에 대하여 0 이외의 스케일이 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02009 &amp;nbsp; &amp;nbsp; 화일에 지정된 크기는 0이 아니어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02010 &amp;nbsp; &amp;nbsp; 호스트 연결 스트링을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02011 &amp;nbsp; &amp;nbsp; 데이타베이스 링크명이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02012 &amp;nbsp; &amp;nbsp; 키워드 using 을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02013 &amp;nbsp; &amp;nbsp; 키워드 connect 를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02014 &amp;nbsp; &amp;nbsp; for update 구를 사용해서 선택할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02015 &amp;nbsp; &amp;nbsp; 원격 테이블에 대하여 for update 구는 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02016 &amp;nbsp; &amp;nbsp; 원격 데이타베이스에서는 start with 로 부속 질의를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02017 &amp;nbsp; &amp;nbsp; 정수 값을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02018 &amp;nbsp; &amp;nbsp; 같은 이름의 데이타베이스 링크가 개방, 연결되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02019 &amp;nbsp; &amp;nbsp; 원격 데이타베이스를 찾을 수 없을때 기술적으로 연결하십시오&lt;/p&gt;&lt;p&gt;ora-02020 &amp;nbsp; &amp;nbsp; 너무 많은 데이타베이스 링크들이 사용되고 있습니다.&lt;/p&gt;&lt;p&gt;ora-02021 &amp;nbsp; &amp;nbsp; 원격 데이타베이스에 ddl 조작들이 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02022 &amp;nbsp; &amp;nbsp; 원격 문장이 원격 개체를 갖는 최적화 되지않을 뷰를 사용합니다.&lt;/p&gt;&lt;p&gt;ora-02023 &amp;nbsp; &amp;nbsp; 원격 데이타베이스는 start with, connect by 술어를 평가할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02024 &amp;nbsp; &amp;nbsp; 데이타 링크를 찾을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02025 &amp;nbsp; &amp;nbsp; sql 문장에 있는 모든 테이블은 원격 데이타베이스에 있어야만 합니다.&lt;/p&gt;&lt;p&gt;ora-02026 &amp;nbsp; &amp;nbsp; 키워드 link 를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02027 &amp;nbsp; &amp;nbsp; long 열은 복수 행의 갱신이 불가능합니다.&lt;/p&gt;&lt;p&gt;ora-02028 &amp;nbsp; &amp;nbsp; 정확한 행의 번호를 인출 하는것이 지원되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02029 &amp;nbsp; &amp;nbsp; 키워드 file 을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02030 &amp;nbsp; &amp;nbsp; 고정 테이블/고정 뷰에서는 선택만 가능합니다.&lt;/p&gt;&lt;p&gt;ora-02031 &amp;nbsp; &amp;nbsp; 고정 테이블에 대하여 rowid 를 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02032 &amp;nbsp; &amp;nbsp; 클러스터 색인의 작성 이전에 클러스터 테이블을 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02033 &amp;nbsp; &amp;nbsp; 이미 클러스터 색인이 존재하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-02034 &amp;nbsp; &amp;nbsp; 스피드 바인드가 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02035 &amp;nbsp; &amp;nbsp; 부당한 작업묶음의 조합입니다.&lt;/p&gt;&lt;p&gt;ora-02036 &amp;nbsp; &amp;nbsp; 자동커서 개방시 묘사할 변수가 너무 많습니다.&lt;/p&gt;&lt;p&gt;ora-02037 &amp;nbsp; &amp;nbsp; 초기화되지 않은 스피드 바인드 영역&lt;/p&gt;&lt;p&gt;ora-02038 &amp;nbsp; &amp;nbsp; 배열 유형에 정의가 허용되지 않습니다&amp;nbsp;&lt;/p&gt;&lt;p&gt;ora-02039 &amp;nbsp; &amp;nbsp; 배열 유형에 값으로 바인드는 허용되지 않습니다&amp;nbsp;&lt;/p&gt;&lt;p&gt;ora-02040 &amp;nbsp; &amp;nbsp; 원격 데이타베이스는 %s는 두단계 커밋을 지원하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02041 &amp;nbsp; &amp;nbsp; 클라이언트 데이타베이스는 트랜잭션을 시작하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02042 &amp;nbsp; &amp;nbsp; 너무 많은 분산 트랜잭션들&lt;/p&gt;&lt;p&gt;ora-02043 &amp;nbsp; &amp;nbsp; %s를 실행하기 전에 현재 트랜잭션을 끝내야 합니다.&lt;/p&gt;&lt;p&gt;ora-02044 &amp;nbsp; &amp;nbsp; 트랜잭션 관리자 로그인이 거부되었음: 트랜잭션이 진행중입니다.&lt;/p&gt;&lt;p&gt;ora-02045 &amp;nbsp; &amp;nbsp; 글로벌 트랜잭션에 관여한 로컬 세션이 너무 많습니다.&lt;/p&gt;&lt;p&gt;ora-02046 &amp;nbsp; &amp;nbsp; 분산 트랜잭션이 이미 시작되었습니다.&lt;/p&gt;&lt;p&gt;ora-02047 &amp;nbsp; &amp;nbsp; 진행 중에 분산 트랜잭션을 결합할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02048 &amp;nbsp; &amp;nbsp; 로그잉하지 않고 분산 트랜잭션을 시작하려 했습니다.&lt;/p&gt;&lt;p&gt;ora-02049 &amp;nbsp; &amp;nbsp; 시간초과: 분산 트랜잭션이 잠금으로 대기중 입니다.&lt;/p&gt;&lt;p&gt;ora-02050 &amp;nbsp; &amp;nbsp; 트랜잭션 %s가 롤백되고, 다른 원격 db는 불명료한 상태입니다.&lt;/p&gt;&lt;p&gt;ora-02051 &amp;nbsp; &amp;nbsp; 동일 트랜잭션내에 다른 세션이 실패했습다.&lt;/p&gt;&lt;p&gt;ora-02052 &amp;nbsp; &amp;nbsp; 원격 트랜잭션이 %s에서 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02053 &amp;nbsp; &amp;nbsp; 트랜잭션 %s가 커밋되고, 다른 원격 db는 불명료한 상태입니다.&lt;/p&gt;&lt;p&gt;ora-02054 &amp;nbsp; &amp;nbsp; 트랜잭션 %s이 불명료한 상태입니다.&lt;/p&gt;&lt;p&gt;ora-02055 &amp;nbsp; &amp;nbsp; 분산 수정 작업이 실패했음; 롤백이 요구됩니다.&lt;/p&gt;&lt;p&gt;ora-02056 &amp;nbsp; &amp;nbsp; 2pc: %s: 잘못된 두 단계 명령어 번호 %s(%s로 부터의)&lt;/p&gt;&lt;p&gt;ora-02057 &amp;nbsp; &amp;nbsp; 2pc: %s: 잘못된 두 단계 복구상태 번호 %s(%s로 부터의)&lt;/p&gt;&lt;p&gt;ora-02058 &amp;nbsp; &amp;nbsp; id %s를 가지는 준비된 트랜잭션이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02059 &amp;nbsp; &amp;nbsp; 커밋 코맨트의 ora-2pc-crash-test-%s&lt;/p&gt;&lt;p&gt;ora-02060 &amp;nbsp; &amp;nbsp; select for update문에 분산 테이블에 대한 결합이 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02061 &amp;nbsp; &amp;nbsp; select for update에 분산 테이블 목록이 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02062 &amp;nbsp; &amp;nbsp; 분산 복구가 dbid %s를 받았습니다(%s가 기대되었으나)&lt;/p&gt;&lt;p&gt;ora-02063 &amp;nbsp; &amp;nbsp; %s%s가 선행됨 (%s%s로 부터)&lt;/p&gt;&lt;p&gt;ora-02064 &amp;nbsp; &amp;nbsp; 분산 작업이 지원되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02065 &amp;nbsp; &amp;nbsp; alter system에 대한 부당한 옵션&lt;/p&gt;&lt;p&gt;ora-02066 &amp;nbsp; &amp;nbsp; 누락 혹은 부당한 mts_dispatchers 텍스트&lt;/p&gt;&lt;p&gt;ora-02067 &amp;nbsp; &amp;nbsp; 트랜잭션 혹은 세이브포인트 롤백이 요구됩니다.&lt;/p&gt;&lt;p&gt;ora-02068 &amp;nbsp; &amp;nbsp; %s%s로 부터의 다음의 치명적인 오류가 있습니다.&lt;/p&gt;&lt;p&gt;ora-02069 &amp;nbsp; &amp;nbsp; global_names 파라미터는 이 작업에 true라고 설정해야만 합니다.&lt;/p&gt;&lt;p&gt;ora-02070 &amp;nbsp; &amp;nbsp; 데이타베이스 %s%s는 이문맥에서 %s를 지원하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02071 &amp;nbsp; &amp;nbsp; 원격 데이타베이스 %s에 대한 능력을 초기화시 오류&lt;/p&gt;&lt;p&gt;ora-02072 &amp;nbsp; &amp;nbsp; 분산 데이타베이스의 네트워크 프로토콜이서로 맞지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02073 &amp;nbsp; &amp;nbsp; 원격 수정에서는 시퀀스번호가 지원되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02074 &amp;nbsp; &amp;nbsp; 분산 트랜잭션에 %s을 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02075 &amp;nbsp; &amp;nbsp; 사용되지 않는 오류입니다.&lt;/p&gt;&lt;p&gt;ora-02076 &amp;nbsp; &amp;nbsp; 수정된 테이블이나 long 열의 시퀀스가 동일한 노드에 있어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02077 &amp;nbsp; &amp;nbsp; select문에서 long 열의 값을 가지고 올때는 동일한 노드에 있어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02078 &amp;nbsp; &amp;nbsp; alter system fixed_date에 대한 지정이 잘못됐습니다.&lt;/p&gt;&lt;p&gt;ora-02079 &amp;nbsp; &amp;nbsp; 새로운 세션이 분산 트랜잭션의 커밋에 동참할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-02080 &amp;nbsp; &amp;nbsp; 데이타베이스 링크가 사용중입니다.&lt;/p&gt;&lt;p&gt;ora-02081 &amp;nbsp; &amp;nbsp; 데이타베이스 링크가 열려있지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02082 &amp;nbsp; &amp;nbsp; 루프백(loopback) 데이타베이스 링크는 연결 수식어를 가져야합니다.&lt;/p&gt;&lt;p&gt;ora-02083 &amp;nbsp; &amp;nbsp; 데이타베이스명에 부적절한 문자 %s가 있습니다.&lt;/p&gt;&lt;p&gt;ora-02084 &amp;nbsp; &amp;nbsp; 데이타베이스명에 요소가 누락되었습니다.&lt;/p&gt;&lt;p&gt;ora-02085 &amp;nbsp; &amp;nbsp; 데이타베이스 링크 %s가 %s에 연결됩니다.&lt;/p&gt;&lt;p&gt;ora-02086 &amp;nbsp; &amp;nbsp; 데이타베이스 (링크)명이 너무깁니다.&lt;/p&gt;&lt;p&gt;ora-02087 &amp;nbsp; &amp;nbsp; 동일 트랜잭션내의 다른 프로세스에 의해 개체가 잠금 되었습니다.&lt;/p&gt;&lt;p&gt;ora-02088 &amp;nbsp; &amp;nbsp; 분산 데이타베이스 옵션이 설치되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02089 &amp;nbsp; &amp;nbsp; 종속 세션에서는 commit이 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02090 &amp;nbsp; &amp;nbsp; 네트워크 오류: callback+passthru&lt;/p&gt;&lt;p&gt;ora-02091 &amp;nbsp; &amp;nbsp; 트랜잭션이 롤백되었습니다.&lt;/p&gt;&lt;p&gt;ora-02092 &amp;nbsp; &amp;nbsp; 분산 트랜잭션에 대한 트랜잭션 테이블 슬롯이 부족합니다.&lt;/p&gt;&lt;p&gt;ora-02093 &amp;nbsp; &amp;nbsp; transactions_per_rollback_segment(%s)가 가능한 최대치(%s) 보다 많습니다.&lt;/p&gt;&lt;p&gt;ora-02094 &amp;nbsp; &amp;nbsp; 중복 옵션이 설치되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02095 &amp;nbsp; &amp;nbsp; 지정된 초기화 파라미터를 수정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02096 &amp;nbsp; &amp;nbsp; 지정된 초기화 파라미터는 이 옵션으로 수정가능하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02098 &amp;nbsp; &amp;nbsp; 색인-테이블 참조 (:i)를 파싱하는데 오류&lt;/p&gt;&lt;p&gt;ora-02099 &amp;nbsp; &amp;nbsp; 내부 목적으로 사용됨, 출력되지 않아야 합니다.&lt;/p&gt;&lt;p&gt;ora-02100 &amp;nbsp; &amp;nbsp; pcc: 메모리 부족 (할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02101 &amp;nbsp; &amp;nbsp; pcc: 일치하지 않는 커서 캐쉬(uce/cuc 불일치)&lt;/p&gt;&lt;p&gt;ora-02102 &amp;nbsp; &amp;nbsp; pcc: 일치하지 않는 커서 캐쉬(이 uce에 대한 cuc 엔트리가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02103 &amp;nbsp; &amp;nbsp; pcc: 일치하지 않는 커서 캐쉬(cuc 참조가 범위를 벗어남)&lt;/p&gt;&lt;p&gt;ora-02104 &amp;nbsp; &amp;nbsp; pcc: 일치하지 않는 호스트 캐쉬(사용가능한 cuc가 없습니다)&lt;/p&gt;&lt;p&gt;ora-02105 &amp;nbsp; &amp;nbsp; pcc: 일치하지 않는 커서 캐쉬(캐쉬내에 cuc 엔트리가 없습니다)&lt;/p&gt;&lt;p&gt;ora-02106 &amp;nbsp; &amp;nbsp; pcc: 일치하지 않는 커서 캐쉬(oracursor nr이 잘못됐습니다)&lt;/p&gt;&lt;p&gt;ora-02107 &amp;nbsp; &amp;nbsp; pcc: 프로그램이 수행시 라이브러리에 대해 너무 오래됨: 다시 pcc하십시오&lt;/p&gt;&lt;p&gt;ora-02108 &amp;nbsp; &amp;nbsp; pcc: 수행시 라이브러리에 유효하지않은 디스크립터가 넘겨졌습니다.&lt;/p&gt;&lt;p&gt;ora-02109 &amp;nbsp; &amp;nbsp; pcc: 일치하지 않는 호스트 캐쉬(sit 참조가 범위를 벗어남)&lt;/p&gt;&lt;p&gt;ora-02110 &amp;nbsp; &amp;nbsp; pcc: 일치하지 않는 호스트 캐쉬(유효하지 않은 sqi 유형)&lt;/p&gt;&lt;p&gt;ora-02111 &amp;nbsp; &amp;nbsp; pcc: 힙 일관성 오류&lt;/p&gt;&lt;p&gt;ora-02112 &amp;nbsp; &amp;nbsp; pcc: select..into가 너무 많은 행을 리턴합니다.&lt;/p&gt;&lt;p&gt;ora-02140 &amp;nbsp; &amp;nbsp; 테이블스페이스 이름이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02141 &amp;nbsp; &amp;nbsp; offline 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02142 &amp;nbsp; &amp;nbsp; 적절한 alter tablespace 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02143 &amp;nbsp; &amp;nbsp; storage 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02144 &amp;nbsp; &amp;nbsp; 적절한 alter cluster 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02145 &amp;nbsp; &amp;nbsp; storage 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02146 &amp;nbsp; &amp;nbsp; shared 옵션이 복수 회 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02147 &amp;nbsp; &amp;nbsp; shared 와 exclusive 는 혼용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02148 &amp;nbsp; &amp;nbsp; exclusive 옵션이 복수 회 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02155 &amp;nbsp; &amp;nbsp; default 테이블 영역 식별자가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02156 &amp;nbsp; &amp;nbsp; temporary의 테이블 영역 식별자가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02157 &amp;nbsp; &amp;nbsp; alter user 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02158 &amp;nbsp; &amp;nbsp; create index 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02159 &amp;nbsp; &amp;nbsp; 설치된 dlm은 릴리즈가능한 잠금 모드를 지원하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02161 &amp;nbsp; &amp;nbsp; maxlogfiles에 대한 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02162 &amp;nbsp; &amp;nbsp; maxdatafiles에 대한 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02163 &amp;nbsp; &amp;nbsp; freelist groups에 대한 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02164 &amp;nbsp; &amp;nbsp; datafile 구가 2개 이상 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02165 &amp;nbsp; &amp;nbsp; create database 옵션의 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02166 &amp;nbsp; &amp;nbsp; archivelog 와 noarchivelog 가 함께 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02167 &amp;nbsp; &amp;nbsp; logfile 구가 2 회 이상 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02168 &amp;nbsp; &amp;nbsp; freelists에 대한 부당한 값&lt;/p&gt;&lt;p&gt;ora-02169 &amp;nbsp; &amp;nbsp; freelists 저장영역 옵션은 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02170 &amp;nbsp; &amp;nbsp; freelist groups 저장영역 옵션은 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02171 &amp;nbsp; &amp;nbsp; maxloghistory에 대한 부당한 값&lt;/p&gt;&lt;p&gt;ora-02172 &amp;nbsp; &amp;nbsp; 사용불가 쓰레드에 대한 public 키워드는 적합하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02173 &amp;nbsp; &amp;nbsp; drop tablespace 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02174 &amp;nbsp; &amp;nbsp; 요구되는 쓰레드 번호의 누락&lt;/p&gt;&lt;p&gt;ora-02175 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02176 &amp;nbsp; &amp;nbsp; create rollback segment 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02177 &amp;nbsp; &amp;nbsp; 요구되는 그룹 번호의 누락&lt;/p&gt;&lt;p&gt;ora-02178 &amp;nbsp; &amp;nbsp; 올바른 구문 : set transaction read { only | write }&lt;/p&gt;&lt;p&gt;ora-02179 &amp;nbsp; &amp;nbsp; 적당한 옵션: isolation level { serializable | read committed }&lt;/p&gt;&lt;p&gt;ora-02180 &amp;nbsp; &amp;nbsp; create tablespace 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02181 &amp;nbsp; &amp;nbsp; rollback work 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02182 &amp;nbsp; &amp;nbsp; 세이브포인트명을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02183 &amp;nbsp; &amp;nbsp; 적당한 옵션: isolation_level { serializable | read committed }&lt;/p&gt;&lt;p&gt;ora-02184 &amp;nbsp; &amp;nbsp; revoke 에서는 자원의 할당량을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02185 &amp;nbsp; &amp;nbsp; commit 뒤에 work 이외의 토큰이 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02186 &amp;nbsp; &amp;nbsp; 테이블 영역의 자원 권한은 다른 권한과 동시에 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02187 &amp;nbsp; &amp;nbsp; 할당량의 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02189 &amp;nbsp; &amp;nbsp; on 가 필요합니다.&lt;/p&gt;&lt;p&gt;ora-02190 &amp;nbsp; &amp;nbsp; 키워드 tables를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02191 &amp;nbsp; &amp;nbsp; 올바른 구문: set transaction use rollback segment&amp;nbsp;&lt;/p&gt;&lt;p&gt;ora-02192 &amp;nbsp; &amp;nbsp; pctincrease는 롤백 세그먼트 영역절에서는 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02194 &amp;nbsp; &amp;nbsp; 이벤트 지정 구문 오류 %s (중요치 않은 오류 %s), %s 부근에&lt;/p&gt;&lt;p&gt;ora-02195 &amp;nbsp; &amp;nbsp; %s 개체를 %s 테이블스페이스에서 만들도록 시도합니다.&lt;/p&gt;&lt;p&gt;ora-02196 &amp;nbsp; &amp;nbsp; permanent/temporary 옵션이 이미 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02197 &amp;nbsp; &amp;nbsp; 화일 리스트가 이미 지정되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02198 &amp;nbsp; &amp;nbsp; online/offline 옵션이 이미 지정되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02199 &amp;nbsp; &amp;nbsp; datafile 구를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02200 &amp;nbsp; &amp;nbsp; with grant option 은 public 에 대하여 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02201 &amp;nbsp; &amp;nbsp; 시퀀스를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02202 &amp;nbsp; &amp;nbsp; 클러스터에서는 더이상의 테이블을 작성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02203 &amp;nbsp; &amp;nbsp; initial 영역 옵션은 허가되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02204 &amp;nbsp; &amp;nbsp; alter, index, references 그리고 execute는 뷰에서 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02205 &amp;nbsp; &amp;nbsp; select 와 alter 권한만이 시퀀스에 대하여 사용할 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-02206 &amp;nbsp; &amp;nbsp; initrans 옵션 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02207 &amp;nbsp; &amp;nbsp; initrans 옵션의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02208 &amp;nbsp; &amp;nbsp; maxtrans 옵션 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02209 &amp;nbsp; &amp;nbsp; maxtrans 옵션의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02210 &amp;nbsp; &amp;nbsp; alter table 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02211 &amp;nbsp; &amp;nbsp; pctfree 또는 pctused 에 대한 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02212 &amp;nbsp; &amp;nbsp; pctfree 옵션 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02213 &amp;nbsp; &amp;nbsp; pctused 옵션 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02214 &amp;nbsp; &amp;nbsp; backup 옵션 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02215 &amp;nbsp; &amp;nbsp; tablespace 구가 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02216 &amp;nbsp; &amp;nbsp; 테이블 영역명을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02217 &amp;nbsp; &amp;nbsp; 기억 영역(storage) 옵션 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02218 &amp;nbsp; &amp;nbsp; initial 옵션의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02219 &amp;nbsp; &amp;nbsp; next 옵션의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02220 &amp;nbsp; &amp;nbsp; minextents 옵션의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02221 &amp;nbsp; &amp;nbsp; maxextents 옵션의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02222 &amp;nbsp; &amp;nbsp; pctincrease 옵션의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02223 &amp;nbsp; &amp;nbsp; 부당한 optimal 저장 영역 옵션값&lt;/p&gt;&lt;p&gt;ora-02224 &amp;nbsp; &amp;nbsp; execute 권한은 테이블에 대해서는 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02225 &amp;nbsp; &amp;nbsp; 프로시저에 대해서는 execute 권한만이 유효합니다.&lt;/p&gt;&lt;p&gt;ora-02226 &amp;nbsp; &amp;nbsp; 부당한 maxextents값 (허용 최대치: %s)&lt;/p&gt;&lt;p&gt;ora-02227 &amp;nbsp; &amp;nbsp; 클러스터명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02228 &amp;nbsp; &amp;nbsp; size 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02229 &amp;nbsp; &amp;nbsp; size 옵션의 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02230 &amp;nbsp; &amp;nbsp; alter cluster 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02231 &amp;nbsp; &amp;nbsp; 적절한 alter database 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02232 &amp;nbsp; &amp;nbsp; mount 모드가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02233 &amp;nbsp; &amp;nbsp; close 모드가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02234 &amp;nbsp; &amp;nbsp; 이 테이블에 대한 변경은 이미 로그되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02235 &amp;nbsp; &amp;nbsp; 이 테이블은 다른 테이블에 이미 변경을 기록했습니다.&lt;/p&gt;&lt;p&gt;ora-02236 &amp;nbsp; &amp;nbsp; 화일명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02237 &amp;nbsp; &amp;nbsp; 화일 크기가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02238 &amp;nbsp; &amp;nbsp; 화일명 리스트의 화일 수가 다릅니다.&lt;/p&gt;&lt;p&gt;ora-02239 &amp;nbsp; &amp;nbsp; 이 시퀀스를 참조하는 개체가 있습니다.&lt;/p&gt;&lt;p&gt;ora-02240 &amp;nbsp; &amp;nbsp; objno 혹은 tabno에 대한 부당한 값&lt;/p&gt;&lt;p&gt;ora-02241 &amp;nbsp; &amp;nbsp; extents (file block size , ...)유형이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02242 &amp;nbsp; &amp;nbsp; alter index 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02243 &amp;nbsp; &amp;nbsp; alter index 또는 alter snapshot 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02244 &amp;nbsp; &amp;nbsp; alter rollback segment 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02245 &amp;nbsp; &amp;nbsp; 롤백 세그먼트 명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02246 &amp;nbsp; &amp;nbsp; events 의 텍스트를 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02247 &amp;nbsp; &amp;nbsp; alter session 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02248 &amp;nbsp; &amp;nbsp; alter session 옵션이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02249 &amp;nbsp; &amp;nbsp; maxlogmembers에 값이 빠졌거나 부당한 값입니다.&lt;/p&gt;&lt;p&gt;ora-02250 &amp;nbsp; &amp;nbsp; 적절한 제약명을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02251 &amp;nbsp; &amp;nbsp; 부속 질의는 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02252 &amp;nbsp; &amp;nbsp; 검사 제약 조건이 올바르지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02253 &amp;nbsp; &amp;nbsp; 제약을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02254 &amp;nbsp; &amp;nbsp; default 은 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02255 &amp;nbsp; &amp;nbsp; 못쓰게된 7.1.5&lt;/p&gt;&lt;p&gt;ora-02256 &amp;nbsp; &amp;nbsp; 참조하고 있는 열의 숫자, 유형 그리고 크기는 참조 열의 수와 일치해야 합니다.&lt;/p&gt;&lt;p&gt;ora-02257 &amp;nbsp; &amp;nbsp; 열의 최대수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-02258 &amp;nbsp; &amp;nbsp; null, not null 지정이 중복 또는 혼재되었습니다.&lt;/p&gt;&lt;p&gt;ora-02259 &amp;nbsp; &amp;nbsp; unique/primary key의 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02260 &amp;nbsp; &amp;nbsp; 테이블에는 기본 키를 1 개만 포함시킬 수 있습니다.&lt;/p&gt;&lt;p&gt;ora-02261 &amp;nbsp; &amp;nbsp; 유일 키 또는 기본 키가 이미 존재하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-02262 &amp;nbsp; &amp;nbsp; ora-%05d 발생. 열의 디폴트 값 식의 유형 검사 오류.&lt;/p&gt;&lt;p&gt;ora-02263 &amp;nbsp; &amp;nbsp; 열의 데이타 유형을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02264 &amp;nbsp; &amp;nbsp; 기존의 제약에 사용된 이름입니다.&lt;/p&gt;&lt;p&gt;ora-02265 &amp;nbsp; &amp;nbsp; 참조 열의 데이타 유형이 정의되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02266 &amp;nbsp; &amp;nbsp; 외래 키에 의해 참조되는 유일/기본 키가 테이블에 있습니다.&lt;/p&gt;&lt;p&gt;ora-02267 &amp;nbsp; &amp;nbsp; 열의 데이타 유형이 참조 열의 데이타 유형와 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02268 &amp;nbsp; &amp;nbsp; 참조 테이블에 기본 키가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02269 &amp;nbsp; &amp;nbsp; 키 열은 long 데이타 유형을 취할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02270 &amp;nbsp; &amp;nbsp; 이 열목록에 대한 유일 혹은 일차 키가 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02271 &amp;nbsp; &amp;nbsp; 제약명이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02272 &amp;nbsp; &amp;nbsp; 제약 열은 long 데이타 유형을 취할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02273 &amp;nbsp; &amp;nbsp; 유일/기본 키가 외부 키에 의해 참조되었습니다.&lt;/p&gt;&lt;p&gt;ora-02274 &amp;nbsp; &amp;nbsp; 중복된 참조 제약 지정입니다.&lt;/p&gt;&lt;p&gt;ora-02275 &amp;nbsp; &amp;nbsp; 참조 제약이 이미 테이블에 존재합니다.&lt;/p&gt;&lt;p&gt;ora-02276 &amp;nbsp; &amp;nbsp; 디폴트 유형이 열의 유형과 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02277 &amp;nbsp; &amp;nbsp; 시퀀스명이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02278 &amp;nbsp; &amp;nbsp; maxvalue/nomaxvalue 지정이 중복 또는 혼재되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02279 &amp;nbsp; &amp;nbsp; minvalue/nominvalue 지정이 중복 또는 혼재되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02280 &amp;nbsp; &amp;nbsp; cycle/nocycle 지정이 중복 또는 혼재되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02281 &amp;nbsp; &amp;nbsp; cache/nocache 지정이 중복 또는 혼재되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02282 &amp;nbsp; &amp;nbsp; order/noorder 지정이 중복 또는 혼재되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-02283 &amp;nbsp; &amp;nbsp; 개시 시퀀스 번호는 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02284 &amp;nbsp; &amp;nbsp; increment by 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02285 &amp;nbsp; &amp;nbsp; start with 지정이 중복되었습니다.&lt;/p&gt;&lt;p&gt;ora-02286 &amp;nbsp; &amp;nbsp; alter sequence 옵션을 지정해 주십시오&lt;/p&gt;&lt;p&gt;ora-02287 &amp;nbsp; &amp;nbsp; 시퀀스 번호는 이 위치에 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02288 &amp;nbsp; &amp;nbsp; open 모드가 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02289 &amp;nbsp; &amp;nbsp; 시퀀스가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02290 &amp;nbsp; &amp;nbsp; 체크 제약조건(%s.%s)이 위배되었습니다.&lt;/p&gt;&lt;p&gt;ora-02291 &amp;nbsp; &amp;nbsp; 무결성 제약조건(%s.%s)이 위배되었습니다- 부모 키가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02292 &amp;nbsp; &amp;nbsp; 무결성 제약조건(%s.%s)이 위배되었습니다- 자식 레코드가 발견되었습니다.&lt;/p&gt;&lt;p&gt;ora-02293 &amp;nbsp; &amp;nbsp; (%s.%s)를 사용가능하게 할 수 없습니다 - 잘못된 제약을 점검&lt;/p&gt;&lt;p&gt;ora-02294 &amp;nbsp; &amp;nbsp; 참조 제약을 추가할 수 없음 - 부모 키가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02295 &amp;nbsp; &amp;nbsp; 제약에 대한 하나 이상의 사용가능/사용불가 절이 있습니다.&lt;/p&gt;&lt;p&gt;ora-02296 &amp;nbsp; &amp;nbsp; 제약 (%s.%s)을 사용가능하게 할 수 없음 - 부합하는 값이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02297 &amp;nbsp; &amp;nbsp; 제약 (%s.%s)을 사용불가하게 할 수 없음 - 종속관계가 있습니다.&lt;/p&gt;&lt;p&gt;ora-02298 &amp;nbsp; &amp;nbsp; 제약 (%s.%s)을 사용가능하게 할 수 없음 - 부모 키가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02299 &amp;nbsp; &amp;nbsp; 제약 (%s.%s)을 사용가능하게 할 수 없음 - 중복 키가 있습니다.&lt;/p&gt;&lt;p&gt;ora-02351 &amp;nbsp; &amp;nbsp; 레코드 %s: 거부되었습니다- 테이블 %s, 열 %s에서 오류&lt;/p&gt;&lt;p&gt;ora-02352 &amp;nbsp; &amp;nbsp; 직접 패스 연결은 동기종 간에만 가능합니다.&lt;/p&gt;&lt;p&gt;ora-02353 &amp;nbsp; &amp;nbsp; 복수 자리의 문자 오류&lt;/p&gt;&lt;p&gt;ora-02354 &amp;nbsp; &amp;nbsp; 필드 %s에 대한 초기치를 위한 변환 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-02355 &amp;nbsp; &amp;nbsp; constant 필드 %s에 변환 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-02356 &amp;nbsp; &amp;nbsp; 데이타베이스에 더 이상 영역이 없음 - 로드를 계속할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02357 &amp;nbsp; &amp;nbsp; 팩형 십진수 변환 오류&lt;/p&gt;&lt;p&gt;ora-02358 &amp;nbsp; &amp;nbsp; 존 십진수 변환 오류&lt;/p&gt;&lt;p&gt;ora-02359 &amp;nbsp; &amp;nbsp; 데이타 화일의 필드가 지정된 길이를 초과합니다.&lt;/p&gt;&lt;p&gt;ora-02360 &amp;nbsp; &amp;nbsp; 논리 레코드의 끝 이전에 열을 찾을 수 없습니다 (trailing nullcols사용)&lt;/p&gt;&lt;p&gt;ora-02361 &amp;nbsp; &amp;nbsp; 최초 인클로징 문자를 찾을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02362 &amp;nbsp; &amp;nbsp; 논리 레코드의 끝 - 두번째 인클로징 문자가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02363 &amp;nbsp; &amp;nbsp; terminated 와 enclosed 가 지정된 필드에 종료 문자가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02364 &amp;nbsp; &amp;nbsp; %s 레코드가 디스카드됨 - 모든 when 구의 조건을 만족하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02365 &amp;nbsp; &amp;nbsp; %s 색인이 로드되지 못함&lt;/p&gt;&lt;p&gt;ora-02366 &amp;nbsp; &amp;nbsp; %s 테이블의 다음 색인이 처리되었습니다.&lt;/p&gt;&lt;p&gt;ora-02367 &amp;nbsp; &amp;nbsp; %s 색인이 로드되었습니다.&lt;/p&gt;&lt;p&gt;ora-02368 &amp;nbsp; &amp;nbsp; %s 레코드가 디스카드됨 - 모든 열이 널입니다.&lt;/p&gt;&lt;p&gt;ora-02369 &amp;nbsp; &amp;nbsp; 경고 : 가변길이 필드가 잘렸습니다.&lt;/p&gt;&lt;p&gt;ora-02370 &amp;nbsp; &amp;nbsp; %s 레코드 - %s 테이블의 %s 열에 경고 발생&lt;/p&gt;&lt;p&gt;ora-02371 &amp;nbsp; &amp;nbsp; 직접 패스를 위해서는 로더가 %s.%s.%s.%s.%s 버전 이상 이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02372 &amp;nbsp; &amp;nbsp; 상대시작 위치 &amp;gt; 절대필드 마감 위치&lt;/p&gt;&lt;p&gt;ora-02373 &amp;nbsp; &amp;nbsp; 테이블 %s에 대한 입력 문의 구문분석시 오류&lt;/p&gt;&lt;p&gt;ora-02374 &amp;nbsp; &amp;nbsp; 읽기 버퍼 큐에 대한 더 이상의 슬롯이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02376 &amp;nbsp; &amp;nbsp; 부당한 혹은 중복된 자원&lt;/p&gt;&lt;p&gt;ora-02377 &amp;nbsp; &amp;nbsp; 자원의 부당한 한계치&lt;/p&gt;&lt;p&gt;ora-02378 &amp;nbsp; &amp;nbsp; 중복된 자원명 %s&lt;/p&gt;&lt;p&gt;ora-02379 &amp;nbsp; &amp;nbsp; 프로화일 %s이 이미 존재합니다.&lt;/p&gt;&lt;p&gt;ora-02380 &amp;nbsp; &amp;nbsp; 프로화일 %s이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02381 &amp;nbsp; &amp;nbsp; public_default 프로화일을 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02382 &amp;nbsp; &amp;nbsp; 프로화일 %s에 사용자가 할당되어 있어, cascade 없이 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02383 &amp;nbsp; &amp;nbsp; 부당한 비용요소&lt;/p&gt;&lt;p&gt;ora-02390 &amp;nbsp; &amp;nbsp; composite_limit을 초과했음, 로그오프될 것입니다.&lt;/p&gt;&lt;p&gt;ora-02391 &amp;nbsp; &amp;nbsp; 동시 sessions_per_user 한계치를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-02392 &amp;nbsp; &amp;nbsp; cpu 사용에 대한 세션 한계치를 초과했음. 로그오프될 것입니다.&lt;/p&gt;&lt;p&gt;ora-02393 &amp;nbsp; &amp;nbsp; cpu 사용에 대한 호출 한계치를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-02394 &amp;nbsp; &amp;nbsp; io 사용에 대한 세션 한계치를 초과했음. 로그오프될 것입니다.&lt;/p&gt;&lt;p&gt;ora-02395 &amp;nbsp; &amp;nbsp; io 사용에 대한 호출 한계치를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-02396 &amp;nbsp; &amp;nbsp; 최대 유휴(idle) 시간을 초과했음. 다시 연결하십시오&lt;/p&gt;&lt;p&gt;ora-02397 &amp;nbsp; &amp;nbsp; private_sga 한계치 초과, 로그오프될 것입니다.&lt;/p&gt;&lt;p&gt;ora-02398 &amp;nbsp; &amp;nbsp; 프로시저 영역 사용을 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-02399 &amp;nbsp; &amp;nbsp; 최대 연결시간을 초과했음. 로그오프될 것입니다.&lt;/p&gt;&lt;p&gt;ora-02401 &amp;nbsp; &amp;nbsp; 다른 사용자의 뷰를 explain 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02402 &amp;nbsp; &amp;nbsp; plan_table이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02403 &amp;nbsp; &amp;nbsp; 플랜 테이블이 정확한 유형이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-02404 &amp;nbsp; &amp;nbsp; 지정된 플랜 테이블이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02420 &amp;nbsp; &amp;nbsp; 스키마에 대한 권한부여 절의 누락&lt;/p&gt;&lt;p&gt;ora-02421 &amp;nbsp; &amp;nbsp; 누락 혹은 부당한 스키마 권한 식별자&lt;/p&gt;&lt;p&gt;ora-02422 &amp;nbsp; &amp;nbsp; 누락 혹은 부당한 스키마 요소&lt;/p&gt;&lt;p&gt;ora-02423 &amp;nbsp; &amp;nbsp; 스키마명이 스키마 권한 식별자와 맞지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02424 &amp;nbsp; &amp;nbsp; 잠재적인 순환 뷰 참조 혹은 불명의 참조 테이블&lt;/p&gt;&lt;p&gt;ora-02425 &amp;nbsp; &amp;nbsp; 테이블의 생성실패&lt;/p&gt;&lt;p&gt;ora-02426 &amp;nbsp; &amp;nbsp; 권한 부여 실패&lt;/p&gt;&lt;p&gt;ora-02427 &amp;nbsp; &amp;nbsp; 뷰의 생성실패&lt;/p&gt;&lt;p&gt;ora-02428 &amp;nbsp; &amp;nbsp; 외래키 참조를 추가할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02429 &amp;nbsp; &amp;nbsp; 유일/일차 키 적용을 위한 색인을 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02430 &amp;nbsp; &amp;nbsp; 제약(%s)을 가용화할 수 없음 - 그런 제약이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02431 &amp;nbsp; &amp;nbsp; 제약(%s)을 사용불가하게 할 수 없음 - 그런 제약이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02432 &amp;nbsp; &amp;nbsp; 일차키를 사용가능하게 할 수 없음 - 테이블에 일차키가 정의되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02433 &amp;nbsp; &amp;nbsp; 일차키를 사용불가하게 수 없음 - 테이블에 일차키가 정의되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02434 &amp;nbsp; &amp;nbsp; 유일성(%s)을 사용가능하게 할 수 없음 - 테이블에 일차키가 정의되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02435 &amp;nbsp; &amp;nbsp; 유일성(%s)을 사용불가하게 수 없음 - 테이블에 일차키가 정의되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02436 &amp;nbsp; &amp;nbsp; check 제약에 날짜 또는 시스템 변수가 잘못 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02437 &amp;nbsp; &amp;nbsp; (%s.%s)를 사용가능하게 할 수 없습니다 - 잘못된 기본 키입니다.&lt;/p&gt;&lt;p&gt;ora-02438 &amp;nbsp; &amp;nbsp; 열 검사제약은 다른 열을 참조할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02439 &amp;nbsp; &amp;nbsp; 유일/일차 키 제약상에 유일하지 않은 색인이 있습니다.&lt;/p&gt;&lt;p&gt;ora-02440 &amp;nbsp; &amp;nbsp; 참조 제약과 함께 create as select는 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02441 &amp;nbsp; &amp;nbsp; 존재하지 않는 일차 키를 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02442 &amp;nbsp; &amp;nbsp; 존재하지 않는 유일 키를 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02443 &amp;nbsp; &amp;nbsp; 존재하지 않는 제약 - 삭제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02444 &amp;nbsp; &amp;nbsp; 참조 제약에서만 기본 테이블을 참조할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02445 &amp;nbsp; &amp;nbsp; 예외 테이블이 없습니다.&lt;/p&gt;&lt;p&gt;ora-02446 &amp;nbsp; &amp;nbsp; create table ... as select 실패 - 제약 위반 점검&lt;/p&gt;&lt;p&gt;ora-02450 &amp;nbsp; &amp;nbsp; 부당한 해쉬 옵션 - 키워드 is 누락&lt;/p&gt;&lt;p&gt;ora-02451 &amp;nbsp; &amp;nbsp; hashkeys의 중복지정&lt;/p&gt;&lt;p&gt;ora-02452 &amp;nbsp; &amp;nbsp; 부당한 hashkeys 옵션값&lt;/p&gt;&lt;p&gt;ora-02453 &amp;nbsp; &amp;nbsp; hash is의 중복 지정&lt;/p&gt;&lt;p&gt;ora-02454 &amp;nbsp; &amp;nbsp; 블록(%s)당 해쉬 키의 수가 최대치 %s를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-02455 &amp;nbsp; &amp;nbsp; 클러스터키 열의 수는 1 이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02456 &amp;nbsp; &amp;nbsp; 열 지정 hash is는 number(*,0)이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02457 &amp;nbsp; &amp;nbsp; hash is 옵션에 정당한 열을 지정하여야 합니다.&lt;/p&gt;&lt;p&gt;ora-02458 &amp;nbsp; &amp;nbsp; hash cluster에 대하여 hashkeys가 지정되어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02459 &amp;nbsp; &amp;nbsp; 해쉬 키 값은 양의 정수이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-02460 &amp;nbsp; &amp;nbsp; 해쉬 클러스터에 대한 부적절한 색인 작업입니다.&lt;/p&gt;&lt;p&gt;ora-02461 &amp;nbsp; &amp;nbsp; index 옵션의 부적절한 사용입니다.&lt;/p&gt;&lt;p&gt;ora-02462 &amp;nbsp; &amp;nbsp; index 옵션의 중복지정&lt;/p&gt;&lt;p&gt;ora-02463 &amp;nbsp; &amp;nbsp; hash is 옵션의 중복지정&lt;/p&gt;&lt;p&gt;ora-02464 &amp;nbsp; &amp;nbsp; 클러스터 정의는 hash와 index 양쪽 다 일수는 없습니다.&lt;/p&gt;&lt;p&gt;ora-02465 &amp;nbsp; &amp;nbsp; hash is 옵션의 부적절한 사용&lt;/p&gt;&lt;p&gt;ora-02466 &amp;nbsp; &amp;nbsp; hash clusters를 위해 size 옵션의 변경은 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02467 &amp;nbsp; &amp;nbsp; 식에 참조된 열을 클러스터 정의에서 찾을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02468 &amp;nbsp; &amp;nbsp; 식에서 상수 또는 시스템 변수가 잘못 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02469 &amp;nbsp; &amp;nbsp; 해쉬 식은 oracle 번호를 리턴하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02470 &amp;nbsp; &amp;nbsp; to_date, userenv, 또는 sysdate가 해쉬 식에서 잘못 사용되었습니다.&lt;/p&gt;&lt;p&gt;ora-02471 &amp;nbsp; &amp;nbsp; sysdate, uid, user, rownum, 또는 level이 해쉬 식에서 잘못 사용되었습니다.&lt;/p&gt;&lt;p&gt;ora-02472 &amp;nbsp; &amp;nbsp; 해쉬 식에 pl/sql 함수를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02473 &amp;nbsp; &amp;nbsp; 클러스터 해쉬 식의 값을 구하는 동안 오류 발생&lt;/p&gt;&lt;p&gt;ora-02474 &amp;nbsp; &amp;nbsp; 고정된 해쉬 영역이 (%s) 범위를 사용했는데 허용된 (%s) 최대값을 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-02476 &amp;nbsp; &amp;nbsp; 테이블에서 병렬 직접 로드에 의해 색인을 만들수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02477 &amp;nbsp; &amp;nbsp; 개체 %s에 병렬 직접 로드를 실행할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02478 &amp;nbsp; &amp;nbsp; 기초 세그먼트에 합병하는것은 maxextents 한계을 초과하는 것입니다.&lt;/p&gt;&lt;p&gt;ora-02479 &amp;nbsp; &amp;nbsp; 병렬 로드에다 화일명을 바꾸는 중에 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-02480 &amp;nbsp; &amp;nbsp; 이벤트에 대한 너무 많은 이벤트 클래스가 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02481 &amp;nbsp; &amp;nbsp; 이벤트에 대한 너무 많은 id 범위가 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02482 &amp;nbsp; &amp;nbsp; 이벤트 클래스를 지정했으나 이벤트를 주지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02483 &amp;nbsp; &amp;nbsp; 이벤트에 대한 부당한 id 값을 지정했습니다.&lt;/p&gt;&lt;p&gt;ora-02485 &amp;nbsp; &amp;nbsp; id 값의 하한치가 상한치보다 큽니다.&lt;/p&gt;&lt;p&gt;ora-02486 &amp;nbsp; &amp;nbsp; 화일 %s에서 오류. init.ora 파라미터인 trace_dest를 확인하십시오&lt;/p&gt;&lt;p&gt;ora-02487 &amp;nbsp; &amp;nbsp; 화일명 %s을 기록시 오류. init.ora 파라미터인 trace_dest를 검사하십시오&lt;/p&gt;&lt;p&gt;ora-02489 &amp;nbsp; &amp;nbsp; trace_block_size (%s)가 %s로 나누어져야 합니다.&lt;/p&gt;&lt;p&gt;ora-02490 &amp;nbsp; &amp;nbsp; resize 절에 필요한 화일 크기가 빠졌습니다.&lt;/p&gt;&lt;p&gt;ora-02491 &amp;nbsp; &amp;nbsp; autoextend 절에 필요한 on 또는 off 키워드가 빠졌습니다.&lt;/p&gt;&lt;p&gt;ora-02492 &amp;nbsp; &amp;nbsp; next 절에 필요한 화일 블록 증가 크기가 빠졌습니다.&lt;/p&gt;&lt;p&gt;ora-02493 &amp;nbsp; &amp;nbsp; next 절의 화일 증가 크기가 부적당합니다.&lt;/p&gt;&lt;p&gt;ora-02494 &amp;nbsp; &amp;nbsp; maxsize 절의 최대 화일 크기가 부적당하거나 빠졌습니다.&lt;/p&gt;&lt;p&gt;ora-02495 &amp;nbsp; &amp;nbsp; 화일 %s의 크기를 조정할 수 없는데, 테이블스페이스 %s가 읽기전용이기 때문입니다.&lt;/p&gt;&lt;p&gt;ora-02700 &amp;nbsp; &amp;nbsp; osnoraenv: oracle_sid의 변환시 오류입니다.&lt;/p&gt;&lt;p&gt;ora-02701 &amp;nbsp; &amp;nbsp; osnoraenv: 오라클 이미지명의 변환시 오류입니다.&lt;/p&gt;&lt;p&gt;ora-02702 &amp;nbsp; &amp;nbsp; osnoraenv: orapop 이미지명의 변환시 오류입니다.&lt;/p&gt;&lt;p&gt;ora-02703 &amp;nbsp; &amp;nbsp; osnpopipe: 파이프 생성에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02704 &amp;nbsp; &amp;nbsp; osndopop: 포크에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02705 &amp;nbsp; &amp;nbsp; osnpol: 통신 채널의 폴링에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02706 &amp;nbsp; &amp;nbsp; osnshs: 호스트명이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-02707 &amp;nbsp; &amp;nbsp; osnacx: 문맥 영역을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02708 &amp;nbsp; &amp;nbsp; osnrntab: 호스트로의 연결에 실패, oracle_sid가 불명입니다.&lt;/p&gt;&lt;p&gt;ora-02709 &amp;nbsp; &amp;nbsp; osnpop: 파이프 생성에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02710 &amp;nbsp; &amp;nbsp; osnpop: 포크(fork)에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02711 &amp;nbsp; &amp;nbsp; osnpvalid: 검증 채널로의 연결에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02712 &amp;nbsp; &amp;nbsp; osnpop: malloc 실패&lt;/p&gt;&lt;p&gt;ora-02713 &amp;nbsp; &amp;nbsp; osnprd: 메세지 수신에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02714 &amp;nbsp; &amp;nbsp; osnpwr: 메세지 송신에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02715 &amp;nbsp; &amp;nbsp; osnpgetbrkmsg: 호스트로부터의 메시지가 부정확한 메시지 유형을 갖습니다.&lt;/p&gt;&lt;p&gt;ora-02716 &amp;nbsp; &amp;nbsp; osnpgetdatmsg: 호스트로부터의 메시지가 부정확한 메시지 유형을 갖습니다.&lt;/p&gt;&lt;p&gt;ora-02717 &amp;nbsp; &amp;nbsp; osnpfs: 기록된 바이트 수가 잘못되었습니다.&lt;/p&gt;&lt;p&gt;ora-02718 &amp;nbsp; &amp;nbsp; osnprs: 프로토콜 재설정 오류&lt;/p&gt;&lt;p&gt;ora-02719 &amp;nbsp; &amp;nbsp; osnfop: 포크(fork)에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02720 &amp;nbsp; &amp;nbsp; osnfop: shmat 실패&lt;/p&gt;&lt;p&gt;ora-02721 &amp;nbsp; &amp;nbsp; osnseminit: 세마포 세트를 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02722 &amp;nbsp; &amp;nbsp; osnpui: orapop에 중지메시지를 송신할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02723 &amp;nbsp; &amp;nbsp; osnpui: 중지메시지를 송신할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02724 &amp;nbsp; &amp;nbsp; osnpbr: orapop에 중지메시지를 송신할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02725 &amp;nbsp; &amp;nbsp; osnpbr: 중지메시지를 송신할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02726 &amp;nbsp; &amp;nbsp; osnpop: 오라클 수행모듈의 액세스 오류입니다.&lt;/p&gt;&lt;p&gt;ora-02727 &amp;nbsp; &amp;nbsp; osnpop: orapop 수행모듈의 액세스 오류입니다.&lt;/p&gt;&lt;p&gt;ora-02728 &amp;nbsp; &amp;nbsp; osnfop: 오라클 수행모듈의 액세스 오류입니다.&lt;/p&gt;&lt;p&gt;ora-02729 &amp;nbsp; &amp;nbsp; osncon: 드라이버가 osntab내에 없습니다.&lt;/p&gt;&lt;p&gt;ora-02730 &amp;nbsp; &amp;nbsp; osnrnf: 사용자 로그온 디렉토리가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02731 &amp;nbsp; &amp;nbsp; osnrnf: 버퍼의 malloc에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02732 &amp;nbsp; &amp;nbsp; osnrnf: 일치하는 데이타베이스 별명을 발견할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02733 &amp;nbsp; &amp;nbsp; osnsnf: 데이테베이스 스트링이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-02734 &amp;nbsp; &amp;nbsp; osnftt: 공유 메모리의 사용허가를 재설정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02735 &amp;nbsp; &amp;nbsp; osnfpm: 공유 메모리 세그먼트를 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02736 &amp;nbsp; &amp;nbsp; osnfpm: 부적절한 공유메모리 번지의 디폴트치입니다.&lt;/p&gt;&lt;p&gt;ora-02737 &amp;nbsp; &amp;nbsp; osnpcl: orapop의 종료를 명령할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02738 &amp;nbsp; &amp;nbsp; osnpwrtbrkmsg: 기록된 바이트 수가 잘못되었습니다.&lt;/p&gt;&lt;p&gt;ora-02739 &amp;nbsp; &amp;nbsp; osncon: 호스트 별명이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-02750 &amp;nbsp; &amp;nbsp; osnfsmmap: 공유메모리 화일(?/dbs/ftt_.dbf)을 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02751 &amp;nbsp; &amp;nbsp; osnfsmmap: 공유메모리 화일을 배치할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02752 &amp;nbsp; &amp;nbsp; osnfsmmap: 부당한 공유메모리 번지입니다.&lt;/p&gt;&lt;p&gt;ora-02753 &amp;nbsp; &amp;nbsp; osnfsmmap: 공유메모리 화일을 닫을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02754 &amp;nbsp; &amp;nbsp; osnfsmmap: 공유메모리의 형질을 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02755 &amp;nbsp; &amp;nbsp; osnfsmcre: 공유메모리 화일(?/dbs/ftt_.dbf)을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02756 &amp;nbsp; &amp;nbsp; osnfsmnam: 이름 변환에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02757 &amp;nbsp; &amp;nbsp; osnfop: fork_and_bind 실패&lt;/p&gt;&lt;p&gt;ora-02758 &amp;nbsp; &amp;nbsp; 내부배열의 할당에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02759 &amp;nbsp; &amp;nbsp; 요구 디스크립터가 충분하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02760 &amp;nbsp; &amp;nbsp; 클라이언트의 화일 닫기 실패&lt;/p&gt;&lt;p&gt;ora-02761 &amp;nbsp; &amp;nbsp; 취소될 화일 번호가 음수입니다.&lt;/p&gt;&lt;p&gt;ora-02762 &amp;nbsp; &amp;nbsp; 취소될 화일 번호가 최대치보다 큽니다.&lt;/p&gt;&lt;p&gt;ora-02763 &amp;nbsp; &amp;nbsp; 최소 한건의 요구도 취소할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02764 &amp;nbsp; &amp;nbsp; 부당한 패키지 모드입니다.&lt;/p&gt;&lt;p&gt;ora-02765 &amp;nbsp; &amp;nbsp; 부당한 최대 서버수입니다.&lt;/p&gt;&lt;p&gt;ora-02766 &amp;nbsp; &amp;nbsp; 요구 디스크립터의 부당한 최대치입니다.&lt;/p&gt;&lt;p&gt;ora-02767 &amp;nbsp; &amp;nbsp; 서버당 하나 이하의 요구 디스크립터가 할당되었습니다.&lt;/p&gt;&lt;p&gt;ora-02768 &amp;nbsp; &amp;nbsp; 최대 화일수가 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02769 &amp;nbsp; &amp;nbsp; sigterm에 대한 처리기 지정이 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02770 &amp;nbsp; &amp;nbsp; 전체 블록수가 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02771 &amp;nbsp; &amp;nbsp; 요구 타임아웃 값이 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02772 &amp;nbsp; &amp;nbsp; 서버의 최대 유휴 시간이 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02773 &amp;nbsp; &amp;nbsp; 클라이언트의 최대 대기시간이 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02774 &amp;nbsp; &amp;nbsp; 요구 목록 래치의 타임아웃값이 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02775 &amp;nbsp; &amp;nbsp; 요구 수행 신호가 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02776 &amp;nbsp; &amp;nbsp; 요구 수행 신호값이 최대치를 초과합니다.&lt;/p&gt;&lt;p&gt;ora-02777 &amp;nbsp; &amp;nbsp; 로그 디렉토리에 대한 stat실패&lt;/p&gt;&lt;p&gt;ora-02778 &amp;nbsp; &amp;nbsp; 로그 디렉토리에 주어진 이름이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02779 &amp;nbsp; &amp;nbsp; 코아덤프 디렉토리에 대한 stat실패&lt;/p&gt;&lt;p&gt;ora-02780 &amp;nbsp; &amp;nbsp; 코아덤프 디렉토리에 주어진 이름이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02781 &amp;nbsp; &amp;nbsp; 시간이 주어지는 플래그에 대한 값이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-02782 &amp;nbsp; &amp;nbsp; 읽기/쓰기 기능이 모두 지정되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02783 &amp;nbsp; &amp;nbsp; 포스트/대기 기능이 모두 지정되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02784 &amp;nbsp; &amp;nbsp; 부적절한 공유 메모리 id가 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-02785 &amp;nbsp; &amp;nbsp; 부적절한 공유 메모리 버퍼크기입니다.&lt;/p&gt;&lt;p&gt;ora-02786 &amp;nbsp; &amp;nbsp; 공유 영역에 필요한 크기가 세그먼트 크기보다 큽니다.&lt;/p&gt;&lt;p&gt;ora-02787 &amp;nbsp; &amp;nbsp; 세그먼트 목록에 대한 메모리를 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02788 &amp;nbsp; &amp;nbsp; async 프로세스 배열내에 커널 프로세스 포인터를 찾을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02789 &amp;nbsp; &amp;nbsp; 최대 화일 수에 도달했습니다.&lt;/p&gt;&lt;p&gt;ora-02790 &amp;nbsp; &amp;nbsp; 화일명이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-02791 &amp;nbsp; &amp;nbsp; 비동기 i/o에 사용될 화일을 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02792 &amp;nbsp; &amp;nbsp; 비동기 i/o에 사용될 화일을 fstat()할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02793 &amp;nbsp; &amp;nbsp; 비동기 i/o의 닫기 실패&lt;/p&gt;&lt;p&gt;ora-02794 &amp;nbsp; &amp;nbsp; 클라이언트가 공유메모리에 대한 키를 얻을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02795 &amp;nbsp; &amp;nbsp; 요구 목록이 비었습니다.&lt;/p&gt;&lt;p&gt;ora-02796 &amp;nbsp; &amp;nbsp; 수행된 요구가 정확한 상태에 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02797 &amp;nbsp; &amp;nbsp; 모든 요구에 응답할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02798 &amp;nbsp; &amp;nbsp; 요구 수가 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02799 &amp;nbsp; &amp;nbsp; 신호 처리기를 대비할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02800 &amp;nbsp; &amp;nbsp; 요구가 시간 경과되었습니다.&lt;/p&gt;&lt;p&gt;ora-02801 &amp;nbsp; &amp;nbsp; 작업이 시간 경과되었습니다.&lt;/p&gt;&lt;p&gt;ora-02802 &amp;nbsp; &amp;nbsp; 모든 유휴 서버를 병렬모드에서 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02803 &amp;nbsp; &amp;nbsp; 현재 시간의 추출에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02804 &amp;nbsp; &amp;nbsp; 로그 화일명에 대한 메모리 할당에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02805 &amp;nbsp; &amp;nbsp; sigtpa에 대한 처리기를 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02806 &amp;nbsp; &amp;nbsp; sigalrm에 대한 처리기를 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02807 &amp;nbsp; &amp;nbsp; i/o 벡터에 대한 메모리 할당에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02808 &amp;nbsp; &amp;nbsp; 서버가 사용하는 flag array를 위한 메모리 할당에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02809 &amp;nbsp; &amp;nbsp; jump 버퍼가 적절하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-02810 &amp;nbsp; &amp;nbsp; 메모리 맵화일에 대한 임시 화일명을 만들수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02811 &amp;nbsp; &amp;nbsp; 공유메모리 세그먼트를 첨부할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02812 &amp;nbsp; &amp;nbsp; 잘못된 첨부 번지입니다.&lt;/p&gt;&lt;p&gt;ora-02813 &amp;nbsp; &amp;nbsp; 키를 얻기위한 임시화일명을 만들수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02814 &amp;nbsp; &amp;nbsp; 공유 메모리를 얻을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02815 &amp;nbsp; &amp;nbsp; 공유 메모리를 첨부할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02816 &amp;nbsp; &amp;nbsp; 프로세스를 죽일 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02817 &amp;nbsp; &amp;nbsp; 읽기실패&lt;/p&gt;&lt;p&gt;ora-02818 &amp;nbsp; &amp;nbsp; 요구된 것보다 적은 수의 블록이 읽혀졌습니다.&lt;/p&gt;&lt;p&gt;ora-02819 &amp;nbsp; &amp;nbsp; 쓰기실패&lt;/p&gt;&lt;p&gt;ora-02820 &amp;nbsp; &amp;nbsp; 요구된 수의 블록을 기록할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02821 &amp;nbsp; &amp;nbsp; 요구된 수의 블록을 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02822 &amp;nbsp; &amp;nbsp; 부적절한 블록 오프셋&lt;/p&gt;&lt;p&gt;ora-02823 &amp;nbsp; &amp;nbsp; 버퍼가 정열되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02824 &amp;nbsp; &amp;nbsp; 가용 요구 목록이 비었습니다.&lt;/p&gt;&lt;p&gt;ora-02825 &amp;nbsp; &amp;nbsp; 자유롭게 선택할 수 있는 목록에 대한 요구가 해제되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02826 &amp;nbsp; &amp;nbsp; 부적절한 블록크기 입니다.&lt;/p&gt;&lt;p&gt;ora-02827 &amp;nbsp; &amp;nbsp; 부당한 화일번호입니다.&lt;/p&gt;&lt;p&gt;ora-02828 &amp;nbsp; &amp;nbsp; 가용 세그먼트 목록이 비었습니다.&lt;/p&gt;&lt;p&gt;ora-02829 &amp;nbsp; &amp;nbsp; 적절한 크기의 세그먼트가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02830 &amp;nbsp; &amp;nbsp; 세그먼트는 파티션될 수 없음 - 가용 세그먼트가 없습니다.&lt;/p&gt;&lt;p&gt;ora-02831 &amp;nbsp; &amp;nbsp; 세그먼트 할당해제 실패 - 세그먼트 목록이 비었습니다.&lt;/p&gt;&lt;p&gt;ora-02832 &amp;nbsp; &amp;nbsp; 세그먼트 할당해제 실패 - 세그먼트가 목록에 없습니다.&lt;/p&gt;&lt;p&gt;ora-02833 &amp;nbsp; &amp;nbsp; 서버가 화일을 닫을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02834 &amp;nbsp; &amp;nbsp; 서버가 화일을 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02835 &amp;nbsp; &amp;nbsp; 서버가 클라이언트에 신호을 송신할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02836 &amp;nbsp; &amp;nbsp; 임시 키 화일을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02837 &amp;nbsp; &amp;nbsp; 임시 화일을 링크 해제할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02838 &amp;nbsp; &amp;nbsp; 알람 신호를 위한 신호처리기를 대비할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02839 &amp;nbsp; &amp;nbsp; 디스크로 블록을 sync하는데 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02840 &amp;nbsp; &amp;nbsp; 클라이언트가 로그 화일을 여는데 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-02841 &amp;nbsp; &amp;nbsp; 기동시 서버가 죽었습니다.&lt;/p&gt;&lt;p&gt;ora-02842 &amp;nbsp; &amp;nbsp; 클라이언트가 서버를 포크할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-02843 &amp;nbsp; &amp;nbsp; 커널 플래그에 대한 부적절한 값입니다.&lt;/p&gt;&lt;p&gt;ora-02844 &amp;nbsp; &amp;nbsp; 열기 허가 플래그에 대한 부적절한 값입니다.&lt;/p&gt;&lt;p&gt;ora-02845 &amp;nbsp; &amp;nbsp; 시각 요구 플래그에 대한 부적절한 값입니다.&lt;/p&gt;&lt;p&gt;ora-02846 &amp;nbsp; &amp;nbsp; 중지시킬 수 없는 서버입니다.&lt;/p&gt;&lt;p&gt;ora-02847 &amp;nbsp; &amp;nbsp; 포스트시 서버가 종료되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-02848 &amp;nbsp; &amp;nbsp; 비동기 i/o 패키지가 가동중이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-02849 &amp;nbsp; &amp;nbsp; 오류로 인한 읽기 실패&lt;/p&gt;&lt;p&gt;ora-02850 &amp;nbsp; &amp;nbsp; 화일이 닫혔습니다.&lt;/p&gt;&lt;p&gt;ora-02851 &amp;nbsp; &amp;nbsp; 비어있지 않아야할 요구 목록이 비었습니다.&lt;/p&gt;&lt;p&gt;ora-02852 &amp;nbsp; &amp;nbsp; 위험 부분에 대한 부적절한 타임아웃 값입니다.&lt;/p&gt;&lt;p&gt;ora-02853 &amp;nbsp; &amp;nbsp; 서버 목록 래치 타임아웃 값이 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02854 &amp;nbsp; &amp;nbsp; 요구 버퍼의 수가 부적절합니다.&lt;/p&gt;&lt;p&gt;ora-02855 &amp;nbsp; &amp;nbsp; 요구건수가 slaves수 보다 작습니다.&lt;/p&gt;&lt;p&gt;ora-03001 &amp;nbsp; &amp;nbsp; 현재에는 구현되어 있지 않은 기능입니다.&lt;/p&gt;&lt;p&gt;ora-03002 &amp;nbsp; &amp;nbsp; 이 연산자는 구현되어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03007 &amp;nbsp; &amp;nbsp; 이 기능은 폐지되었습니다.&lt;/p&gt;&lt;p&gt;ora-03008 &amp;nbsp; &amp;nbsp; 파라미터 compatible &amp;gt;= %s 가 %s에 필요합니다.&lt;/p&gt;&lt;p&gt;ora-03100 &amp;nbsp; &amp;nbsp; 통신 영역이 할당되지 않음. 메모리가 충분하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03105 &amp;nbsp; &amp;nbsp; 내부 프로토콜 오류&lt;/p&gt;&lt;p&gt;ora-03106 &amp;nbsp; &amp;nbsp; 두 태스크 간의 통신 프로토콜 오류입니다.&lt;/p&gt;&lt;p&gt;ora-03107 &amp;nbsp; &amp;nbsp; oranet 버퍼 언더플로우입니다.&lt;/p&gt;&lt;p&gt;ora-03108 &amp;nbsp; &amp;nbsp; oranet: oracle은 이 인터페이스 버전을 지원하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03109 &amp;nbsp; &amp;nbsp; oranet 버퍼 오버플로우입니다.&lt;/p&gt;&lt;p&gt;ora-03110 &amp;nbsp; &amp;nbsp; oranet: oracle은 이 sql 버전을 지원하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03111 &amp;nbsp; &amp;nbsp; 통신 채널에서 브레이크를 수신했습니다.&lt;/p&gt;&lt;p&gt;ora-03112 &amp;nbsp; &amp;nbsp; 단일-태스크로 링크된 서버는 sql*net을 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-03113 &amp;nbsp; &amp;nbsp; 통신 채널에 eof 가 있습니다.&lt;/p&gt;&lt;p&gt;ora-03114 &amp;nbsp; &amp;nbsp; oracle에 연결되어 있지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03115 &amp;nbsp; &amp;nbsp; 지원되지 않은 네트워크 데이타 유형 또는 표현이 있습니다.&lt;/p&gt;&lt;p&gt;ora-03116 &amp;nbsp; &amp;nbsp; 부적당한 버퍼 길이가 변환 루틴으로 전달되었습니다.&lt;/p&gt;&lt;p&gt;ora-03117 &amp;nbsp; &amp;nbsp; 2-타스크 보존 영역 오버플로우&lt;/p&gt;&lt;p&gt;ora-03118 &amp;nbsp; &amp;nbsp; 2-타스크 코루틴의 상태가 부적당합니다.&lt;/p&gt;&lt;p&gt;ora-03120 &amp;nbsp; &amp;nbsp; 2-타스크 변환 루틴: 정수 오버플로우&lt;/p&gt;&lt;p&gt;ora-03121 &amp;nbsp; &amp;nbsp; 인터페이스 드라이버가 연결되어 있지 않습니다 함수는 실행되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03122 &amp;nbsp; &amp;nbsp; 사용자측에서 oracle측의 윈도우를 클로즈하려 했습니다.&lt;/p&gt;&lt;p&gt;ora-03123 &amp;nbsp; &amp;nbsp; 작업이 막힘&lt;/p&gt;&lt;p&gt;ora-03124 &amp;nbsp; &amp;nbsp; 2-타스크 내부 오류&lt;/p&gt;&lt;p&gt;ora-03125 &amp;nbsp; &amp;nbsp; 클라이언트-서버 프로토콜에 위배됩니다.&lt;/p&gt;&lt;p&gt;ora-03126 &amp;nbsp; &amp;nbsp; 네트워크 드라이버가 비-블로킹 작업을 지원하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03127 &amp;nbsp; &amp;nbsp; 실행 작업이 종료되기 전에는 새로운 작업을 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-03128 &amp;nbsp; &amp;nbsp; 연결은 블로킹 모드입니다.&lt;/p&gt;&lt;p&gt;ora-03129 &amp;nbsp; &amp;nbsp; 다음 구분이 삽입되도록 요청했습니다.&lt;/p&gt;&lt;p&gt;ora-03130 &amp;nbsp; &amp;nbsp; 다음 구분이 인출 되도록 요청한 버퍼입니다.&lt;/p&gt;&lt;p&gt;ora-03131 &amp;nbsp; &amp;nbsp; 다음 구분을 위한 버퍼가 잘못 제공되었습니다.&lt;/p&gt;&lt;p&gt;ora-03200 &amp;nbsp; &amp;nbsp; 세그먼트 유형 명세가 부적당합니다.&lt;/p&gt;&lt;p&gt;ora-03201 &amp;nbsp; &amp;nbsp; 그룹 번호 명세가 부적당합니다.&lt;/p&gt;&lt;p&gt;ora-03202 &amp;nbsp; &amp;nbsp; 스캔 한계 명세가 부적당합니다.&lt;/p&gt;&lt;p&gt;ora-03203 &amp;nbsp; &amp;nbsp; 동시 갱신은 영역 분석을 불가능하게 합니다.&lt;/p&gt;&lt;p&gt;ora-03230 &amp;nbsp; &amp;nbsp; 세그먼트는 %s 블록만을 포함하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-03231 &amp;nbsp; &amp;nbsp; initial 영역이 할당 해제되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-03274 &amp;nbsp; &amp;nbsp; allocate extent와 deallocate unused 옵션들이 지정되었습니다.&lt;/p&gt;&lt;p&gt;ora-03275 &amp;nbsp; &amp;nbsp; 이중 deallocate 옵션으로 명세&lt;/p&gt;&lt;p&gt;ora-03276 &amp;nbsp; &amp;nbsp; allocate extent의 중복지정&lt;/p&gt;&lt;p&gt;ora-03277 &amp;nbsp; &amp;nbsp; 부적절한 size의 지정&lt;/p&gt;&lt;p&gt;ora-03278 &amp;nbsp; &amp;nbsp; allocate extent 옵션의 중복지정&lt;/p&gt;&lt;p&gt;ora-03279 &amp;nbsp; &amp;nbsp; 부적절한 instance가 지정되었음&lt;/p&gt;&lt;p&gt;ora-03280 &amp;nbsp; &amp;nbsp; 부적절한 datafile 화일명의 지정&lt;/p&gt;&lt;p&gt;ora-03281 &amp;nbsp; &amp;nbsp; 부적절한 allocate extent 옵션&lt;/p&gt;&lt;p&gt;ora-03282 &amp;nbsp; &amp;nbsp; allocate extent 옵션의 누락&lt;/p&gt;&lt;p&gt;ora-03283 &amp;nbsp; &amp;nbsp; 지정된 데이타 화일 %s이 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03284 &amp;nbsp; &amp;nbsp; 데이타 화일 %s는 테이블스페이스 %s의 멤버가 아닙니다.&lt;/p&gt;&lt;p&gt;ora-03286 &amp;nbsp; &amp;nbsp; hash clusters에 대해 allocate extent가 정당하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-03287 &amp;nbsp; &amp;nbsp; 부적절한 freelist group의 지정&lt;/p&gt;&lt;p&gt;ora-03288 &amp;nbsp; &amp;nbsp; freelist group과 instance 파라미터가 함께 지정될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-03290 &amp;nbsp; &amp;nbsp; 부적절한 truncate 명령어 - cluster 혹은 table 키워드의 누락&lt;/p&gt;&lt;p&gt;ora-03291 &amp;nbsp; &amp;nbsp; 부적절한 truncate 옵션 - storage 키워드의 누락&lt;/p&gt;&lt;p&gt;ora-03292 &amp;nbsp; &amp;nbsp; 잘릴 테이블이 클러스터의 일부입니다.&lt;/p&gt;&lt;p&gt;ora-03293 &amp;nbsp; &amp;nbsp; 잘릴 클러스터는 hash cluster입니다.&lt;/p&gt;&lt;p&gt;ora-03296 &amp;nbsp; &amp;nbsp; 데이타화일의 크기를 조정할 수 없습니다 - 화일 %s 이 없습니다.&lt;/p&gt;&lt;p&gt;ora-03297 &amp;nbsp; &amp;nbsp; 요구된 resize 값보다 큰 %s 데이타 블록이 화일에 포함되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-03298 &amp;nbsp; &amp;nbsp; 데이타화일을 줄일 수 없습니다 - 화일 %s는 핫 백업중입니다.&lt;/p&gt;&lt;p&gt;ora-03299 &amp;nbsp; &amp;nbsp; 딕셔너리 테이블 %s을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04000 &amp;nbsp; &amp;nbsp; pctused 와 pctfree 의 합이 100을 초과할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04001 &amp;nbsp; &amp;nbsp; 시퀀스 파라미터 %s 는 정수라야 합니다.&lt;/p&gt;&lt;p&gt;ora-04002 &amp;nbsp; &amp;nbsp; increment 는 0이 아닌 정수라야 합니다.&lt;/p&gt;&lt;p&gt;ora-04003 &amp;nbsp; &amp;nbsp; 시퀀스 파라미터 %s가 최대 크기 허용(%s 자리)를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-04004 &amp;nbsp; &amp;nbsp; minvalue 는 maxvalue 보다 작아야 합니다.&lt;/p&gt;&lt;p&gt;ora-04005 &amp;nbsp; &amp;nbsp; increment 는 ( maxvalue - minvalue ) 보다 작아야 합니다.&lt;/p&gt;&lt;p&gt;ora-04006 &amp;nbsp; &amp;nbsp; start with 에 minvalue 보다 작은 값은 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04007 &amp;nbsp; &amp;nbsp; minvalue 에 현재치보다 큰 값을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04008 &amp;nbsp; &amp;nbsp; start with 에 maxvalue 보다 큰 값을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04009 &amp;nbsp; &amp;nbsp; maxvalue 에 현재치보다 작은 값을 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04010 &amp;nbsp; &amp;nbsp; cache 에는 1 보다 큰 수치를 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-04011 &amp;nbsp; &amp;nbsp; 시퀀스 %s 은 %s 와 %s 범위 사이어야 합니다.&lt;/p&gt;&lt;p&gt;ora-04012 &amp;nbsp; &amp;nbsp; 지정된 개체는 시퀀스가 아닙니다.&lt;/p&gt;&lt;p&gt;ora-04013 &amp;nbsp; &amp;nbsp; cache 에는 1 사이클보다 작은 값을 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-04014 &amp;nbsp; &amp;nbsp; cycle이 명시하는 minvalue가 내림차순 시퀀스입니다.&lt;/p&gt;&lt;p&gt;ora-04015 &amp;nbsp; &amp;nbsp; cycle 을 실시하는 오름차순 시퀀스에는 maxvalue 를 지정해야 합니다.&lt;/p&gt;&lt;p&gt;ora-04016 &amp;nbsp; &amp;nbsp; 시퀀스 %s 은 더 이상 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04020 &amp;nbsp; &amp;nbsp; 개체 %s%s%s%s%s의 잠금 시도중 데드록이 검출되었습니다.&lt;/p&gt;&lt;p&gt;ora-04021 &amp;nbsp; &amp;nbsp; 개체 %s%s%s%s%s의 잠금 대기중 시간이 초과됐습니다.&lt;/p&gt;&lt;p&gt;ora-04028 &amp;nbsp; &amp;nbsp; 개체 %s%s%s%s%s에 대한 diana를 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04029 &amp;nbsp; &amp;nbsp; %s%s%s를 조회하는 중에 ora-%s 오류가 발생했습니다.&lt;/p&gt;&lt;p&gt;ora-04030 &amp;nbsp; &amp;nbsp; %s바이트 (%s,%s)의 할당 시도중 프로세스 메모리의 부족현상 발생&lt;/p&gt;&lt;p&gt;ora-04031 &amp;nbsp; &amp;nbsp; %s 바이트의 공유 메모리를 할당할 수 없습니다 (%s,%s,%s)&lt;/p&gt;&lt;p&gt;ora-04041 &amp;nbsp; &amp;nbsp; 패키지 본체의 생성전에 패키지 지정이 먼저 생성되어야 합니다.&lt;/p&gt;&lt;p&gt;ora-04042 &amp;nbsp; &amp;nbsp; 프로시저,함수,패키지 혹은 패키지 본체가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04043 &amp;nbsp; &amp;nbsp; 개체 %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04044 &amp;nbsp; &amp;nbsp; 프로시저, 함수, 패키지는 이곳에서 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04045 &amp;nbsp; &amp;nbsp; %s.%s의 재 컴파일/재 검증시 오류&lt;/p&gt;&lt;p&gt;ora-04046 &amp;nbsp; &amp;nbsp; 컴파일 결과를 제공하기에는 너무 큽니다.&lt;/p&gt;&lt;p&gt;ora-04050 &amp;nbsp; &amp;nbsp; 부적절한 혹은 누락된 프로시저, 함수, 혹은 패키지명입니다.&lt;/p&gt;&lt;p&gt;ora-04051 &amp;nbsp; &amp;nbsp; 사용자 %s는 데이타베이스 링크 %s.%s를 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04052 &amp;nbsp; &amp;nbsp; 원격 개체 %s%s%s%s%s를 찾는 동안 오류발생&lt;/p&gt;&lt;p&gt;ora-04053 &amp;nbsp; &amp;nbsp; 원격 개체 %s%s%s%s%s의 검증시 오류발생&lt;/p&gt;&lt;p&gt;ora-04054 &amp;nbsp; &amp;nbsp; 데이타베이스 링크 %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04060 &amp;nbsp; &amp;nbsp; %s를 수행하기 위한 권한이 부족합니다.&lt;/p&gt;&lt;p&gt;ora-04061 &amp;nbsp; &amp;nbsp; %s의 기존상태가 무효화되었습니다.&lt;/p&gt;&lt;p&gt;ora-04062 &amp;nbsp; &amp;nbsp; %s(%s의)이 변경되었습니다.&lt;/p&gt;&lt;p&gt;ora-04063 &amp;nbsp; &amp;nbsp; %s가 오류를 가집니다.&lt;/p&gt;&lt;p&gt;ora-04064 &amp;nbsp; &amp;nbsp; 실행불가, %s가 무효화 되었습니다.&lt;/p&gt;&lt;p&gt;ora-04065 &amp;nbsp; &amp;nbsp; 실행불가, %s가 변경 혹은 삭제되었습니다.&lt;/p&gt;&lt;p&gt;ora-04066 &amp;nbsp; &amp;nbsp; 실행할수 없는 개체, %s&lt;/p&gt;&lt;p&gt;ora-04067 &amp;nbsp; &amp;nbsp; 실행불가, %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04068 &amp;nbsp; &amp;nbsp; 패키지%s%s%s의 기존 상태가 버려졌습니다.&lt;/p&gt;&lt;p&gt;ora-04070 &amp;nbsp; &amp;nbsp; 부적절한 트리거명&lt;/p&gt;&lt;p&gt;ora-04071 &amp;nbsp; &amp;nbsp; before 혹은 after 키워드의 누락&lt;/p&gt;&lt;p&gt;ora-04072 &amp;nbsp; &amp;nbsp; 부적절한 트리거유형&lt;/p&gt;&lt;p&gt;ora-04073 &amp;nbsp; &amp;nbsp; 이 트리거유형에 대해서 열 목록은 부당합니다.&lt;/p&gt;&lt;p&gt;ora-04074 &amp;nbsp; &amp;nbsp; 부적절한 referencing명&lt;/p&gt;&lt;p&gt;ora-04075 &amp;nbsp; &amp;nbsp; 부적절한 트리거동작&lt;/p&gt;&lt;p&gt;ora-04076 &amp;nbsp; &amp;nbsp; 부적절한 new 혹은 old지정&lt;/p&gt;&lt;p&gt;ora-04077 &amp;nbsp; &amp;nbsp; when절은 레이블 레벨의 트리거와 사용될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04078 &amp;nbsp; &amp;nbsp; old와 new값이 같을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04079 &amp;nbsp; &amp;nbsp; 부당한 트리거 지정&lt;/p&gt;&lt;p&gt;ora-04080 &amp;nbsp; &amp;nbsp; 트리거 %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04081 &amp;nbsp; &amp;nbsp; 트리거 %s가 이미 존재합나다.&lt;/p&gt;&lt;p&gt;ora-04082 &amp;nbsp; &amp;nbsp; 테이블 레벨 트리거에서 new 혹은 old 참조는 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04083 &amp;nbsp; &amp;nbsp; 부적절한 트리거 변수 %s&lt;/p&gt;&lt;p&gt;ora-04084 &amp;nbsp; &amp;nbsp; 행 트리거후에 트리거의 new값을 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04085 &amp;nbsp; &amp;nbsp; old 참조변수의 값을 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04086 &amp;nbsp; &amp;nbsp; 트리거 설명이 너무 깁니다 트리거 코드에 주석을 옮기십시오&lt;/p&gt;&lt;p&gt;ora-04087 &amp;nbsp; &amp;nbsp; rowid 참조 변수의 값을 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04088 &amp;nbsp; &amp;nbsp; 트리거 %s의 수행시 오류&lt;/p&gt;&lt;p&gt;ora-04089 &amp;nbsp; &amp;nbsp; sys 소유의 개체에 대한 트리거를 작성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04090 &amp;nbsp; &amp;nbsp; %s는 동일 테이블, 이벤트 그리고 트리거 시간을 %s 로 지정하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-04091 &amp;nbsp; &amp;nbsp; 테이블 %s.%s가 변화하고 있어서 트리거/함수가 이를 볼 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04092 &amp;nbsp; &amp;nbsp; 트리거 안에 %s를 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04093 &amp;nbsp; &amp;nbsp; long유형 열 참조는 트리거에서 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-04094 &amp;nbsp; &amp;nbsp; 테이블 %s.%s은 부적합함, 트리거는 그것을 수정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04095 &amp;nbsp; &amp;nbsp; 트리거 %s가 다른 테이블에 이미 존재함, 치환할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-04096 &amp;nbsp; &amp;nbsp; 트리거 %s는 when 절이 있은데 너무 큽니다 한계치가 2k.&lt;/p&gt;&lt;p&gt;ora-04097 &amp;nbsp; &amp;nbsp; 트리거 삭제 또는 수정을 시도시 ddl 대립이 생겼습니다.&lt;/p&gt;&lt;p&gt;ora-04098 &amp;nbsp; &amp;nbsp; 트리거 %s 은 부적당하고 재검증에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-04099 &amp;nbsp; &amp;nbsp; 트리거 %s 은 적당하지만 컴파일된 폼에 저장되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-06000 &amp;nbsp; &amp;nbsp; netasy: 포트 개방 실패&lt;/p&gt;&lt;p&gt;ora-06001 &amp;nbsp; &amp;nbsp; netasy: 포트 셋업 실패&lt;/p&gt;&lt;p&gt;ora-06002 &amp;nbsp; &amp;nbsp; netasy: 포트 읽기 실패&lt;/p&gt;&lt;p&gt;ora-06003 &amp;nbsp; &amp;nbsp; netasy: 포트 쓰기 실패&lt;/p&gt;&lt;p&gt;ora-06004 &amp;nbsp; &amp;nbsp; netasy: 대화 화일의 개방 실패&lt;/p&gt;&lt;p&gt;ora-06005 &amp;nbsp; &amp;nbsp; netasy: 대화 화일의 읽기 실패&lt;/p&gt;&lt;p&gt;ora-06006 &amp;nbsp; &amp;nbsp; netasy: 대화의 수행 실패&lt;/p&gt;&lt;p&gt;ora-06007 &amp;nbsp; &amp;nbsp; netasy: 잘못된 대화 유형&lt;/p&gt;&lt;p&gt;ora-06009 &amp;nbsp; &amp;nbsp; netasy: 대화 화일명이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-06010 &amp;nbsp; &amp;nbsp; netasy: 대화 화일이 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-06011 &amp;nbsp; &amp;nbsp; netasy: 대화가 너무 깁니다.&lt;/p&gt;&lt;p&gt;ora-06017 &amp;nbsp; &amp;nbsp; netasy: 메시지 수신 실패&lt;/p&gt;&lt;p&gt;ora-06018 &amp;nbsp; &amp;nbsp; netasy: 메시지 송신 실패&lt;/p&gt;&lt;p&gt;ora-06019 &amp;nbsp; &amp;nbsp; netasy: 부적절한 로그인(연결) 스트링&lt;/p&gt;&lt;p&gt;ora-06020 &amp;nbsp; &amp;nbsp; netasy: 초기화 실패&lt;/p&gt;&lt;p&gt;ora-06021 &amp;nbsp; &amp;nbsp; netasy: 연결 실패&lt;/p&gt;&lt;p&gt;ora-06022 &amp;nbsp; &amp;nbsp; netasy: 채널 개방 실패&lt;/p&gt;&lt;p&gt;ora-06023 &amp;nbsp; &amp;nbsp; netasy: 포트 개방 실패&lt;/p&gt;&lt;p&gt;ora-06024 &amp;nbsp; &amp;nbsp; netasy: vtm 오류&lt;/p&gt;&lt;p&gt;ora-06025 &amp;nbsp; &amp;nbsp; netasy: 환경설정 오류&lt;/p&gt;&lt;p&gt;ora-06026 &amp;nbsp; &amp;nbsp; netasy: 포트 close 실패&lt;/p&gt;&lt;p&gt;ora-06027 &amp;nbsp; &amp;nbsp; netasy: 채널 close 실패&lt;/p&gt;&lt;p&gt;ora-06028 &amp;nbsp; &amp;nbsp; netasy: 로그인 하기위한 초기화를 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06029 &amp;nbsp; &amp;nbsp; netasy: 포트 할당 실패&lt;/p&gt;&lt;p&gt;ora-06030 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 인식할 수 없는 노드명입니다.&lt;/p&gt;&lt;p&gt;ora-06031 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 인식할 수 없는 개체명입니다.&lt;/p&gt;&lt;p&gt;ora-06032 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 제어정보의 액세스가 거절되었습니다.&lt;/p&gt;&lt;p&gt;ora-06033 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 상대편이 연결을 거절했습니다.&lt;/p&gt;&lt;p&gt;ora-06034 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 상대편이 예기치않게 종료됐습니다.&lt;/p&gt;&lt;p&gt;ora-06035 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 불충분한 자원입니다.&lt;/p&gt;&lt;p&gt;ora-06036 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 개체로부터의 응답이 없습니다.&lt;/p&gt;&lt;p&gt;ora-06037 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 노드에 도달할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06038 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 네트워크 드라이버가 로드되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-06039 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패&lt;/p&gt;&lt;p&gt;ora-06040 &amp;nbsp; &amp;nbsp; netdnt: 부적절한 로그인 스트링입니다.&lt;/p&gt;&lt;p&gt;ora-06041 &amp;nbsp; &amp;nbsp; netdnt: 분리 실패&lt;/p&gt;&lt;p&gt;ora-06042 &amp;nbsp; &amp;nbsp; netdnt: 메시지 수신 실패&lt;/p&gt;&lt;p&gt;ora-06043 &amp;nbsp; &amp;nbsp; netdnt: 메시지 송신 실패&lt;/p&gt;&lt;p&gt;ora-06044 &amp;nbsp; &amp;nbsp; netdnt: 연결 실패, 바이트 갯수 할당량을 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-06102 &amp;nbsp; &amp;nbsp; nettcp: 문맥 영역을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06105 &amp;nbsp; &amp;nbsp; nettcp: 원격 호스트가 불명입니다.&lt;/p&gt;&lt;p&gt;ora-06106 &amp;nbsp; &amp;nbsp; nettcp: 소켓 생성 실패&lt;/p&gt;&lt;p&gt;ora-06107 &amp;nbsp; &amp;nbsp; nettcp: oracle 네트워크 서버가 없습니다.&lt;/p&gt;&lt;p&gt;ora-06108 &amp;nbsp; &amp;nbsp; nettcp: 호스트에 연결 실패&lt;/p&gt;&lt;p&gt;ora-06109 &amp;nbsp; &amp;nbsp; nettcp: 메시지 수신 실패&lt;/p&gt;&lt;p&gt;ora-06110 &amp;nbsp; &amp;nbsp; nettcp: 메시지 송신 실패&lt;/p&gt;&lt;p&gt;ora-06111 &amp;nbsp; &amp;nbsp; nettcp: 분리하는것이 실패&lt;/p&gt;&lt;p&gt;ora-06112 &amp;nbsp; &amp;nbsp; nettcp: 부적절한 버퍼크기입니다.&lt;/p&gt;&lt;p&gt;ora-06113 &amp;nbsp; &amp;nbsp; nettcp: 연결이 너무 많습니다.&lt;/p&gt;&lt;p&gt;ora-06114 &amp;nbsp; &amp;nbsp; nettcp: sid 찾기 실패&lt;/p&gt;&lt;p&gt;ora-06115 &amp;nbsp; &amp;nbsp; nettcp: 논리적인 oracle을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06116 &amp;nbsp; &amp;nbsp; nettcp: orasrv 프로세스를 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06117 &amp;nbsp; &amp;nbsp; nettcp: orasrv를 생성할 수 없음: 할당량을 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-06118 &amp;nbsp; &amp;nbsp; nettcp: orasrv와의 교신을 끝낼 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06119 &amp;nbsp; &amp;nbsp; nettcp: 가짜 클라이언트의 요구&lt;/p&gt;&lt;p&gt;ora-06120 &amp;nbsp; &amp;nbsp; nettcp: 네트워크 드라이버가 로드되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-06121 &amp;nbsp; &amp;nbsp; nettcp: 액세스 실패&lt;/p&gt;&lt;p&gt;ora-06122 &amp;nbsp; &amp;nbsp; nettcp: 셋업 실패&lt;/p&gt;&lt;p&gt;ora-06123 &amp;nbsp; &amp;nbsp; nettcp: keepalive를 지정할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06124 &amp;nbsp; &amp;nbsp; nettcp: orasrv 대기시 시간경과&lt;/p&gt;&lt;p&gt;ora-06125 &amp;nbsp; &amp;nbsp; nettcp: orasrv가 예기치않게 종료했습니다.&lt;/p&gt;&lt;p&gt;ora-06126 &amp;nbsp; &amp;nbsp; nettcp: orasrv가 네트워크 연결을 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06127 &amp;nbsp; &amp;nbsp; nettcp: 사용자명을 변경할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06128 &amp;nbsp; &amp;nbsp; nettcp: 우편함을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06129 &amp;nbsp; &amp;nbsp; nettcp: 소켓의 소유권을 orasrv로 옮길 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06130 &amp;nbsp; &amp;nbsp; nettcp: 호스트의 액세스가 거부되었습니다.&lt;/p&gt;&lt;p&gt;ora-06131 &amp;nbsp; &amp;nbsp; nettcp: 사용자의 액세스가 거부되었습니다.&lt;/p&gt;&lt;p&gt;ora-06132 &amp;nbsp; &amp;nbsp; nettcp: 비밀번호가 틀림, 액세스가 거부되었습니다.&lt;/p&gt;&lt;p&gt;ora-06133 &amp;nbsp; &amp;nbsp; nettcp: 화일이 없습니다.&lt;/p&gt;&lt;p&gt;ora-06134 &amp;nbsp; &amp;nbsp; nettcp: 화일 액세스 권한이 위반되었습니다.&lt;/p&gt;&lt;p&gt;ora-06135 &amp;nbsp; &amp;nbsp; nettcp: 연결이 거절됨; 서버가 중지되고 있습니다.&lt;/p&gt;&lt;p&gt;ora-06136 &amp;nbsp; &amp;nbsp; nettcp: 연결교신중 오류 발생&lt;/p&gt;&lt;p&gt;ora-06137 &amp;nbsp; &amp;nbsp; nettcp: 연결교신중 오류 발생&lt;/p&gt;&lt;p&gt;ora-06138 &amp;nbsp; &amp;nbsp; nettcp: 연결교신중 오류 발생&lt;/p&gt;&lt;p&gt;ora-06140 &amp;nbsp; &amp;nbsp; nettcp: 그런 사용자가 없습니다.&lt;/p&gt;&lt;p&gt;ora-06141 &amp;nbsp; &amp;nbsp; nettcp: 사용자에 대한 권한이 없습니다.&lt;/p&gt;&lt;p&gt;ora-06142 &amp;nbsp; &amp;nbsp; nettcp: 사용자 정보의 획득시 오류&lt;/p&gt;&lt;p&gt;ora-06143 &amp;nbsp; &amp;nbsp; nettcp: 최대 연결수를 초과했습니다.&lt;/p&gt;&lt;p&gt;ora-06144 &amp;nbsp; &amp;nbsp; nettcp: sid (데이타베이스)는 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06145 &amp;nbsp; &amp;nbsp; nettcp: orasrv를 수행시킬 수 없음: 이미지가 설치되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-06200 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, 우편함을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06201 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, 우편함에 연결할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06202 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, 서버 태스크를 만들 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06203 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, 교신 실패&lt;/p&gt;&lt;p&gt;ora-06204 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, orasrv2.com를 액세스할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06205 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, 논리명을 생성할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06206 &amp;nbsp; &amp;nbsp; twotask: 메시지 수신 실패&lt;/p&gt;&lt;p&gt;ora-06207 &amp;nbsp; &amp;nbsp; twotask: 메시지 송신 실패&lt;/p&gt;&lt;p&gt;ora-06208 &amp;nbsp; &amp;nbsp; twotask: 부적당한 로그인(연결) 스트링&lt;/p&gt;&lt;p&gt;ora-06209 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, 우편함이 이미 존재하고 있습니다.&lt;/p&gt;&lt;p&gt;ora-06210 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, orasrv가 예기치 않게 종료되었습니다.&lt;/p&gt;&lt;p&gt;ora-06211 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, orasrv를 기다리다가 시간 초과 되었습니다.&lt;/p&gt;&lt;p&gt;ora-06212 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, 논리 이름 테이블이 꽉 차있습니다.&lt;/p&gt;&lt;p&gt;ora-06213 &amp;nbsp; &amp;nbsp; twotask: 연결 실패&lt;/p&gt;&lt;p&gt;ora-06214 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, orasrv를 생성하기 위해 충분치 않은 할당량 입니다.&lt;/p&gt;&lt;p&gt;ora-06215 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, orasrv 이미지가 설치가 않되게 보호된 것입니다.&lt;/p&gt;&lt;p&gt;ora-06216 &amp;nbsp; &amp;nbsp; twotask: 연결 실패, orasrv 이미지 화일을 발견할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06250 &amp;nbsp; &amp;nbsp; netntt: 송수신 버퍼를 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06251 &amp;nbsp; &amp;nbsp; netntt: 주소 화일명을 해석할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06252 &amp;nbsp; &amp;nbsp; netntt: 주소 화일을 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06253 &amp;nbsp; &amp;nbsp; netntt: 주소화일에서 인수를 read 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06254 &amp;nbsp; &amp;nbsp; netntt: 큐브로의 연결을 공유할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06255 &amp;nbsp; &amp;nbsp; netntt: 원격 프로세스의 pid를 read 할수없습니다.&lt;/p&gt;&lt;p&gt;ora-06256 &amp;nbsp; &amp;nbsp; netntt: 원격 fork 실패&lt;/p&gt;&lt;p&gt;ora-06257 &amp;nbsp; &amp;nbsp; netntt: 섀도(shadow) 프로세스에 명령을 송신할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06258 &amp;nbsp; &amp;nbsp; netntt: 문맥 영역을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06259 &amp;nbsp; &amp;nbsp; netntt: 원격 프로세스에서 read 할수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06260 &amp;nbsp; &amp;nbsp; netntt: 원격 프로세스로 write 할수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06261 &amp;nbsp; &amp;nbsp; netntt: nrange() 실패&lt;/p&gt;&lt;p&gt;ora-06262 &amp;nbsp; &amp;nbsp; netntt: nfconn() 실패&lt;/p&gt;&lt;p&gt;ora-06263 &amp;nbsp; &amp;nbsp; netntt: pi_connect에 메모리 부족&lt;/p&gt;&lt;p&gt;ora-06264 &amp;nbsp; &amp;nbsp; netntt: 데이타 프로토콜 오류&lt;/p&gt;&lt;p&gt;ora-06265 &amp;nbsp; &amp;nbsp; netntt: break 프로토콜 오류&lt;/p&gt;&lt;p&gt;ora-06266 &amp;nbsp; &amp;nbsp; netntt: 잘못된 쓰기 길이&lt;/p&gt;&lt;p&gt;ora-06267 &amp;nbsp; &amp;nbsp; netntt: 오류 상태&lt;/p&gt;&lt;p&gt;ora-06268 &amp;nbsp; &amp;nbsp; netntt: /etc/oratab을 read 불가&lt;/p&gt;&lt;p&gt;ora-06300 &amp;nbsp; &amp;nbsp; ipa: 접속분리 실패&lt;/p&gt;&lt;p&gt;ora-06301 &amp;nbsp; &amp;nbsp; ipa: driver context 를 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06302 &amp;nbsp; &amp;nbsp; ipa: 원격 호스트에 연결 불가&lt;/p&gt;&lt;p&gt;ora-06303 &amp;nbsp; &amp;nbsp; ipa: 메세지 전송 오류&lt;/p&gt;&lt;p&gt;ora-06304 &amp;nbsp; &amp;nbsp; ipa: 메세지 수신 오류&lt;/p&gt;&lt;p&gt;ora-06305 &amp;nbsp; &amp;nbsp; ipa: 부적절한 메시지 유형&lt;/p&gt;&lt;p&gt;ora-06306 &amp;nbsp; &amp;nbsp; ipa: 메세지 write 길이 오류&lt;/p&gt;&lt;p&gt;ora-06307 &amp;nbsp; &amp;nbsp; ipa: 연결 재설정 실패&lt;/p&gt;&lt;p&gt;ora-06308 &amp;nbsp; &amp;nbsp; ipa: 더 이상 연결 불가&lt;/p&gt;&lt;p&gt;ora-06309 &amp;nbsp; &amp;nbsp; ipa: 이용 가능한 메세지 큐가 없음&lt;/p&gt;&lt;p&gt;ora-06310 &amp;nbsp; &amp;nbsp; ipa: 환경 변수가 지정되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-06311 &amp;nbsp; &amp;nbsp; ipa: 최대 서버수에 도달 했습니다.&lt;/p&gt;&lt;p&gt;ora-06312 &amp;nbsp; &amp;nbsp; ipa: 지정된 서비스명이 부정확합니다.&lt;/p&gt;&lt;p&gt;ora-06313 &amp;nbsp; &amp;nbsp; ipa: 공유 메모리 초기화 실패&lt;/p&gt;&lt;p&gt;ora-06314 &amp;nbsp; &amp;nbsp; ipa: event 설정 실패&lt;/p&gt;&lt;p&gt;ora-06315 &amp;nbsp; &amp;nbsp; ipa: 콘넥트 스트링 오류&lt;/p&gt;&lt;p&gt;ora-06316 &amp;nbsp; &amp;nbsp; ipa: 데이타베이스 sid 오류&lt;/p&gt;&lt;p&gt;ora-06317 &amp;nbsp; &amp;nbsp; ipa: 로컬 최대 사용자수 초과&lt;/p&gt;&lt;p&gt;ora-06318 &amp;nbsp; &amp;nbsp; ipa: 로컬 최대 콘넥션수 초과&lt;/p&gt;&lt;p&gt;ora-06319 &amp;nbsp; &amp;nbsp; ipa: 원격 최대 사용자수 초과&lt;/p&gt;&lt;p&gt;ora-06320 &amp;nbsp; &amp;nbsp; ipa: 원격 최대 연결 수 초과&lt;/p&gt;&lt;p&gt;ora-06321 &amp;nbsp; &amp;nbsp; ipa: 원격편에 도달할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06322 &amp;nbsp; &amp;nbsp; ipa: 심각한 공유 메모리 오류&lt;/p&gt;&lt;p&gt;ora-06323 &amp;nbsp; &amp;nbsp; ipa: 이벤트 오류 발생&lt;/p&gt;&lt;p&gt;ora-06400 &amp;nbsp; &amp;nbsp; netcmn: 지정된 기본 호스트 뮨자열이 없습니다.&lt;/p&gt;&lt;p&gt;ora-06401 &amp;nbsp; &amp;nbsp; netcmn: 부적절한 드라이버 지정자&lt;/p&gt;&lt;p&gt;ora-06402 &amp;nbsp; &amp;nbsp; netcmn: 브레이크 메시지 수신시 오류&lt;/p&gt;&lt;p&gt;ora-06403 &amp;nbsp; &amp;nbsp; netcmn: 문맥 영역을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06404 &amp;nbsp; &amp;nbsp; netcmn: 부당한 로그인 (연결) 스트링&lt;/p&gt;&lt;p&gt;ora-06405 &amp;nbsp; &amp;nbsp; netcmn: 프로토콜 재설정 오류&lt;/p&gt;&lt;p&gt;ora-06406 &amp;nbsp; &amp;nbsp; netcmn: 브레이크 메시지 송신시 오류&lt;/p&gt;&lt;p&gt;ora-06407 &amp;nbsp; &amp;nbsp; netcmn: 브레이크 처리환경을 구축할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06408 &amp;nbsp; &amp;nbsp; netcmn: 부정확한 메시지 유형&lt;/p&gt;&lt;p&gt;ora-06413 &amp;nbsp; &amp;nbsp; 연결이 개방되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-06416 &amp;nbsp; &amp;nbsp; netcmn: 테스트시 오류&lt;/p&gt;&lt;p&gt;ora-06419 &amp;nbsp; &amp;nbsp; netcmn: 서버가 오라클을 기동시킬 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06420 &amp;nbsp; &amp;nbsp; netcmn: sid의 찾기 실패&lt;/p&gt;&lt;p&gt;ora-06421 &amp;nbsp; &amp;nbsp; netcmn: 읽혀질 데이타에 오류가 발견되었습니다.&lt;/p&gt;&lt;p&gt;ora-06422 &amp;nbsp; &amp;nbsp; netcmn: 송신 데이타에 오류가 발견되었습니다.&lt;/p&gt;&lt;p&gt;ora-06423 &amp;nbsp; &amp;nbsp; netcmn: 수신 데이타에 오류가 발견되었습니다.&lt;/p&gt;&lt;p&gt;ora-06430 &amp;nbsp; &amp;nbsp; ssaio: 함수가 잘못된 인수로 요구되었습니다.&lt;/p&gt;&lt;p&gt;ora-06431 &amp;nbsp; &amp;nbsp; ssaio: 부적절한 블록번호&lt;/p&gt;&lt;p&gt;ora-06432 &amp;nbsp; &amp;nbsp; ssaio: 버퍼가 정열되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06433 &amp;nbsp; &amp;nbsp; ssaio: lseek 오류, 요구된 블록을 찾을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06434 &amp;nbsp; &amp;nbsp; ssaio: 읽기 오류, 데이타베이스 화일로 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06435 &amp;nbsp; &amp;nbsp; ssaio: 쓰기 오류, 데이타베이스 화일에 기록할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06436 &amp;nbsp; &amp;nbsp; ssaio: 비동기 i/o가 틀린 파라미터로 인하여 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-06437 &amp;nbsp; &amp;nbsp; ssaio: 비동기 쓰기는 데이타베이스 화일에 기록할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06438 &amp;nbsp; &amp;nbsp; ssaio: 비동기 읽기는 데이타베이스 화일로 부터 읽을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06439 &amp;nbsp; &amp;nbsp; ssaio: 비동기 쓰기가 틀린 바이트 수를 리턴했습니다.&lt;/p&gt;&lt;p&gt;ora-06440 &amp;nbsp; &amp;nbsp; ssaio: 비동기 읽기가 틀린 바이트 수를 리턴했습니다.&lt;/p&gt;&lt;p&gt;ora-06441 &amp;nbsp; &amp;nbsp; ssvwatev: 함수 호출에 잘못된 파라미터가 넘겨졌습니다.&lt;/p&gt;&lt;p&gt;ora-06442 &amp;nbsp; &amp;nbsp; ssvwatev: 예기치 않은 오류로 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-06443 &amp;nbsp; &amp;nbsp; ssvpstev: 함수 호출에 잘못된 파라미터가 넘겨졌습니다.&lt;/p&gt;&lt;p&gt;ora-06444 &amp;nbsp; &amp;nbsp; ssvpstev: 예기치 않은 오류로 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-06445 &amp;nbsp; &amp;nbsp; ssvpstevrg: 함수 호출에 잘못된 파라미터가 넘겨졌습니다.&lt;/p&gt;&lt;p&gt;ora-06446 &amp;nbsp; &amp;nbsp; ssvpstevrg: 예기치 않은 오류로 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-06447 &amp;nbsp; &amp;nbsp; ssvpstp: 함수 호출에 잘못된 파라미터가 넘겨졌습니다.&lt;/p&gt;&lt;p&gt;ora-06448 &amp;nbsp; &amp;nbsp; ssvpstp: 예기치 않은 오류로 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-06449 &amp;nbsp; &amp;nbsp; 리스트 io 혹은 sysvendor가 설치되지 않았습니다.&lt;/p&gt;&lt;p&gt;ora-06500 &amp;nbsp; &amp;nbsp; pl/sql: 기억 영역 오류입니다.&lt;/p&gt;&lt;p&gt;ora-06501 &amp;nbsp; &amp;nbsp; pl/sql 프로그램 오류&lt;/p&gt;&lt;p&gt;ora-06502 &amp;nbsp; &amp;nbsp; pl/sql: 값(수치) 오류입니다.&lt;/p&gt;&lt;p&gt;ora-06503 &amp;nbsp; &amp;nbsp; pl/sql: 함수가 값을 리턴하지 못했습니다.&lt;/p&gt;&lt;p&gt;ora-06504 &amp;nbsp; &amp;nbsp; pl/sql: result set 변수 또는 질의의 리턴 유형이 일치하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06508 &amp;nbsp; &amp;nbsp; pl/sql: 호출되는 lib 단위를 발견할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06509 &amp;nbsp; &amp;nbsp; pl/sql: 이 패키지(package)에 대한 icd 벡터가 누락됐습니다.&lt;/p&gt;&lt;p&gt;ora-06510 &amp;nbsp; &amp;nbsp; pl/sql: 처리되지 않은 user-defined 예외 상황&lt;/p&gt;&lt;p&gt;ora-06511 &amp;nbsp; &amp;nbsp; pl/sql: 커서가 이미 열려있습니다.&lt;/p&gt;&lt;p&gt;ora-06512 &amp;nbsp; &amp;nbsp; %s줄 %s에서&lt;/p&gt;&lt;p&gt;ora-06513 &amp;nbsp; &amp;nbsp; pl/sql: pl/sql 테이블의 색인이 호스트 언어 배열의 범위를 벗어남&lt;/p&gt;&lt;p&gt;ora-06514 &amp;nbsp; &amp;nbsp; pl/sql: 원격 호출은 서버에 의해서 처리되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06540 &amp;nbsp; &amp;nbsp; pl/sql: 컴파일 오류&lt;/p&gt;&lt;p&gt;ora-06541 &amp;nbsp; &amp;nbsp; pl/sql: 컴파일 오류 - 컴파일 중지&lt;/p&gt;&lt;p&gt;ora-06542 &amp;nbsp; &amp;nbsp; pl/sql: 실행 오류&lt;/p&gt;&lt;p&gt;ora-06543 &amp;nbsp; &amp;nbsp; pl/sql: 실행 오류 - 실행 중지&lt;/p&gt;&lt;p&gt;ora-06544 &amp;nbsp; &amp;nbsp; pl/sql: 내부 오류, 인수: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]&lt;/p&gt;&lt;p&gt;ora-06550 &amp;nbsp; &amp;nbsp; 줄 %s, 열%s:%s&lt;/p&gt;&lt;p&gt;ora-06551 &amp;nbsp; &amp;nbsp; pl/sql: 처리되지 않은 예외상황&lt;/p&gt;&lt;p&gt;ora-06552 &amp;nbsp; &amp;nbsp; pl/sql: %s&lt;/p&gt;&lt;p&gt;ora-06553 &amp;nbsp; &amp;nbsp; pls-%s: %s&lt;/p&gt;&lt;p&gt;ora-06554 &amp;nbsp; &amp;nbsp; 패키지 dbms_standard는 pl/sql을 사용하기 전에 생성되야만 합니다.&lt;/p&gt;&lt;p&gt;ora-06555 &amp;nbsp; &amp;nbsp; 이 이름은 현재 사용자 sys에 의해 사용되기 위해 예약되어 있습니다.&lt;/p&gt;&lt;p&gt;ora-06556 &amp;nbsp; &amp;nbsp; 파이프가 비어 있어 unpack_message 요구를 이행할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06557 &amp;nbsp; &amp;nbsp; icd 파이프에 대한 파라미터로 null 값은 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06558 &amp;nbsp; &amp;nbsp; dbms_pipe 패키지에 있는 버퍼가 꽉 찼음. 더 이상의 항목이 사용될 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06559 &amp;nbsp; &amp;nbsp; %s로 잘못된 데이타유형이 요구되었습니다, 실제 데이타유형은 %s 입니다.&lt;/p&gt;&lt;p&gt;ora-06560 &amp;nbsp; &amp;nbsp; 위치, %s 가 버퍼 크기 %s 보다 크거나 음수 입니다.&lt;/p&gt;&lt;p&gt;ora-06561 &amp;nbsp; &amp;nbsp; 명령문이 dbms_sql 패키지에 의해 지원되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06562 &amp;nbsp; &amp;nbsp; out 인수의 형이 열의 형과 일치되거나 변수와 바인드되어야 합니다.&lt;/p&gt;&lt;p&gt;ora-06563 &amp;nbsp; &amp;nbsp; 기술된 최상위 레벨의 프로시저/펑션이 하위레벨을 포함할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06564 &amp;nbsp; &amp;nbsp; 개체 %s가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06565 &amp;nbsp; &amp;nbsp; 저장된 프로시저에서 %s를 실행할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06566 &amp;nbsp; &amp;nbsp; 행의 수 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-06567 &amp;nbsp; &amp;nbsp; 값의 수 지정이 부적합합니다.&lt;/p&gt;&lt;p&gt;ora-06568 &amp;nbsp; &amp;nbsp; 폐기된 icd 프로시저가 호출되었습니다.&lt;/p&gt;&lt;p&gt;ora-06570 &amp;nbsp; &amp;nbsp; 풀 개체 공유가 존재하지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06571 &amp;nbsp; &amp;nbsp; %s 함수는 데이타베이스에 갱신하는것을 보증할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06572 &amp;nbsp; &amp;nbsp; %s 함수는 out 인수를 가지고 있습니다.&lt;/p&gt;&lt;p&gt;ora-06573 &amp;nbsp; &amp;nbsp; %s 함수가 패키지 상태를 변경하는데, 여기서는 사용할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06574 &amp;nbsp; &amp;nbsp; %s 함수는 패키지 상태를 참조하는데, 원격적으로 실행할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06575 &amp;nbsp; &amp;nbsp; 패키지 또는 함수 %s 은 부적당한 상태입니다.&lt;/p&gt;&lt;p&gt;ora-06580 &amp;nbsp; &amp;nbsp; 해쉬 결합이 큰 행을 메모리에 보관하는 중에 메모리 부족이 일어났습니다.&lt;/p&gt;&lt;p&gt;ora-06600 &amp;nbsp; &amp;nbsp; lu6.2 driver: sna 소프트웨어가 로드되지 않음&lt;/p&gt;&lt;p&gt;ora-06601 &amp;nbsp; &amp;nbsp; lu6.2 driver: 부적절한 데이타베이스 id 스트링임&lt;/p&gt;&lt;p&gt;ora-06602 &amp;nbsp; &amp;nbsp; lu6.2 driver: 문맥 영역 할당시 오류&lt;/p&gt;&lt;p&gt;ora-06603 &amp;nbsp; &amp;nbsp; lu6.2 driver: 메모리 할당시 오류&lt;/p&gt;&lt;p&gt;ora-06604 &amp;nbsp; &amp;nbsp; lu6.2 driver: 원격 lu와 함께 세션을 할당할 수 없음&lt;/p&gt;&lt;p&gt;ora-06605 &amp;nbsp; &amp;nbsp; lu6.2 driver: 예기치 않은 줄 턴어라운드&lt;/p&gt;&lt;p&gt;ora-06606 &amp;nbsp; &amp;nbsp; lu6.2 driver: sna로 부터의 예기치 않은 응답&lt;/p&gt;&lt;p&gt;ora-06607 &amp;nbsp; &amp;nbsp; lu6.2 driver: 송신상태에서 재설정됨&lt;/p&gt;&lt;p&gt;ora-06608 &amp;nbsp; &amp;nbsp; lu6.2 driver: 수신상태에서 재설정됨&lt;/p&gt;&lt;p&gt;ora-06610 &amp;nbsp; &amp;nbsp; lu6.2 driver: 해제시 실패&lt;/p&gt;&lt;p&gt;ora-06611 &amp;nbsp; &amp;nbsp; lu6.2 driver: 송신 요구오류&lt;/p&gt;&lt;p&gt;ora-06612 &amp;nbsp; &amp;nbsp; lu6.2 driver: 데이타 송신오류&lt;/p&gt;&lt;p&gt;ora-06613 &amp;nbsp; &amp;nbsp; lu6.2 driver: 수신 및 대기오류&lt;/p&gt;&lt;p&gt;ora-06614 &amp;nbsp; &amp;nbsp; lu6.2 driver: 즉시 수신오류&lt;/p&gt;&lt;p&gt;ora-06615 &amp;nbsp; &amp;nbsp; lu6.2 driver: 송신오류&lt;/p&gt;&lt;p&gt;ora-06616 &amp;nbsp; &amp;nbsp; lu6.2 driver: lu로의 첨부에 실패했음&lt;/p&gt;&lt;p&gt;ora-06617 &amp;nbsp; &amp;nbsp; lu6.2 driver: pu로의 첨부에 실패했음&lt;/p&gt;&lt;p&gt;ora-06618 &amp;nbsp; &amp;nbsp; lu6.2 driver: 서브네트워크의 활성화에 실패했음&lt;/p&gt;&lt;p&gt;ora-06619 &amp;nbsp; &amp;nbsp; lu6.2 driver: 활성적인 원격 파트너를 할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06620 &amp;nbsp; &amp;nbsp; lu6.2 driver: 부적절한 원격 파트너&lt;/p&gt;&lt;p&gt;ora-06621 &amp;nbsp; &amp;nbsp; lu6.2 driver: 할당 오류&lt;/p&gt;&lt;p&gt;ora-06622 &amp;nbsp; &amp;nbsp; lu6.2 driver: sna에 첨부할 수 없음&lt;/p&gt;&lt;p&gt;ora-06700 &amp;nbsp; &amp;nbsp; tli driver: 호스트로부터의 메시지 유형이 부정확합니다.&lt;/p&gt;&lt;p&gt;ora-06701 &amp;nbsp; &amp;nbsp; tli driver: 틀린 수의 바이트가 기록되었습니다.&lt;/p&gt;&lt;p&gt;ora-06702 &amp;nbsp; &amp;nbsp; tli driver: 문맥 영역을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06703 &amp;nbsp; &amp;nbsp; tli driver: 브레이크 메시지의 송신 실패&lt;/p&gt;&lt;p&gt;ora-06704 &amp;nbsp; &amp;nbsp; tli driver: 브레이크 메시지의 수신 실패&lt;/p&gt;&lt;p&gt;ora-06705 &amp;nbsp; &amp;nbsp; tli driver: 원격 노드가 불명입니다.&lt;/p&gt;&lt;p&gt;ora-06706 &amp;nbsp; &amp;nbsp; tli driver: 서비스가 발견되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06707 &amp;nbsp; &amp;nbsp; tli driver: 연결실패&lt;/p&gt;&lt;p&gt;ora-06708 &amp;nbsp; &amp;nbsp; tli driver: 메시지 수신실패&lt;/p&gt;&lt;p&gt;ora-06709 &amp;nbsp; &amp;nbsp; tli driver: 메시지 송신실패&lt;/p&gt;&lt;p&gt;ora-06710 &amp;nbsp; &amp;nbsp; tli driver: 송신 인터럽트 브레이크 메시지 실패&lt;/p&gt;&lt;p&gt;ora-06711 &amp;nbsp; &amp;nbsp; tli driver: 바인드시 오류&lt;/p&gt;&lt;p&gt;ora-06712 &amp;nbsp; &amp;nbsp; tli driver: 인수시 오류&lt;/p&gt;&lt;p&gt;ora-06713 &amp;nbsp; &amp;nbsp; tli driver: 연결시 오류&lt;/p&gt;&lt;p&gt;ora-06720 &amp;nbsp; &amp;nbsp; tli driver: sid 찾기 실패&lt;/p&gt;&lt;p&gt;ora-06721 &amp;nbsp; &amp;nbsp; tli driver: 가 클라이언트 요구&lt;/p&gt;&lt;p&gt;ora-06722 &amp;nbsp; &amp;nbsp; tli driver: 연결설정 실패&lt;/p&gt;&lt;p&gt;ora-06730 &amp;nbsp; &amp;nbsp; tli driver: 크론(clone) 디바이스의 열기 실패&lt;/p&gt;&lt;p&gt;ora-06731 &amp;nbsp; &amp;nbsp; tli driver: t_call을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06732 &amp;nbsp; &amp;nbsp; tli driver: t_discon을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06733 &amp;nbsp; &amp;nbsp; tli driver: 분리 수신에 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-06734 &amp;nbsp; &amp;nbsp; tli driver: 연결할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06735 &amp;nbsp; &amp;nbsp; tli driver: 잘못된 연결을 닫는데 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-06736 &amp;nbsp; &amp;nbsp; tli driver: 서버가 가동중이 아닙니다.&lt;/p&gt;&lt;p&gt;ora-06737 &amp;nbsp; &amp;nbsp; tli driver: 연결실패&lt;/p&gt;&lt;p&gt;ora-06741 &amp;nbsp; &amp;nbsp; tli driver: 프로토콜 디바이스를 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06742 &amp;nbsp; &amp;nbsp; tli driver: t_bind를 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06743 &amp;nbsp; &amp;nbsp; tli driver: t_bind를 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06744 &amp;nbsp; &amp;nbsp; tli driver: 리스너(listener)를 바인드할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06745 &amp;nbsp; &amp;nbsp; tli driver: 리스너(listener)가 이미 가동중입니다.&lt;/p&gt;&lt;p&gt;ora-06746 &amp;nbsp; &amp;nbsp; tli driver: t_call을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06747 &amp;nbsp; &amp;nbsp; tli driver: 청취(listen) 오류&lt;/p&gt;&lt;p&gt;ora-06748 &amp;nbsp; &amp;nbsp; tli driver: t_discon을 할당할 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06749 &amp;nbsp; &amp;nbsp; tli driver: 네트워크상에서 옵션이 허용되지 않습니다.&lt;/p&gt;&lt;p&gt;ora-06750 &amp;nbsp; &amp;nbsp; tli driver: sync 실패&lt;/p&gt;&lt;p&gt;ora-06751 &amp;nbsp; &amp;nbsp; tli driver: 번지 범위가 다릅니다.&lt;/p&gt;&lt;p&gt;ora-06752 &amp;nbsp; &amp;nbsp; tli: 시그널 설정시 오류&lt;/p&gt;&lt;p&gt;ora-06753 &amp;nbsp; &amp;nbsp; tli driver: name-to-address를 맹핑하는데 실패했습니다.&lt;/p&gt;&lt;p&gt;ora-06754 &amp;nbsp; &amp;nbsp; tli driver: 지역 호스트 번지를 얻을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06755 &amp;nbsp; &amp;nbsp; tli driver: 이동 마감점을 닫을 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06756 &amp;nbsp; &amp;nbsp; tli driver: oratab을 열 수 없습니다.&lt;/p&gt;&lt;p&gt;ora-06757 &amp;nbsp; &amp;nbsp; tli driver: 서버가 틀린 명령을 취했습니다.&lt;/p&gt;&lt;p&gt;ora-06760 &amp;nbsp; &amp;nbsp; tli driver: 순차릴리스를 읽는 동안 타임아웃됐습니다.&lt;/p&gt;&lt;p&gt;ora-06761 &amp;nbsp; &amp;nbsp; tli driver: 순차릴리스의 송신오류&lt;/p&gt;&lt;p&gt;ora-06762 &amp;nbsp; &amp;nbsp; tli driver: 순차릴리스의 읽기오류&lt;/p&gt;&lt;p&gt;ora-06763 &amp;nbsp; &amp;nbsp; tli driver: 분리 송신오류&lt;/p&gt;&lt;p&gt;ora-06764 &amp;nbsp; &amp;nbsp; tli driver: 분리 읽기오류&lt;/p&gt;&lt;p&gt;ora-06765 &amp;nbsp; &amp;nbsp; tli driver: 순차 릴리즈의 대기오류&lt;/p&gt;&lt;p&gt;ora-06766 &amp;nbsp; &amp;nbsp; tli driver: 릴리스시 닫기실패&lt;/p&gt;&lt;p&gt;ora-06767 &amp;nbsp; &amp;nbsp; tli driver: 릴리즈시 할당실패&lt;/p&gt;&lt;p&gt;ora-06770 &amp;nbsp; &amp;nbsp; tli driver: 버전 송신오류&lt;/p&gt;&lt;p&gt;ora-06771 &amp;nbsp; &amp;nbsp; tli driver: 버전 읽기오류&lt;/p&gt;&lt;p&gt;ora-06772 &amp;nbsp; &amp;nbsp; tli driver: 명령 송신오류&lt;/p&gt;&lt;p&gt;ora-06773 &amp;nbsp; &amp;nbsp; tli driver: 명령 읽기오류&lt;/p&gt;&lt;p&gt;ora-06774 &amp;nbsp; &amp;nbsp; tli driver: 브레이크 모드 송신오류&lt;/p&gt;&lt;p&gt;ora-06775 &amp;nbsp; &amp;nbsp; tli driver: 브레이크 모드 읽기오류&lt;/p&gt;&lt;p&gt;ora-06776 &amp;nbsp; &amp;nbsp; tli driver: 파라미터 송신오류&lt;/p&gt;&lt;p&gt;ora-06777 &amp;nbsp; &amp;nbsp; tli driver: 파라미터 읽기오류&lt;/p&gt;&lt;p&gt;ora-06778 &amp;nbsp; &amp;nbsp; tli driver: ccode 송신오류&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Oracle</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/15</guid>
      <comments>https://gongcha.tistory.com/15#entry15comment</comments>
      <pubDate>Mon, 31 Oct 2016 08:38:40 +0900</pubDate>
    </item>
    <item>
      <title>[오라클(Oracle)] DB Lock 해제</title>
      <link>https://gongcha.tistory.com/14</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;DB LOCK&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;1. DB LOCK 확인 쿼리&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SELECT A.SID, A.SERIAL#, A.USERNAME, A.PROCESS, B.OBJECT_NAME&lt;/p&gt;&lt;p&gt;FROM V$SESSION A, DBA_OBJECTS B, V$LOCK C&lt;/p&gt;&lt;p&gt;WHERE A.SID = C.SID AND B.OBJECT_ID = C.ID1&lt;/p&gt;&lt;p&gt;AND C.TYPE = 'TM' ;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;2. DB LOCK 해제&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;아래명령어로 ( SID, SERIAL# ) 를 순서대로 입력하고 실행하면 LOCK 해제됨.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ALTER SYSTEM KILL SESSION '1507,2664';&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 146px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2113643F581029731B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2113643F581029731B&quot; width=&quot;146&quot; height=&quot;59&quot; filename=&quot;3.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Oracle</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/14</guid>
      <comments>https://gongcha.tistory.com/14#entry14comment</comments>
      <pubDate>Wed, 26 Oct 2016 12:54:43 +0900</pubDate>
    </item>
    <item>
      <title>[오라클(Oracle)] UNION, UNION ALL</title>
      <link>https://gongcha.tistory.com/13</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;UNION과 UNIONALL&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;UNION&lt;/b&gt; = 두테이블의 결합을 나타내며 중복되지 않은 값들을 반환&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;UNION ALL&lt;/b&gt; = 두테이블의 중복되는 값까지 반환&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;table_a&lt;/p&gt;&lt;p&gt;-------&lt;/p&gt;&lt;p&gt;1&lt;/p&gt;&lt;p&gt;2&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;table_b&lt;/p&gt;&lt;p&gt;-------&lt;/p&gt;&lt;p&gt;2&lt;/p&gt;&lt;p&gt;3&lt;/p&gt;&lt;p&gt;4&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1) union&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;select column_1 from table_a&amp;nbsp;&lt;/p&gt;&lt;p&gt;union&lt;/p&gt;&lt;p&gt;select column_1 from table_b&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;-&amp;gt; 1, 2, 3, 4&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 75px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/25020040581027AF10&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F25020040581027AF10&quot; width=&quot;75&quot; height=&quot;95&quot; filename=&quot;1.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2) union all&lt;/p&gt;&lt;p&gt;select * from column_1 from table_a&lt;/p&gt;&lt;p&gt;union all&lt;/p&gt;&lt;p&gt;select * from column_1 from table_b&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;-&amp;gt; 1,2,3,2,3,4&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 77px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2607B340581027AF0B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2607B340581027AF0B&quot; width=&quot;77&quot; height=&quot;130&quot; filename=&quot;2.PNG&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>웹개발/Oracle</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/13</guid>
      <comments>https://gongcha.tistory.com/13#entry13comment</comments>
      <pubDate>Wed, 26 Oct 2016 12:49:58 +0900</pubDate>
    </item>
    <item>
      <title>[스프링(Spring)] MVC 아키텍처</title>
      <link>https://gongcha.tistory.com/12</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;MVC(model-view-controller)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;MVC 패턴 사용 이유&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;- 시스템 변경이 잦은 상황에서 유지 보수를 쉽게 하기 위해 중복 코드를 최소화하기 위함이다. &amp;nbsp;(코드의 재사용)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;MVC의 각 컴포넌트&amp;nbsp;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Controller &lt;/b&gt;: 일종의 조정자 역할.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;클라이언트의 요청을 받았을 때, 그 요청에 대해 실제 업무를 소행하는 모델(Model) 컴포넌트를 호출한다.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;모델이 업무 수행을 완료하면 그 결과를 가지고 화면을 생성하도록 뷰에게 전달한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Model&lt;/b&gt; : 데이터 저장소와 연동&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;여러 개의 데이터 변경 작업(추가, 변경, 삭제)을 하나의 작업으로 묶은 트랜잭션을 다루는 일도 한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;View&lt;/b&gt; : 모델이 처리한 데이터나 그 작업 결과를 가지고 사용자에게 출력할 화면을 만드는 일을 한다.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HTML과 CSS, Javacript를 이용하여 UI를 만든다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: rgb(93, 93, 93);&quot;&gt;스프링(Spring)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;DAO(Data Access Data)&amp;nbsp;&lt;/b&gt;: 데이터 처리를 전문으로 하는 객체.&amp;nbsp;DB에서 Data를 가져와서 Model에 생성&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Service &lt;/b&gt;: 그 Data를 가공하거나 특벼한 서비스 역할을 만듬&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Spring Framework</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/12</guid>
      <comments>https://gongcha.tistory.com/12#entry12comment</comments>
      <pubDate>Sat, 22 Oct 2016 00:24:17 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] MySQL 클라이언트 프로그램 Sequel</title>
      <link>https://gongcha.tistory.com/10</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;Sequel -&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;M&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 18pt;&quot;&gt;ySQL 클라이언트 프로그램&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Mac 개발환경 구성 -&amp;nbsp;MySQL 설치 참고 &lt;/b&gt;→&amp;nbsp;&lt;a href=&quot;http://gongcha.tistory.com/6&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://gongcha.tistory.com/6&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; text-align: center; width: 600px; height: 352px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/211BBD3A57FFA5270D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F211BBD3A57FFA5270D&quot; width=&quot;600&quot; height=&quot;352&quot; filename=&quot;스크린샷 2016-10-14 오전 12.14.30.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center; width: 600px; height: 352px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Sequel 다운로드 링크&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.sequelpro.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.sequelpro.com/&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;프로그램 설치 후&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; text-align: center; width: 600px; height: 194px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/214FB83A57FFA52A2D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F214FB83A57FFA52A2D&quot; width=&quot;600&quot; height=&quot;194&quot; filename=&quot;스크린샷 2016-10-14 오전 12.15.23.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center; width: 600px; height: 194px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;쿼리 Tab으로 터미널 작업과 동일하게 사용 가능하다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; width: 600px; height: 458px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/270A363A57FFA52915&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F270A363A57FFA52915&quot; width=&quot;600&quot; height=&quot;458&quot; filename=&quot;스크린샷 2016-10-14 오전 12.15.15.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 600px; height: 458px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/MySQL</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/10</guid>
      <comments>https://gongcha.tistory.com/10#entry10comment</comments>
      <pubDate>Fri, 14 Oct 2016 00:19:08 +0900</pubDate>
    </item>
    <item>
      <title>[자바스크립트] 웹(Web) 크롬 디버깅(debugging)</title>
      <link>https://gongcha.tistory.com/9</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: rgb(65, 116, 217); font-size: 24pt;&quot;&gt;&lt;b&gt;구글 크롬에서 제공하는 디버깅(debugging)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;장점&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;어떤 프로그램 설치 없이 크롬만으로 디버깅이 가능하다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;방법&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;1. script 태그 안에 debugger; 를 입력&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 433px; text-align: center; width: 433px; height: 450px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2730233D57FF9F8825&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2730233D57FF9F8825&quot; width=&quot;433&quot; height=&quot;450&quot; filename=&quot;스크린샷 2016-10-13 오후 11.42.47.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center; width: 433px; height: 450px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;2. 크롬(F12) 또는 웹페이지에서 오른쪽 마우스 - 검사 - Developer tool로 들어간다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3. Developer tool이 실행된 상태에서 스크립트가 실행되면&amp;nbsp;debugger; 입력된 부분에서 디버깅을 시작한다. (break point)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; text-align: center; width: 500px; height: 353px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/242E973D57FF9F8A24&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F242E973D57FF9F8A24&quot; width=&quot;500&quot; height=&quot;353&quot; filename=&quot;스크린샷 2016-10-13 오후 11.43.52.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center; width: 500px; height: 353px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;4. F10 또는 step over 키를 눌러 debugger; 위치부터 한줄씩 디버깅한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; text-align: center; width: 500px; height: 363px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/25529C3D57FF9F8B0A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F25529C3D57FF9F8B0A&quot; width=&quot;500&quot; height=&quot;363&quot; filename=&quot;스크린샷 2016-10-13 오후 11.44.56.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center; width: 500px; height: 363px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;5. 변수확인은 마우스를 갖다대거나 아래 console 부분에 입력한다. (자바스립트 문법과 동일, 프레임워크 사용 시 그에 맞는 문법 사용)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; text-align: center; width: 500px; height: 265px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/213AE63D57FF9F8C1D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F213AE63D57FF9F8C1D&quot; width=&quot;500&quot; height=&quot;265&quot; filename=&quot;스크린샷 2016-10-13 오후 11.45.11.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center; width: 500px; height: 265px;&quot;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 183px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/261B8C3D57FF9F8B34&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F261B8C3D57FF9F8B34&quot; width=&quot;500&quot; height=&quot;183&quot; filename=&quot;스크린샷 2016-10-13 오후 11.44.42.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 500px; height: 183px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/javascript</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/9</guid>
      <comments>https://gongcha.tistory.com/9#entry9comment</comments>
      <pubDate>Thu, 13 Oct 2016 23:47:44 +0900</pubDate>
    </item>
    <item>
      <title>[이클립스] ROOT(/) 경로에서 실행하기</title>
      <link>https://gongcha.tistory.com/8</link>
      <description>&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt; color: rgb(255, 94, 0);&quot;&gt;CONTEXT ROOT 설정&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;이클립스로 서버를 실행했을 때 다음과 같이 ROOT(/)에서 실행되지 않을 경우 CONTEXT ROOT를 설정하면 된다.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 385px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/276EEB3957FBC50F25&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F276EEB3957FBC50F25&quot; width=&quot;385&quot; height=&quot;259&quot; filename=&quot;스크린샷 2016-10-11 오전 1.41.17.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;1. Project - Properties - Web Project Settings에서 CONTECT ROOT를 &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;ROOT&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;로 변경한다.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/272D6F4457FBC60420&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F272D6F4457FBC60420&quot; width=&quot;400&quot; height=&quot;348&quot; filename=&quot;스크린샷 2016-10-11 오전 1.46.19.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;2&lt;/span&gt;.&amp;nbsp;Server - tomact를 더블클릭&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/262F874957FBC7C408&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F262F874957FBC7C408&quot; width=&quot;400&quot; height=&quot;180&quot; filename=&quot;스크린샷 2016-10-11 오전 1.51.47.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;3.&amp;nbsp;&lt;/span&gt;Modules Tab - Edit에서 Path를 /로 설정 - 저장 후 서버 재시작&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2379774957FBC7C533&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2379774957FBC7C533&quot; width=&quot;400&quot; height=&quot;293&quot; filename=&quot;스크린샷 2016-10-11 오전 1.51.29.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;4. 정상적으로 ROOT(/) 경로에서 웹애플리케이션이 시작된&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 400px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2326E74E57FBC8901F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2326E74E57FBC8901F&quot; width=&quot;400&quot; height=&quot;290&quot; filename=&quot;스크린샷 2016-10-11 오전 1.56.16.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Spring Framework</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/8</guid>
      <comments>https://gongcha.tistory.com/8#entry8comment</comments>
      <pubDate>Tue, 11 Oct 2016 01:59:30 +0900</pubDate>
    </item>
    <item>
      <title>[스프링(Spring)] Mybatis 연동</title>
      <link>https://gongcha.tistory.com/7</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;1. Mybatis 사이트&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.mybatis.org/mybatis-3/ko/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.mybatis.org/mybatis-3/ko/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p span=&quot;&quot; style=&quot;color: rgb(102, 102, 102); font-family: dotum; font-size: 14px; background-color: rgb(238, 238, 238);&quot;&gt;MyBatis는 개발자가 지정한 SQL, 저장프로시저, 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. MyBatis는 JDBC 코드와 수동으로 셋팅하는 파라미터와 결과 매핑을 제거한다. MyBatis는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO를 설정하고 매핑하기 위해 XML과 애노테이션을 사용할 수 있다.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: dotum; font-size: 14px; background-color: rgb(238, 238, 238);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: dotum; font-size: 14px; background-color: rgb(238, 238, 238);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;2. 라이브러리 추가(pom.xml - 라이브러리 관리&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, 돋움, dotum, sans-serif; font-size: 14px;&quot;&gt;pom.xml에 다음을 추가한다. 사용할 DBMS에 따라 라이브러리를 추가한다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;line number117 index116 alt2&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml comments&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: rgb(63, 95, 191) !important;&quot;&gt;&amp;lt;!-- MyBatis --&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number118 index117 alt1&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;dependency&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number119 index118 alt2&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;groupId&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;org.mybatis&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;groupId&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number120 index119 alt1&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;mybatis&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number121 index120 alt2&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;3.2.8&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number122 index121 alt1&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;dependency&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number123 index122 alt2&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;line number124 index123 alt1&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;dependency&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number125 index124 alt2&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;groupId&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;org.mybatis&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;groupId&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number126 index125 alt1&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;mybatis-spring&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number127 index126 alt2&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;1.2.2&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number128 index127 alt1&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-top: 0px !important; margin-right: 0px !important; margin-bottom: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(127, 0, 85) !important;&quot;&gt;dependency&lt;/code&gt;&lt;code class=&quot;xml plain&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; color: black !important;&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div class=&quot;line number129 index128 alt2&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;code class=&quot;xml spaces&quot; style=&quot;box-sizing: content-box !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; border-radius: 0px !important; background: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;line number129 index128 alt2&quot; style=&quot;word-break: break-word; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14px; color: rgb(51, 51, 51); box-sizing: content-box !important; border-radius: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: auto !important; white-space: pre !important;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;3. Mybatis 연결 설정&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;1)&amp;nbsp;web.xml에서 설정파일을 읽는다.&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; web.xml &amp;gt;&amp;gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2778B23557F7EAFB16&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2778B23557F7EAFB16&quot; width=&quot;580&quot; height=&quot;70&quot; filename=&quot;스크린샷 2016-10-08 오전 3.31.40.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;2) mybatis&amp;nbsp;연결 설정&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; root-context-xml&amp;gt;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2373C43557F7EAFC1A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2373C43557F7EAFC1A&quot; width=&quot;580&quot; height=&quot;86&quot; filename=&quot;스크린샷 2016-10-08 오전 3.34.27.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Oracle의 경우 class와 url을 맞게 수정하면 된다.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/277B073557F7ECD81C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F277B073557F7ECD81C&quot; width=&quot;580&quot; height=&quot;139&quot; filename=&quot;스크린샷 2016-10-08 오전 3.42.45.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* dataSource&amp;nbsp;&amp;nbsp;: 위에서 설정한 bean&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mapperLocatioins : 작성할 SQL 쿼리 코드 위치&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sqlSession : myBatis - Spring 연동 &amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;dao에서 SqlSessionTemplate Class 변수를&amp;nbsp;선언해준다. Autowired 어노테이션을 설정했던 통해 의존관계를 가져온다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Spring Framework</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/7</guid>
      <comments>https://gongcha.tistory.com/7#entry7comment</comments>
      <pubDate>Sat, 8 Oct 2016 03:58:22 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] MySQL 설치</title>
      <link>https://gongcha.tistory.com/6</link>
      <description>&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt; color: rgb(102, 153, 255);&quot;&gt;Home Brew로 mysql 설치하기&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;맥환경에서 개발하는 사용자들은 &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;Home Brew&lt;/span&gt;를 이용해서 설치하면 간단하다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Home Brew는 mac OS용 패키지 관리자로&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(102, 153, 255);&quot;&gt;&lt;b&gt;1. Home Brew 설치&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;http://brew.sh/index_ko.html에서 터미널 명령어로 설치한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0.9em; padding: 8px 10px; border: 0px; outline: 0px; font-size: 12.1875px; vertical-align: baseline; background: rgba(0, 0, 0, 0.298039); color: rgb(255, 255, 255); border-radius: 0.4em; overflow-x: auto; clear: both; text-align: center;&quot;&gt;&lt;code id=&quot;selectable&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 13px; vertical-align: baseline; background: transparent; font-family: Monaco, Menlo, monospace; line-height: 1.6;&quot;&gt;/usr/bin/ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Homebrew를 통해&amp;nbsp;설치되는 패키지는&amp;nbsp;/usr/local/Cellar 디렉토리에 위치한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(102, 153, 255);&quot;&gt;&lt;b&gt;2. MySQL 설치&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(102, 153, 255);&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prettyprint prettyprinted&quot; style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; padding: 2px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; color: rgb(51, 51, 51); word-break: break-all; word-wrap: break-word; background-color: rgb(204, 204, 170); border: 1px solid rgb(204, 204, 204); border-radius: 4px; width: 514.656px; white-space: pre-wrap;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; padding: 0px; color: inherit; background-color: transparent; border-radius: 0px; text-shadow: none;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;box-sizing: border-box; color: rgb(102, 102, 0); font-size: 10pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0); font-size: 10pt;&quot;&gt; brew install mysql&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;위와 같은 간단한 명령어로 mysql 설치&lt;/p&gt;&lt;p&gt;패키지 설치 후 심볼릭 링크를 만들어주기 때문에 어느 위치에서나 실행가능하다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;터미널에 mysql.server 명령어 또는 /usr/local/Cellar/mysql/ 디렉토리에서 서버를 실행한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;터미널에 mysql -u root 로 접속한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(102, 153, 255);&quot;&gt;&lt;b&gt;3. charset 설정&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;기본 charset이 utf-8이 아닌 경우 설정한다. (설정파일&amp;nbsp;우선순위)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; color: rgb(107, 107, 107); font-family: NaumGothic, Helvetica, 나눔고딕, &amp;quot;Apple SD Gothic Neo&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;/etc/my.cnf&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;/etc/mysql/my.cnf&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;/usr/local/mysql/etc/my.cnf&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;~/.my.cnf&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(102, 153, 255);&quot;&gt;&lt;b&gt;4, 사용자 계정 생성 및 권한&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre class=&quot;prettyprint prettyprinted&quot; style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; padding: 2px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; color: rgb(51, 51, 51); word-break: break-all; word-wrap: break-word; background-color: rgb(204, 204, 170); border: 1px solid rgb(204, 204, 204); border-radius: 4px; width: 514.656px; white-space: pre-wrap;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; padding: 0px; color: inherit; background-color: transparent; border-radius: 0px; text-shadow: none;&quot;&gt;&lt;span class=&quot;com&quot; style=&quot;box-sizing: border-box; color: rgb(136, 0, 0);&quot;&gt;// localhost권한 계정 생성&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt;
mysql&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;box-sizing: border-box; color: rgb(102, 102, 0);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt; grant all privileges on taxi_sharing&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;box-sizing: border-box; color: rgb(102, 102, 0);&quot;&gt;.*&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt; to simter@localhost identified &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 136);&quot;&gt;by&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;box-sizing: border-box; color: rgb(0, 136, 0);&quot;&gt;'1'&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;box-sizing: border-box; color: rgb(102, 102, 0);&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;box-sizing: border-box; color: rgb(136, 0, 0);&quot;&gt;// 원격접속권한 계정 생성 &lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt;
mysql&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;box-sizing: border-box; color: rgb(102, 102, 0);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt; grant all privileges on taxi_sharing&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;box-sizing: border-box; color: rgb(102, 102, 0);&quot;&gt;.*&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt; to simter@&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;box-sizing: border-box; color: rgb(0, 136, 0);&quot;&gt;'%'&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt; identified &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 136);&quot;&gt;by&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;box-sizing: border-box; color: rgb(0, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;box-sizing: border-box; color: rgb(0, 136, 0);&quot;&gt;'1'&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;box-sizing: border-box; color: rgb(102, 102, 0);&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/MySQL</category>
      <category>Homebrew</category>
      <category>Mac</category>
      <category>MySQL</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/6</guid>
      <comments>https://gongcha.tistory.com/6#entry6comment</comments>
      <pubDate>Wed, 5 Oct 2016 01:44:32 +0900</pubDate>
    </item>
    <item>
      <title>[ER다이어그램] 웹기반 ERD툴</title>
      <link>https://gongcha.tistory.com/5</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;무설치&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(65, 116, 217);&quot;&gt;웹기반 ER 다이어그램 툴&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size:12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href=&quot;http://ondras.zarovi.cz/sql/demo/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 24pt;&quot;&gt;http://ondras.zarovi.cz/sql/demo/&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;위의 링크로 접속하여 설치하지 않고 ER 다이어그램을 작성할 수 있습니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;간단한 ERD를 작성할 경우 프로그램을 설치하지 않고 수정 후 저장할 수 있어 편리합니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;사용방법이 간단해서 직접 마우스로 클릭해가며 작성하면 됩니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2662B44E57F143B614&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2662B44E57F143B614&quot; width=&quot;580&quot; height=&quot;299&quot; filename=&quot;스크린샷 2016-10-03 오전 2.25.52.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;저장할 경우 저장방식과 오라클, MySQL 등의 DBMS를 선택하고 저장합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2143204E57F143B634&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2143204E57F143B634&quot; width=&quot;580&quot; height=&quot;348&quot; filename=&quot;스크린샷 2016-10-03 오전 2.26.06.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이때 Generate SQL를 클릭하면 아래의 SQL 쿼리를 생성합니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;기본적인 기능만 사용해봐서 직접 사용해보시길 권장합니다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/214C9B4857F144E504&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F214C9B4857F144E504&quot; width=&quot;580&quot; height=&quot;349&quot; filename=&quot;스크린샷 2016-10-03 오전 2.32.43.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Tool</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/5</guid>
      <comments>https://gongcha.tistory.com/5#entry5comment</comments>
      <pubDate>Mon, 3 Oct 2016 02:35:44 +0900</pubDate>
    </item>
    <item>
      <title>[스프링(Spring)] 이클립스 인코딩 UTF-8 설정</title>
      <link>https://gongcha.tistory.com/4</link>
      <description>&lt;p&gt;개발환경 : Mac OS&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Preference 환경설정&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;맥에서 환경설정시 Preference 메뉴가 안보일 경우&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; : &amp;nbsp;command + , 를 클릭하거나 최상단메뉴의 이클립스를 클릭해서 환경설정을 누른다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2120E84C57E6C02205&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2120E84C57E6C02205&quot; width=&quot;580&quot; height=&quot;511&quot; filename=&quot;스크린샷 2016-09-25 오전 3.01.50.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2623284C57E6C02304&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2623284C57E6C02304&quot; width=&quot;580&quot; height=&quot;168&quot; filename=&quot;스크린샷 2016-09-25 오전 3.02.11.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2720F44C57E6C02405&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2720F44C57E6C02405&quot; width=&quot;580&quot; height=&quot;279&quot; filename=&quot;스크린샷 2016-09-25 오전 3.02.21.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2421004C57E6C02505&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2421004C57E6C02505&quot; width=&quot;580&quot; height=&quot;227&quot; filename=&quot;스크린샷 2016-09-25 오전 3.02.34.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2721184C57E6C02605&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2721184C57E6C02605&quot; width=&quot;580&quot; height=&quot;174&quot; filename=&quot;스크린샷 2016-09-25 오전 3.02.40.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>웹개발/Spring Framework</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/4</guid>
      <comments>https://gongcha.tistory.com/4#entry4comment</comments>
      <pubDate>Sun, 25 Sep 2016 03:05:53 +0900</pubDate>
    </item>
    <item>
      <title>[스프링(Spring)] Mac 개발환경설정</title>
      <link>https://gongcha.tistory.com/3</link>
      <description>&lt;p&gt;&amp;nbsp;Mac 환경에서 스프링 환경을 설정 과정과&amp;nbsp;발생했던 오류 들에 대해 적어보았다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;1. JDK 설치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;환경변수 설정(vi&amp;nbsp;~/.bash_profile)&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 700px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2742544D57E6A0DC07&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2742544D57E6A0DC07&quot; width=&quot;700&quot; height=&quot;37&quot; filename=&quot;스크린샷 2016-09-25 오전 12.48.57.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;2. Tomcat 설치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 터미널 실행 : sh tomcat/bin/startup.sh&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;3. STS(Spring tool suite) 설치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;4. 프로젝&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;트 생성 및 Tomcat 연동&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; 1)&amp;nbsp;프로젝트 생성 시(Spring Lagacy Project)에서 Spring MVC Project가 안보일 경우 configure templetes에서 다음과 같이 설정한다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/24277A5057E6B87F33&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F24277A5057E6B87F33&quot; width=&quot;580&quot; height=&quot;193&quot; filename=&quot;스크린샷 2016-09-25 오전 2.30.55.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;2) Tomcat 서버 연동 시 버전에 따라 오류가 발생할 경우 (&lt;span style=&quot;background-color: rgb(255, 248, 220); color: rgb(36, 39, 41); font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px;&quot;&gt;The Apache Tomcat installation at this directory is version 8.5.0. A Tomcat 8.0 installation is expected.)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;stackoverflow에서 해결방법이 있었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 580px; text-align: center;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2172D23557E6BAAA09&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2172D23557E6BAAA09&quot; width=&quot;580&quot; height=&quot;303&quot; filename=&quot;스크린샷 2016-09-25 오전 2.39.48.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;5. Git 설치 &amp;amp; 소스트리 설치&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;참고 :&amp;nbsp;http://hackersstudy.tistory.com/41&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description>
      <category>웹개발/Spring Framework</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/3</guid>
      <comments>https://gongcha.tistory.com/3#entry3comment</comments>
      <pubDate>Sun, 25 Sep 2016 02:54:33 +0900</pubDate>
    </item>
    <item>
      <title>부트스트랩 프레임워크 다운로드</title>
      <link>https://gongcha.tistory.com/2</link>
      <description>&lt;p&gt;&lt;b&gt;1) 부트스트랩 다운로드&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;http://getbootstrap.com/ 에서 다운 받아 사용하지만 CDN으로 링크해도 된다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;2)부트스트랩 CDN LINK&lt;/b&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 1.42857; color: rgb(51, 51, 51); word-break: normal; word-wrap: break-word; border: 0px; border-radius: 4px; white-space: nowrap; background-color: transparent;&quot;&gt;&lt;code class=&quot;language-html&quot; data-lang=&quot;html&quot; style=&quot;box-sizing: border-box; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; padding: 0px 45px 0px 0px; border-radius: 0px; white-space: pre-wrap; display: inline-block; background-color: transparent;&quot;&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: rgb(153, 153, 153);&quot;&gt;&amp;lt;!-- Latest compiled and minified CSS --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot; style=&quot;box-sizing: border-box; color: rgb(47, 111, 159);&quot;&gt;&amp;lt;link&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;rel=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;stylesheet&quot;&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css&quot;&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;integrity=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u&quot;&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;crossorigin=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;anonymous&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot; style=&quot;box-sizing: border-box; color: rgb(47, 111, 159);&quot;&gt;&amp;gt;&lt;/span&gt;

&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: rgb(153, 153, 153);&quot;&gt;&amp;lt;!-- Optional theme --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot; style=&quot;box-sizing: border-box; color: rgb(47, 111, 159);&quot;&gt;&amp;lt;link&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;rel=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;stylesheet&quot;&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css&quot;&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;integrity=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp&quot;&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;crossorigin=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;anonymous&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot; style=&quot;box-sizing: border-box; color: rgb(47, 111, 159);&quot;&gt;&amp;gt;&lt;/span&gt;

&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: rgb(153, 153, 153);&quot;&gt;&amp;lt;!-- Latest compiled and minified JavaScript --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot; style=&quot;box-sizing: border-box; color: rgb(47, 111, 159);&quot;&gt;&amp;lt;script &lt;/span&gt;&lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;src=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js&quot;&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;integrity=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa&quot;&lt;/span&gt; &lt;span class=&quot;na&quot; style=&quot;box-sizing: border-box; color: rgb(79, 159, 207);&quot;&gt;crossorigin=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: rgb(212, 73, 80);&quot;&gt;&quot;anonymous&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot; style=&quot;box-sizing: border-box; color: rgb(47, 111, 159);&quot;&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;3) 직접 서버를 관리하는 경우&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Bower나 npm 프로그램을 설치한 후 부트스트랩 설치&lt;/p&gt;</description>
      <category>웹개발/Bootstrap</category>
      <author>신수동이</author>
      <guid isPermaLink="true">https://gongcha.tistory.com/2</guid>
      <comments>https://gongcha.tistory.com/2#entry2comment</comments>
      <pubDate>Tue, 23 Aug 2016 23:13:31 +0900</pubDate>
    </item>
  </channel>
</rss>