API Drag 사용자 메뉴얼
  • 시작하기
    • 기본 개념 이해하기
      • Coding 기초
      • JSON 구조
      • 아이템 블록
      • 메모리 구조
      • 자격증명
    • Flow 작성
    • 데이터 컨트롤
    • 테스트 및 디버그
    • 스케쥴링
    • Agency
  • BASIC ITEMS
    • Controls
      • Branch
      • Loop
      • Assign
    • Input Data
      • Google Sheets
      • CSV File
    • Output Data
      • Google Sheets
      • Text File
      • Email
    • Web Service
      • Http Request
      • Http In
      • Http Response
      • Http Redirect
  • KAKAO API
    • API References
      • 카카오 로그인
        • 로그인
        • 카카오 로그아웃
        • 서비스 로그아웃
        • 연결하기
        • 연결끊기
        • 토큰정보
        • 토큰발급
        • 토큰 권한검증
        • 토큰갱신
        • 사용자 정보
        • 사용자 목록
        • 여러 사용자 정보
        • 사용자 정보 저장하기
        • 동의 철회하기
        • 동의한 약관
        • 배송지 가져오기
      • 카카오톡 소셜
        • 내 프로필 조회
        • 친구 목록 조회
      • 메시지
        • 나에게 보내기
        • 친구에게 보내기
        • 나에게 템플릿 보내기
        • 친구에게 템플릿 보내기
        • 나에게 스크랩 보내기
        • 친구에게 스크랩 보내기
      • 푸시 알림
        • 푸시 토큰 등록하기
        • 푸시 토큰 보기
        • 푸시 토큰 삭제하기
        • 푸시 알림 보내기
      • 톡캘린더
        • 목록 가져오기
        • 캘린더 생성하기
        • 캘린더 수정하기
        • 캘린더 삭제하기
        • 일정 생성하기
        • 일정목록 가져오기
        • 일정 상세조회
        • 일정 수정하기
        • 일정 삭제하기
        • 공개일정 생성하기
        • 공개일정 목록 가져오기
        • 공개일정 상세조회
        • 공개일정 수정하기
        • 공개일정 삭제하기
        • 공개일정 캘린더에 추가하기
        • 구독가능 캘린더 가져오기
        • 구독하기
        • 구독 해지하기
        • 구독 게스트 일정 수정하기
        • 공휴일 및 주요 기념일
      • 로컬
        • 주소 검색하기
        • 좌표로 행정구역정보 받기
        • 좌표로 주소 변환하기
        • 좌표계 변환하기
        • 키워드로 장소 검색
        • 카테고리로 장소 검색
      • 카카오스토리
        • Page 64
        • Page 63
        • Page 62
        • Page 61
        • Page 60
        • Page 59
        • Page 58
        • Page 57
        • Page 56
        • Page 55
      • 카카오톡 채널
        • Page 69
        • Page 68
        • Page 67
        • Page 66
        • Page 65
      • 인공지능 포즈
        • Page 72
        • Page 71
        • Page 70
      • 인공지능 KoGPT
        • Page 73
      • 인공지능 Karlo
        • Page 76
        • Page 75
        • Page 74
      • Daum 검색
        • Page 82
        • Page 81
        • Page 80
        • Page 79
        • Page 78
        • Page 77
  • NAVER API
    • API References
      • 검색
        • Page 96
        • Page 95
        • Page 94
        • Page 93
        • Page 92
        • Page 91
        • Page 90
        • Page 89
        • Page 88
        • Page 83
        • Page 84
        • Page 85
        • Page 86
        • Page 87
      • 로그인
        • Page 103
        • Page 102
        • Page 101
        • Page 100
        • Page 99
        • Page 98
        • Page 97
      • Papago 번역
        • Page 106
        • Page 104
        • Page 105
      • CLOVA 얼굴인식
        • Page 108
        • Page 107
      • 검색어트렌드
        • Page 109
      • 쇼핑인사이트
        • Page 117
        • Page 116
        • Page 115
        • Page 114
        • Page 113
        • Page 112
        • Page 111
        • Page 110
      • 캡차
        • Page 123
        • Page 122
        • Page 121
        • Page 120
        • Page 119
        • Page 118
      • 캘린더
        • Page 124
      • 카페
        • Page 126
        • Page 125
      • 단축 URL
        • Page 127
  • GOOGLE API
    • API References
      • Login
        • 로그인
        • 토큰발급
        • 토큰취소
        • 토큰갱신
        • 토큰 권한검증
        • 사용자 정보
      • Contact
        • 연락처그룹 목록
        • 연락처그룹 정보
        • 연락처그룹 만들기
        • 연락처그룹 삭제
        • 연락처그룹 수정
        • 그룹 내 연락처 등록
        • 그룹 내 연락처 등록해지
        • 기타연락처 목록
        • 기타연락처 검색
        • 기타연락처를 내연락처로 복사
        • 연결된 연락처 목록
        • 연락처 만들기
        • 연락처 보기
        • 연락처 삭제
        • 연락처 사진 삭제
        • 연락처 검색
        • 연락처 업데이트
        • 연락처 사진 업데이트
        • 연락처 일괄삭제
      • Calendar
        • 캘린더 목록
        • 캘린더 목록 정보
        • 캘린더 목록 삽입
        • 캘린더 목록 패치
        • 캘린더 목록 업데이트
        • 캘린더 목록 삭제
        • 캘린더 정보
        • 캘린더 삽입
        • 캘린더 패치
        • 캘린더 업데이트
        • 기본 캘린더 일정 지우기
        • 보조 캘린더 삭제
        • 이벤트 목록
        • 이벤트 정보
        • 이벤트 복사
        • 이벤트 추가
        • 반복 이벤트 목록
        • 이벤트 빠른추가
        • 이벤트 패치
        • 이벤트 수정
        • 이벤트 이동
        • 이벤트 삭제
        • 액세스 목록
        • 액세스 정보
        • 액세스 추가
        • 액세스 패치
        • 액세스 수정
        • 엑세스 삭제
        • 캘린더 채널 중지
        • 캘린더 색상 정보
        • 캘린더 Free/Busy 정보
