# 2. Advanced technical nodes

HTTP 노드는 인증과 페이지 매김을 효율적으로 처리하여 API 요청을 간소화합니다.

### 고급 n8n 과정: HTTP 및 코드 노드 기술

- 📹 n8n 고급 과정의 두 번째 동영상에서는 워크플로에서 **HTTP 노드와 코드 노드를 효과적으로 활용**하는 데 중점을 두었습니다.

- 🔗 HTTP 노드는 사용자가 페이지 매김 설정을 구성할 수 있도록 하여 API 요청을 간소화하므로 **수동 루프가 필요 없어 시간을 절약**할 수 있습니다.

- 🔑 또한 **사전 정의된 자격 증명을 인증에 사용할 수 있어 복잡한 설정 없이도 다양한 서비스에 쉽게 액세스**할 수 있습니다.

- 🌀 주목할 만한 기능은 **cURL 명령을 HTTP 노드로 직접 가져올 수** 있어 API 요청에 대한 구성 프로세스를 간소화할 수 있다는 것입니다.

- 📊 코드 노드는 사용자가 입력 항목에서 **JavaScript 또는 Python 스크립트를 실행**하여 복잡한 데이터 변환 및 계산을 가능하게 함으로써 유연성을 향상시킵니다.

- 🔍 사용자는 **중복 항목 찾기나 평균 계산 등 당면한 작업**에 따라 모든 항목에 대해 코드를 한 번 실행하거나 각 항목에 대해 개별적으로 실행하는 방법을 선택할 수 있습니다.

- 📅 또한 이 과정에서는 정확한 변환을 위해 날짜 문자열을 날짜 객체로 다시 변환하는 것의 중요성을 강조하면서 **loxon 라이브러리의 함수를 사용하여 날짜를 처리하는 방법**도 다루었습니다.

- 💡 전반적으로 이러한 노드를 마스터하면 사용자는 n8n**에서 보다 효율적이고 효과적인 워크플로**를 구축할 수 있는 강력한 도구를 갖추게 됩니다.

LiveWiki, 유튜브 속 핵심 내용을 10초 만에! - [https://livewiki.com/ko/content/n8n-advanced-course-technical-nodes](https://livewiki.com/ko/content/n8n-advanced-course-technical-nodes)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094033_YXO1P8z6DjVEx5mpyj?q=80&s=1280x180&t=outside&f=webp)

- 이번 영상에서는 고급 노드들, 특히 **Expressions** 사용법을 설명함.

- Expressions는 항목 데이터를 액세스하는 방법으로, 드래그 앤 드롭으로 쉽게 생성 가능.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094034_SiW8YdDFEnRuHe4Dsv?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094035_5HR1eNhmbr9LMKXDmu?q=80&s=1280x180&t=outside&f=webp)

- Expressions는 기본적인 산술 연산이나 JavaScript로 작성 가능.

- n8n에는 숫자, 날짜, 문자열을 처리하는 다양한 내장 함수들이 포함되어 있음.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094035_hJWiKC0t9elomZT0nw?q=80&s=1280x180&t=outside&f=webp)

- 유용한 내장 함수 예시: **isEmpty**, **hasField**, **removeDuplicates**, **extractDomain** 등.

- 전체 목록은 n8n 문서에서 확인 가능.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094036_BMOZZWlVTgiGGBmI8t?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094037_oIv5Zt3QFgBd3icgah?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094038_0A2BuKpuhEO6ls5oOk?q=80&s=1280x180&t=outside&f=webp)

- 날짜 및 시간 처리에 **Luxon** 라이브러리를 사용.

- **$now** 등 다양한 시간 관련 기능을 제공하며, 날짜 객체를 문자열로 변환하는 기능도 있음.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094039_hc6NJ4HCPq6UhQPocv?q=80&s=1280x180&t=outside&f=webp)

- **Code 노드** 소개: JavaScript나 Python 코드를 사용하여 입력 항목을 처리하고 새로운 출력 항목을 생성 가능.

- 코드 노드에서 출력 값은 JSON 객체 배열 형태로 반환되어야 함.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094040_wrjPXUSZYwAwjKdDXI?q=80&s=1280x180&t=outside&f=webp)

- Code 노드에서 **$input.all**로 모든 입력 항목을 가져올 수 있음.

- 코드 실행 방식: 모든 항목에 대해 한 번 실행하거나, 각 항목에 대해 개별 실행할 수 있음.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094041_Nyg44mzp9Ta1Tr4SXc?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094042_rJRSOcm7pDiJKTciex?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094042_e6eyLCsxhLLRZOSC0F?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094043_Y00ePpi3AOXPI0aOnV?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094044_wnc4RD4XqdRESdl08q?q=80&s=1280x180&t=outside&f=webp)

- **HTTP 노드**: API 요청을 만들기 위한 노드로, 요청의 각 부분을 설정 가능.

- 페이징 처리, 타임아웃 등 고급 설정이 가능하며, 자격 증명 사용을 쉽게 설정할 수 있음.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094045_EVfHq8h8iUXxOhQdR9?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094046_yd7hs1qZTCVgPpkttW?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094046_pkOdd3D17rMRo0chqN?q=80&s=1280x180&t=outside&f=webp)

- **curl** 명령어를 가져와 HTTP 노드를 설정할 수 있음.

- API 문서에서 제공하는 curl을 복사하여 노드에 붙여넣으면 자동으로 설정됨.

![Image](https://upload.cafenono.com/image/slashpageHome/20250422/094047_5QbZeIzrUiniQgR7pw?q=80&s=1280x180&t=outside&f=webp)

- Code 노드 실습: 코드 노드에서 항목에 새 필드를 추가하고 출력하는 예시.

- 각 항목에 대해 새로운 필드를 추가하는 두 가지 실행 방식 비교.

- **10:04 – 11:21:**

    - Google Sheets에서 데이터를 가져와 Code 노드를 사용하는 예시.

    - 총 주문 금액을 계산하는 코드를 작성하고 그 결과를 반환.

- **11:21 – 12:13:**

    - 코드에서 실수를 찾고 디버깅하는 방법 설명.

    - **console.log**를 사용하여 값이 제대로 증가하는지 확인.

- **12:13 – 13:41:**

    - 각 항목에 대해 개별 실행하는 코드 예시: 평균 주문 금액을 계산하는 코드 작성.

- **13:41 – 14:47:**

    - Code 노드에서 Expressions나 변수, JavaScript 내장 함수들을 자유롭게 사용 가능.

- **14:47 – 15:34:**

    - **curl** 가져오기 예시: API 문서에서 curl을 복사하여 HTTP 노드에 붙여넣어 자동 설정.

- **15:34 – 끝:**

    - curl을 통해 HTTP 노드를 설정하고 API 요청을 성공적으로 실행한 예시.

    - 이번 영상에서는 Expressions, Code 노드, HTTP 노드를 다룸.

    - 다음 영상에서는 데이터 고정(Pinning Data)과 출력 편집(Editing Outputs)을 다룰 예정.

For the site tree, see the [root Markdown](https://slashpage.com/n8n-guide.md).