Powered by GitBook
On this page
  • 데이터 타입
  • 변수와 상수
  • 조건문
  • 반복문
  1. 시작하기
  2. 기본 개념 이해하기

Coding 기초

API Drag는 초보자도 쉽게 Macro 서비스를 개발할 수 있도록 하는 것을 목표로 합니다. 하지만 보다 풍부한 기능을 구현하기 위해서는 아래 초보적인 수준의 코딩 개념을 익히는 것을 추천드립니다.

저희 튜토리얼에서 제공하는 기초 개념만 알고 있으면 저희 API Drag 서비스를 이용하여 다양한 Macro 서비스를 개발할 수 있습니다.

데이터 타입

API Drag 서비스는 JavaScript 언어를 인식하고 사용할 수 있습니다. 또한 Project 편집기 내 아이템 블럭에서 사용할 수 있는 모든 데이터의 타입을 JavaScript 기준에 맞추었습니다.

JavaScript 가 아닌 다른 언어에서는 다양한 데이터 타입이 사용되지만, JavaScript에서 변수는 데이터 타입을 구분하지 않습니다. 다만, 데이터를 변수에 담을 때의 형태에 따라 자동으로 데이터 타입을 구분합니다. 따라서 아래 제공하는 세 종류의 데이터 타입의 구분만 이해하시면 API Drag를 이용하시는데 문제가 없습니다.

string

문자열 데이터입니다. 보통 " 와 " , 또는 ' 와 ' 사이에 존제하는 문자 전체를 문자열이라고 합니다.

예를 들면 "동해물과 백두산이" 와 "1234" 모두 문자열입니다.

number

숫자형 데이터에는 Short, Integer, Long, Float, Double 등 데이터의 크기에 따라 다양하게 존재합니다. 그러나 JavaScript에서는 이러한 데이터타입을 구분하지 않고 number 타입 하나로 취급합니다.

코딩시에 변수에 숫자형 데이터를 답고 싶다면 키보드 자판위에 숫자와 소숫점을 위한 . 기호로 구성된 데이터면 충분합니다. 여기에 양수와 음수를 구분하기 위해 (-) 를 앞에 붙여주면 음수 데이터가 됩니다.

예를 들면 1234, 123.4, -3456 등이 number 데이터입니다.

boolean

boolean 은 참/거짓 데이터를 담을 수 있는 데이터형입니다.

변수에 값을 담을 때에는 따옴표문없이자 true 혹은 false 를 지정하면 되지만, 문자열처럼 보인다고 "true" 나 "false" 로 하게되면 boolean 데이터형이 아니라 문자형으로 인식하게 되기 때문에 주의 하셔야 합니다.

boolean 형 데이터는 주로 판단 용도로 사용 됩니다. 아래 설명하게 될 조건문에서는 필수이므로 간단하지만 잘 기억해두세요.

변수와 상수

블록: 코딩은 블록과 블록으로 영역을 구분하여 작업을 수행합니다. 하나의 블록은 "{" 와 "}" 로 감싸인 내부 영역을 하나의 블록으로 취급합니다.

위에서 데이터타입에 대하여 설명을 드렸습니다. 데이터타입은 메모리에 존재하는 실질적인 값입니다. 그러나 우리는 코딩에서 그 값을 바로 사용할 수 없습니다. 그래서 그 값을 대표하는 변수를 선언하여 대신 활용하게 됩니다.

변수라는 뜻은 그 한자 의미에서도 알 수 있듯 변한다는 의미입니다. 코딩에서 변수를 선언하면, 그 변수 안에 들어있는 값은 변할 수 있다는 뜻 입니다.

변수의 반대 키워드로는 상수가 있습니다. 상수는 한번 선언이 되면 값을 바꿀 수 없다는 의미입니다.

JavaScript 에서 변수를 선언하는 방법 2가지와 상수 선언 1가지에 대하여 알아보겠습니다.

  1. const : 상수 선언을 위한 키워드 입니다. 최초에 상수를 선언하면 그 값을 바꿀 수 없습니다.

  2. let : 변수를 선언하는 방법 중 1가지 입니다. let로 선언한 변수는 그 값은 변경될 수 있지만 동일 블록 내에서는 재선언 할 수 없습니다.

  3. var : 변수를 선언하는 방법 중 마지막 입니다. 이 방법은 언제든 값을 바꿀 수 있고 재선언도 가능한 방법입니다.

이제 변수와 상수를 선언하는 예제를 보겠습니다.

const COUNTRY_CODE = 82;

var company = "Apple";
let memberName = "홍길동";
let age = 33;
let weight = 78.3;
let isKind = true;

var company = "Samsung"; //company 변수 재선언
memberName = "전우치";
age = 32;
weight = 77.6;
isKind = false;

위 예제를 보시면 다양한 데이터 타입과, 변수 및 상수 선언 방법에 대하여 제시를 하였습니다. 앞서 설명드린 내용을 잘 읽어보시면서 예제의 패턴들을 비교해 보세요.

조건문

조건문은 코딩의 흐름을 제어하는 기능으로, 조건의 맞고 틀림을 이용하여 개발자가 미리 준비해 놓은 흐름으로 유도할 수 있도록 합니다.

조건문은 모두 if, else if, else 키워드로 표현이 됩니다.

if 문장에서 조건을 제시하여 맞는다면 그 내부의 코딩 영역(블록)을 수행할 것이고, 맞지 않는다면 내부의 코딩 영역(블록)을 Skip 하고 지나갈 것입니다.

else if 키워드는 if 키워드 다음에 올 수 있습니다. 만약 if 키워드에 의해 검증한 조건이 맞지 않는다면 다음 블록으로 지정된 else if 블록 조건을 검증하게 됩니다. if 키워드는 조건문에 한번 사용되지만 else if 키워드는 원하는 만큼 여러번 사용이 가능합니다.

else 키워드는 조건문에 필수는 아니지만, 항상 조건문의 마지막에 단 한번 사용할 수 있습니다. 조건문의 흐름에서 if와 else if 의 조건에 맞지 않았다면 마지막에 만나는 else 를 수행하게 될 것입니다.

아래 몇가지 패턴의 조건문 예제를 보겠습니다.

const hwangab = 60;
let age = 51;
let decision = "";

if(age < hwangab){
    decision = "Still baby.";
}else if(age == hwangab){
    decision = "Hmm, boy!";
}else{
    decision = "Finally, man.";
}
let nationality = "Korean";
if(nationality != null){
    console.log(nationality);
}

if(nationality == "American"){
    console.log("Speak English.");
}else{
    console.log("Do you speak Korean?");
}

null : 변수에 어떠한 값도 할당되지 않았다는 의미입니다. 가끔 공백문자와 혼동하는 경우가 있는데, 공백문자 선언을 보면 let empty = ""; 와 같이 선언되는데, 이는 공백인 문자가 변수에 할당 된 것이지 null과는 구분이 되어야 합니다.

반복문

코딩을 단순하게 정의를 하자면, '조건문을 통해 흐름을 제어하고 반복문을 통해 자동화를 하는 것이다.' 라고 말할 수 있습니다. 앞에서 조건문을 알아봤으니 이제 반복문을 알면 코딩의 기초는 모두 끝납니다.

반복문의 키워드는 for 와 while 두 종류가 있습니다. for 키워드의 경우 반복의 횟수를 중심으로 순환하는 방식이라면 while 은 조건이 만족하거나 만족하지 않는 기준을 중심으로 순환하는 방식입니다.

for문 예제

for(let i=0; i<10; i++){
    console.log(i);
}

실행결과

0
1
2
3
4
5
6
7
8
9

위 for 문장을 해설하자면, 우선 i 라는 변수에 0을 할당합니다. 그리고 그 값이 10보다 작은지 조건을 확인하고, 조건을 만족한다면 블록 안으로 진입해서 변수 i 에 할당되어 있는 0을 프린트 합니다. 그리고 블록의 마지막을 만나기 때문에 다시 for 문장으로 돌아갑니다.

이 때에는 i++ 을 먼저 수행합니다. i++ 을 풀어서 설명하자면 i = i + 1; 과 같은 의미입니다. 이렇게 1이 증가한 i 의 값은 1이 되며, 다시 10보다 작은 조건에 만족하는지 다시 점검합니다. 그리고 조건을 만족한다면 다시 블록으로 진입하여 다시 i 값인 1 을 프린트 합니다.

이 과정을 10보다 작은 경우 반복하기 때문에, 프린트 되는 i 의 값은 0 ~ 9 까지 입니다.

while문 예제

let i = 0;

while(i<10){
    console.log(i);
    i++;
}

실행결과

0
1
2
3
4
5
6
7
8
9

위 while문 역시 실행 결과는 for문 코드와 동일합니다. 하지만 변수의 선언과 변수의 변화가 일어나는 위치가 다릅니다.

실행 절차를 설명드리면, 우선 i 라는 변수에 0을 할당하였습니다. 그리고 while 문 조건 비교에서 i의 값이 10보다 작은지 검증합니다. 조건이 만족하면 블록 내부를 수행합니다. 블록 내부에는 i 의 값을 프린트하는 코드와 i 의 값을 증가시키는 코드가 존재합니다.

이렇게 반복되는 수행을 통해 i 의 값은 계속 증가하여 10이 되었을 때, while 의 조건에 만족하지 않기 때문에 반복수행이 끝나게 됩니다.

while 키워드의 동작방식과 for 키워드의 동작방식을 비교하기 위하여 위 예제를 제시했지만 while의 경우 보다 다양한 조건 검증을 통한 반복작업 수행이 가능합니다.

아래 또 다른 예제를 보겠습니다.

let isHappy = true;
let anger = 0;

while(isHappy){
    console.log("Live together.");
    if(anger == 5){
        isHappy = false;
    }
    anger++;
}

console.log("Moved home.");

이번 두번째 예제는 첫 예제보다는 조금 복잡하게 구성을 해 봤습니다. 제가 제시한 예제 외에도 더 많은 케이스가 존재하지만 기초에서는 이 정도만 이해하셔도 완벽합니다.

Previous기본 개념 이해하기NextJSON 구조

Last updated 2 years ago