골든래빗은 더 탁월한 가치를 제공하는 콘텐츠 프로덕션 & 프로바이더 입니다. 골든래빗은 취미, 경제, 수험서, 만화, IT 등 다양한 분야에서 책을 제작하고 있습니다.골든래빗은 더 탁월한 가치를 제공하는 콘텐츠 프로덕션 & 프로바이더 입니다. 골든래빗은 취미, 경제, 수험서, 만화, IT 등 다양한 분야에서 책을 제작하고 있습니다.

아티클

다양한 읽을거리를 확인해 보세요.
전체 353
꼭 알아야 하는 네트워크 동작 구조와 원리
꼭 알아야 하는 네트워크 동작 구조와 원리

꼭 알아야 하는 네트워크 동작 구조와 원리

📅 2026년 5월 18일 · 👁 14

꼭 알아야 하는 네트워크 동작 구조와 원리AWS를 쓰는데 네트워크에 대한 이해가 왜 필요할까요? 그 이유는 클라우드 컴퓨팅 기술을 기반으로 AWS가 제공하는 서비스가 클라우드 네트워킹이기 때문입니다. AWS의 네트워크 환경을 이해하기에 앞서 기본적으로 네트워크에서 자주 사용되는 용어를 알아보겠습니다.1. 네트워크란 무엇인가?네트워크Network는 쉽게 생각하면 두 대 이상의 컴퓨터가 연결되어 통신할 수 있는 형태를 의미합니다. 즉 여러 대의 컴퓨터가 통신 기술을 이용하여 그물망처럼 상호 연결되어 있는 구조를 가리키며, 여러 대의 컴퓨터는 각각 다른 컴퓨터와 직접적으로 연결되어 통신합니다. 네트워크 상에 있는 컴퓨터들은 서로 데이터를 전송하거나 파일을 공유할 수 있으며, 디지털 미디어를 네트워크를 통해 재생할 수 있으며 광대역 인터넷 연결을 공유를 통해 인터넷에 접속하여 정보를 검색하고 전송할 수 있습니다. 이런 데이터 통신을 가능하게 하기 위해 네트워크에서는 다양한 프로토콜과 기술을 사용합니다.2. 통신 규약, 프로토콜프로토콜Protocol은 컴퓨터에서 데이터를 교환하기 위해 정해진 순서나 규약, 신호의 전기적 규칙, 통신에서의 송수신 순서 등을 정한 규칙의 체계를 말합니다. 즉, 프로토콜은 ‘통신하기 위해 지켜야 할 약속이자 규칙’입니다. 예를 들어 한국어로 인사를 건냈을 때 상대방이 영어 혹은 외국어로 대답한다면 알아들을 수 있을까요? 인사를 주고받는 상황에서 서로 사용하는 언어가 다를 경우 상대방의 언어를 알아들을 수 없기 때문에 의사소통에 문제가 발생할 수 있습니다.컴퓨터 간의 통신에서도 마찬가지로 서로 다른 규칙을 가진 때에는 데이터를 올바르게 해석하기 어려울 수 있습니다. 컴퓨터나 전자기기의 원활한 통신을 위해 교환되는 자료형식에 대해 상호 합의를 하고 어떤 프로토콜을 사용할지 규칙을 정했습니다. 이런 규칙을 통신 프로토콜이라고 합니다. 예를 들어 이메일을 보낼 때는 SMTPSimple Mail Transfer Protocol 프로토콜을 사용하여 이메일 서버에 이메일을 전송합니다. 홈페이지를 열람할 때는 웹브라우저가 HTTPHyperText Transfer Protocol 프로토콜을 사용하여 웹 서버로부터 웹페이지를 요청하고 받아옵니다.자주 사용되는 통신 프로토콜은 무엇이 있는지 다음 표를 통해 알아봅시다.이 외에도 다양한 통신 프로토콜이 존재하며 통신에 필요한 상황과 요구사항을 고려하여 적절한 프로토콜을 선택하고 활용하는 것이 중요합니다. 적절한 프로토콜을 이용하여 효율적이고 안전한 통신을 할 수 있으며 원활한 네트워크 환경을 구축할 수 있습니다. 이 책에서는 AWS 클라우드를 잘 이해하기 위해 꼭 알아야 하는 프로토콜인 IP를 자세히 설명합니다. IP는 서버 간 통신의 핵심이며, 웹 서버와 같은 서비스를 운영하거나 이해하기 위해 꼭 알아야 하는 내용입니다. 다음 내용을 통해 IP 자세히 알아봅시다.3. IPIPInternet Protocol는 인터넷에 연결된 장치를 식별할 수 있도록 각각에 부여된 고유 주소입니다. 각 IP 주소는 해당 컴퓨터의 신원을 나타내며 이를 기반으로 데이터를 주고받을 수 있습니다. IP 주소는 IPv4와 IPv6 두 가지 버전이 있습니다. 각 버전이 왜 생겼고 특징은 무엇인지 상세히 알아봅시다.IPv4와 IPv6IPv4는 version 4의 약자로 32비트 주소로 약 43억 개의 IP 주소를 제공합니다. IPv4는 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이자 현재까지 가장 널리 사용되는 버전으로, 전 세계가 공용으로 사용하고 인터넷 사용자 수가 급증하면서 IPv4가 고갈될 문제 상황에 처했습니다. 이런 문제를 해결하기 위해 등장한 것이 IPv6입니다. IPv6는 IP version 6의 약자로 IPv4의 주소 체계를 128비트 크기로 확장하여 제공하는 차세대 인터넷 프로토콜 주소로 340간 개의 IP 주소를 제공합니다. 그러나 현재 대다수의 웹사이트와 네트워크가 아직은 IPv4를 주로 사용하고 있어서 기존의 인프라와 호환성 문제 등이 아직 많습니다. 또한 IPv6를 지원하지 않는 웹사이트들이 많이 있기 때문에 IPv6의 보급과 전환은 아직까지 완전히 이루어지지 않았습니다. 그렇기 때문에 IPv4와 IPv6를 동시에 지원하는 이중 스택 방식을 사용하여 네트워크를 운영하는 경우도 있습니다. AWS도 IPv4와 IPv6 두 가지 버전을 지원하고 있지만 아직까지 IPv4의 네트워크 환경 구성이 주를 이루고 있습니다. 이 책에서는 현재 대다수 웹사이트와 네트워크가 주로 사용하는 IPv4 주소를 IP 주소라 칭하겠습니다.IP 주소 구조 살펴보기컴퓨터를 사용하는 사람이라면 누구나 IP 주소를 가지고 있습니다. 앞의 그림은 IPv4 주소 형태로, 가장 널리 사용되고 있기 때문에 이를 바탕으로 IP 주소 구조가 어떻게 이루어져 있는지 살펴보겠습니다.우리가 보는 IP 주소는 그림처럼 사람이 이해하고 기억하기 쉽도록 10진수로 변환하여 사용하고 있습니다. 하지만 IP 주소는 사실 0과 1로만 표기하는 이진수 32자리로 구성되어 있습니다. IP는 일반적으로 4개의 숫자 사이에 마침표로 구분하여 표시하며, 이 4개의 숫자는 각각 8비트씩 4 그룹으로 나누어진 것으로 이렇게 8개의 비트가 한데 모인 것을 옥텟octet이라 합니다.▶ 이진수로 표기된 IP 주소는 사람이 알아보기 어렵기 때문에 10진수로 변환하여 사용합니다. ▶ 0 또는 1을 나타내는 정보의 최소 단위를 비트(bit)라고 합니다.4. IP 주소 체계IP 주소 체계에서는 네트워크 주소와 브로드캐스트 주소가 존재하며, 이 주소들은 사용할 수 없는 주소로 간주됩니다. 네트워크 주소는 해당 네트워크의 첫 번째 주소를 나타내며, 네트워크 전체 대역대를 의미하기 때문에 사용할 수 없는 주소입니다. 예를 들어 192.168.1.0은 네트워크의 첫 번째 주소로 ‘192.168.1.1 ~ 192.168.1.5는 192.168.1.0의 네트워크에 속해 있다’라고 말할 수 있습니다. 브로드캐스트 주소는 해당 네트워크의 마지막 주소를 나타내며, 이 주소는 해당 네트워크 상의 모든 장치에게 데이터를 전송하는 데 사용되는 주소입니다. 따라서 브로드캐스트 주소 또한 사용할 수 없는 주소로 간주됩니다. 예를 들어 192.168.1.255는 네트워크 마지막 주소인 브로드캐스트 주소를 나타냅니다.IP의 종류IP 주소는 공인 IP 주소와 사설 IP 주소로 나누어지게 되며, 공인 IP 주소는 인터넷에서 전 세계적으로 유일한 주소로 사용됩니다. 이런 IP 주소는 인터넷 서비스 제공업체에 의해 할당되며, 인터넷을 통해 직접 접근할 수 있는 주소입니다. 공인 IP 주소와 사설 IP 주소로 나누어진 이유는 IPv4의 주소 고갈 문제 때문입니다. 이로 인해 모든 네트워크 장치에 공인 IP 주소를 할당하는 것은 현실적으로 불가능합니다. 따라서 인터넷에 직접 연결되는 컴퓨터나 라우터에는 인터넷 서비스 제공업체를 통해 공인 IP 주소를 할당받고, 가정이나 회사 내부의 컴퓨터와 장치들은 사설 IP 주소를 사용하는 방식이 도입되었습니다. 사설 IP 주소는 비공개적인 네트워크에서 사용되는 주소입니다. 이 주소는 개인적인 네트워크나 회사 내부 네트워크에서 사용됩니다. 그렇다면 클래스에서 네트워크 ID와 호스트 ID는 무엇을 의미할까요?네트워크 규모로 나눈 IP 클래스 이해하기IP 주소는 네트워크 규모에 따라 A ~ E 클래스로 나누어져 있습니다.일반적으로는 A ~ C 클래스까지 사용합니다. D와 E 클래스는 멀티캐스트 혹은 연구 및 특수 용도로 사용되는 주소이기 때문에 일반적으로 A ~ C 클래스만을 사용하고 있습니다.클래스와 네트워크 ID와 호스트 ID 관계클래스에서 네트워크 ID는 특정 네트워크를 식별하는 데 사용되는 부분입니다. 예를 들어 회사에서 C 클래스의 192.168.1.0 네트워크 주소를 할당했다면, 이 네트워크를 식별하는 네트워크 ID는 192.168.1입니다. 호스트 ID는 네트워크 내에서 특정한 컴퓨터를 식별하는 데 사용됩니다.예를 들어 네트워크 ID가 192.168.1이고 호스트 ID가 0이라면 네트워크의 첫 번째 주소와 브로드캐스트 주소를 제외하고 1~254까지의 IP 주소를 사용할 수 있습니다. 따라서 이 192.168.1.0 네트워크 대역에서 A 컴퓨터에는 192.168.1.1 IP 주소를 할당하고, B 컴퓨터에는 192.168.1.2 IP 주소를 할당하여 네트워크 내에서 각 컴퓨터를 식별하는 데 사용됩니다. 여기서 1과 2는 각 컴퓨터를 식별하는 고유의 호스트 ID 즉 IP 주소입니다.5. 서브넷팅A 클래스는 매우 큰 네트워크 주소 범위를 가지고 있어 IP 주소 16,777,214 개를 할당할 수 있습니다. 그러나 실제로 하나의 네트워크에서 이렇게 많은 IP 주소를 할당하거나 많은 컴퓨터를 운영하는 일은 드물며, 이로 인해 네트워크가 혼잡해지는 문제가 발생할 수 있습니다. 각 클래스의 네트워크를 작은 단위로 나누어 운영해 이런 문제를 해결할 수 있으며, 이런 기술을 서브넷팅Subneting이라고 합니다.서브넷팅은 주어진 IP 주소 범위를 여러 작은 네트워크로 나누는 과정을 의미하며, 이렇게 나누어진 각 네트워크를 서브넷Subnet이라고 합니다. 서브넷팅을 통해 작은 단위로 나누어진 서브넷은 네트워크를 더욱 효율적으로 관리할 수 있게 하며, 네트워크를 더욱 보안성 있게 구성할 수 있고, 트래픽을 분산시켜 성능을 향상시킬 수 있습니다.서브넷팅을 했다면 IP 주소는 어떻게 표현될까요? 서브넷팅을 하면 일반적인 클래스의 네트워크가 더 작은 단위로 나뉘어 IP주소로 표현됩니다. 이렇게 작은 단위로 나눈 네트워크는 IP 주소만으로는 네트워크 ID와 호스트 ID를 구분하기 어려울 수 있습니다. 이를 해결하기 위해 서브넷 마스크를 사용합니다. 서브넷 마스크는 IP 주소와 함께 사용되어 네트워크 ID와 호스트 ID를 구분하는 데 사용됩니다. 서브넷 마스크는 2진수로 표현되며, IP 주소의 각 비트를 네트워크 ID와 호스트 ID로 식별할 수 있게 나누어줍니다. 서브넷 마스크는 32비트로 A 클래스는 255.0.0.0.0, B 클래스는 255.255.0.0 C 클래스는 255.255.255.0으로 식별됩니다. 서브넷 마스크를 2진수와 10진수로 표기하면 복잡하고 알아보기 어려울 수 있기 때문에 일반적으로 프리픽스prefix 표기법을 사용합니다.프리픽스 표기법은 서브넷 마스크를 2진수로 표기한 후, 이진수에서 연속된 1 개수를 세어서 해당 값을 /로 표기하는 방법입니다.예를 들어 B 클래스의 서브넷 마스크 255.255.0.0을 프리픽스 표기법으로 나타내면 /16이 되고, C 클래스 255.255.255.0을 프리픽스 표기법으로 나타내면 /24가 됩니다.예를 들어 회사에서 할당받은 IP 주소가 192.168.1.0/24이고 4개의 서브넷으로 나눈다고 가정합니다.현재 할당 받은 IP 주소는 32비트 중 24비트를 사용하고 있으며, 네트워크 범위는 192,168.1.0 ~ 192.168.1.255 범위까지 사용할 수 있습니다. 서브넷팅을 할 때는 호스트 ID를 사용하여 서브넷을 구성할 수 있습니다.현재 할당받은 IP 주소는 C 클래스이므로 사용할 수 있는 비트는 4옥텟 8비트에 해당합니다. 이 8개의 비트를 사용하여 각 서브넷에 할당하면, 2개의 비트를 사용하여 4개의 서브넷을 구성할 수 있습니다. 2개의 비트만을 사용했으므로 프리픽스에 2를 더하고, 각 서브넷에 할당한 비트를 계산합니다. 서브넷 B의 경우 ‘128 x 0 + 64 x 1 + 32 x 0 + 16 x 0 + 8 x 0 + 4 x 0 + 2 x 0 + 1 x 0 = 64’와 같이 계산할 수 있습니다. 이렇게 계산한 결과로 서브넷 주소를 나타낼 수 있습니다.호스트 ID에서 2개 비트를 사용하여 서브넷을 구성했으므로 이 2개 비트를 서브넷 ID라고 합니다(2개 비트를 사용한 이유는, 그래야 00, 01, 10, 11 4가지 경우가 나와 서브넷을 4개 가질 수 있기 때문입니다).서브넷 마스크와 네트워크 개수에 따른 네트워크 범위는 다음 표에서 확인할 수 있습니다. 여기서 네트워크 개수는 서브넷을 의미합니다.4개 서브넷으로 나누었다면 서브넷 마스크는 11000000이 되며, 각 서브넷은 64개의 IP 주소를 할당받을 수 있습니다. 각 서브넷당 64개의 IP를 할당받는다고 생각하면, 서브넷을 다음과 같이 나눌 수 있습니다.서브넷 A: 0부터 63까지의 IP 주소를 할당받습니다.서브넷 B: 64부터 127까지의 IP 주소를 할당받습니다.서브넷 C: 128부터 191까지의 IP 주소를 할당받습니다.서브넷 D: 192부터 255까지의 IP 주소를 할당받습니다.이렇게 각 서브넷은 서로 겹치지 않는 IP 주소 범위를 할당받아 서브넷팅을 완료할 수 있습니다.하지만 이런 클래스에도 단점은 있습니다. 클래스 기반의 IP 주소 할당 방식은 주소 공간의 일부를 네트워크 ID로, 나머지를 호스트 ID로 나누어 할당하는 방식입니다. 이 방식은 간단하고 직관적이지만, 주소 공간의 사용이 효율적이지 않을 수 있습니다. 예를 들어 클래스 A는 대규모 네트워크에 사용되지만 필요 이상으로 많은 IP 주소를 가지고 있어 IP 낭비가 발생하거나 클래스 C는 작은 네트워크를 위한 것이지만 사용할 수 있는 IP 수가 매우 제한 적일 수 있습니다. 이런 문제를 해결하기 위해 CIDRClassless Inter-Domain Routing라는 기술을 이용합니다. CIDR는 IP 주소 할당에 있어 클래스 기반의 제한된 구조를 극복하기 위한 기술입니다. CIDR를 사용하면 IP 주소를 클래스에 의존하지 않고 유연하게 할당할 수 있으며, 이를 통해 IP 주소의 낭비를 줄일 수 있습니다.CIDR를 활용한 서브넷팅도 조금 전 설명했던 계산 방법과 같습니다. 10.0.0.0/16이라는 CIDR가 주어졌을 때, 6개 서브넷으로 나눈다고 가정합니다.6개의 서브넷으로 나누는 데 3개의 비트를 사용하기 때문에 프리픽스는 19가 되고, 2진수를 10진수로 변환하면 각 서브넷은 32개 IP 주소를 할당받을 수 있습니다.서브넷 A : 0부터 31까지의 IP 주소를 할당받습니다.서브넷 B : 32부터 63까지의 IP 주소를 할당받습니다.서브넷 C : 64부터 95까지의 IP 주소를 할당받습니다.서브넷 D : 96부터 127까지의 IP 주소를 할당받습니다.서브넷 E : 128부터 159까지의 IP 주소를 할당받습니다.서브넷 F : 160부터 191까지의 IP 주소를 할당받습니다.이런 CIDR 기술은 AWS에서 Amazon VPC를 생성하고 클라우드 환경에서 네트워크 환경을 구성할 때 사용됩니다.라우팅IP만으로는 데이터를 주고받을 수 없습니다. 어떤 경로로 데이터를 보낼지 설정할 필요가 있는데, 이것을 라우팅(Routing)이라고 합니다. 라우팅은 일반적으로 라우터(Router)라는 장비가 수행하며, 라우터를 사용하면 다른 네트워크로 데이터를 보낼 수 있습니다. 라우터에는 라우팅 테이블(Routing Table)이 있어서 경로를 저장하고 관리합니다.예를 들어 192.168.1.1의 IP 주소를 가진 A 컴퓨터에서 B 컴퓨터로 데이터를 전송하려면 라우팅 테이블에 전송하고자 하는 경로를 등록해야 합니다. AWS에서는 라우터 장비 대신 라우팅 테이블을 별도로 생성하여 라우팅을 관리할 수 있습니다. 이를 통해 사용자는 네트워크 트래픽을 관리하고 효율적으로 라우팅할 수 있습니다.

[오픈클로 01] 초보자를 위한 오픈클로 설치하기
[오픈클로 01] 초보자를 위한 오픈클로 설치하기

[오픈클로 01] 초보자를 위한 오픈클로 설치하기

📅 2026년 5월 17일 · 👁 115

초보자를 위한 오픈클로 설치하기처음은 누구나 어렵고 지루합니다. 이 지루한 30분만 지나면 AI 비서가 일하기 시작합니다. 오늘 30분이 아까워서 미루면 내일도 모레도 그 잡다한 반복 작업을 직접 하게 됩니다. 자, 터미널 하나 열어놓고 커피 한 잔 내리면서 따라오세요. 생각보다 금방 끝납니다. 만약 설치를 하다가 문제가 생겼다면, 챕터 마지막에 있는 문제가 생겼을 때 페이지를 확인하세요.Node.js 설치하기컴퓨터 사양은 크게 신경 안 써도 됩니다. 오픈클로 자체가 무거운 프로그램이 아닙니다. AI 모델은 클라우드에서 돌아가고, 오픈클로는 그 AI에게 일을 전달하고 결과를 받아오는 역할입니다. 최근 5년 안에 산 컴퓨터라면 거의 다 됩니다. 딱 하나, Node.js 22 버전 이상이 필요합니다. 당장 Node.js가 뭔지 자세히 알 필요는 없습니다. Node.js는 자바스크립트를 컴퓨터에서 실행하는 도구이며, 오픈클로가 자바스크립트로 만들어져서 필요하다는 정도만 알아두세요.Node.js 설치되어 있는지 확인하기Node.js가 이미 설치되어 있을 수도 있으니까 먼저 확인해봅시다. 터미널을 열고 이렇게 입력해보세요.v22.x.x 이상의 숫자가 나오면 OK입니다. 만약 command not found라고 나오거나 버전이 22보다 낮으면 다음에서 Node.js부터 설치하면 됩니다. 이미 Node.js 22 이상이 설치되어 있다면 이 섹션은 건너뛰세요.Homebrew로 Node.js 설치하기macOS는 Homebrew로 설치하는 방법이 가장 간편합니다. Homebrew가 없는 독자 여러분을 위해 Homebrew 설치부터 차근차근 진행하겠습니다.01 다음 사이트에 접속해 설치 명령어를 복사하고 터미널에 붙여넣어 실행하세요. 설치 명령어는 다음과 같습니다. 사이트 화면을 캡처한 이미지는 크게 중요하지 않으므로 생략했습니다.Homebrew : brew.sh/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"02 Homebrew를 설치했다면 이어서 Node.js 설치 명령을 실행하면 됩니다.```> brew install node```설치 프로그램으로 Node.js 설치하기만약 Homebrew가 없거나 Homebrew를 통해 설치하고 싶지 않고, 어쩔 수 없이 윈도우를 쓰는 환경이라면 Node.js 공식 사이트에서 다운로드할 수 있습니다.01 nodejs.org/ko/download에 접속해서 버전과 환경을 선택합니다. 버전은 LTS라고 써져있는 버전을 선택하세요. 환경은 macOS, 리눅스, 윈도우 등 사용자 컴퓨터에 맞는 것을 고르면 됩니다.02 설치 프로그램 다운로드를 선택하고 설치 프로그램을 실행합니다. 설치 프로그램에서는 [Continue]만 누르면 됩니다.설치가 끝났다면 다시 터미널을 열어 node -v 명령을 실행해 설치가 잘 되었는지 확인하는 게 좋습니다. Node.js는 오픈클로를 실행하기 위해 꼭 필요하므로 오픈클로를 설치한 이후에도 삭제하면 안 됩니다.오픈클로 설치하기Node.js를 준비했다면 오픈클로를 바로 설치합니다. 두 가지 방법이 있습니다. 하나는 설치 스크립트를 사용하는 것이고, 하나는 Node.js의 패키지 관리자인 npm을 사용하는 겁니다.설치 스크립트 사용하기저는 설치 스크립트 방법을 추천합니다. 가장 간편하고 실수할 일이 적습니다.01 오픈클로 홈페이지에서 다음 설치 명령어를 복사한 후 터미널에 붙여넣고 [Enter]를 누르세요. 이 스크립트가 알아서 오픈클로를 설치하고, 기본 설정 파일을 만들고, 온보딩 마법사까지 자동으로 시작합니다.이렇게 정상적으로 설치가 끝나고 온보딩 화면이 나오면 됩니다.온보딩 마법사 따라가기온보딩 마법사는 오픈클로의 초기 설정을 간편하게 수행할 수 있는 프로그램입니다. 온보딩 마법사를 시작하는 방법은 터미널에서 다음 명령어를 입력하는 겁니다. 설치 스크립트로 오픈클로를 설치했다면 명령어를 입력하지 않아도 자동으로 실행될 겁니다.```openclaw onboard --install-daemon```자세한 설명보다는 설치부터 하고 싶은 분, 이미 오픈클로를 한 번 설치해본 분은 다음 목록을 보고 그대로 따라하세요. 가장 빠르게 온보딩을 끝낼 수 있는 방법을 정리한 목록입니다. 초보 독자 여러분은 읽지 않고 넘어가도 좋습니다.I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?YesOnboarding modeQuickStartModel/auth providerOpenAIOpenAI auth methodOpenAI Codex (ChatGPT OAuth)챗GPT 계정 로그인Default modelopenai-codex/gpt-5.3-codexSelect channel (QuickStart)Telegram (Bot API)How do you want to provide this Telegram bot token?Enter Telegram bot token텔레그램 봇 생성 및 토큰 입력Search providerSkip for nowConfigure skills now? (recommended)NoEnable hooks?Skip for now ([Space ➝ Enter])How do you want to hatch your bot?Do this later이제 온보딩을 본격적으로 시작해보겠습니다. 어려워도 하나씩 천천히 따라하면 누구나 설치할 수 있습니다.01 처음에 보안 안내가 나옵니다. 오픈클로는 여러분의 컴퓨터를 제어할 수 있는 AI라서, 몇 가지 주의 사항을 미리 알려주는 겁니다.핵심만 정리하면 이렇습니다. 읽어보고 동의하면 다음 단계로 넘어갑니다.신뢰할 수 있는 AI 모델만 사용하세요. Anthropic(클로드), OpenAI(GPT) 같은 검증된 서비스를 쓰라는 뜻입니다. 책에서는 OpenAI의 GPT를 사용합니다.API 키를 안전하게 보관하세요. API 키가 유출되면 다른 사람이 여러분 돈으로 AI를 사용할 수 있습니다.채널 접근을 제한하세요. 아무나 오픈클로에 명령을 보낼 수 없게 관리해야 합니다.02 지금부터는 오픈클로가 던지는 질문에 차례대로 대답하며 오픈클로 설정을 진행할 겁니다. 처음은 온보딩 모드를 설정합니다. 빠른 시작을 위해 [QuickStart]로 진행하겠습니다.03 게이트웨이 위치를 선택합니다. 이 질문은 버전과 사용환경에 따라서 나오지 않을 수 있습니다. 다음 세 가지 옵션 중 하나를 선택합니다.Local (이 컴퓨터)Remote (SSH/Tailnet)Configure later (나중에 설정)여러분은 [Local]을 선택하세요. 지금 쓰고 있는 컴퓨터에서 오픈클로를 운영한다는 뜻입니다. 대부분의 사용자에게는 이게 최선의 선택입니다. 나중에 서버에 올리고 싶어지면 그때 변경하면 됩니다. [Remote]는 별도의 서버(VPS, 홈 서버 등)에서 돌릴 때 쓰는 옵션입니다. 지금 단계에서는 신경 쓰지 않아도 됩니다.04 AI 프로바이더Provider를 선택합니다. 여기가 가장 중요한 단계입니다. 오픈클로의 모델, 즉 두뇌를 결정하는 겁니다. 여기서 OpenAI를 선택하세요. 이 책에서는 OpenAI를 기준으로 설명합니다. OpenAI는 GPT-5.1-mini 같은 가성비 좋은 모델부터 GPT-4.1까지 다양한 선택지를 제공합니다. 도구 사용 능력도 뛰어나서 오픈클로와 궁합이 좋습니다.05 OpenAI를 선택하면 인증 방식을 선택할 수 있습니다. 이 책에서는 인증 방식은 [OpenAI Codex]를 사용합니다. 각 방식마다 장단점이 있으니 본인에게 맞는 걸 선택하세요. OAuth 방식은 챗GPT를 구독할 때 사용할 수 있습니다. API Key 방식은 사용하는 만큼 비용을 지불해야 합니다. 챗GPT 계정으로 연동하기ChatGPT Plus나 Pro를 구독하고 있다면 이 방법이 가장 편합니다. API 키 없이 기존 ChatGPT 계정으로 바로 연결합니다. 챗GPT Plus 또는 Pro 구독이 필요합니다.01 앞에서 본 온보딩 마법사에서 [OpenAI Codex (ChatGPT OAuth)]를 선택합니다. 그러면 로그인을 위한 브라우저가 자동으로 열립니다.02 챗GPT 계정으로 로그인합니다. 이미 로그인되어 있다면 건너뜁니다. [계속] 버튼을 눌러 오픈클로가 계정에 접근할 수 있도록 승인합니다.03 연결 완료 메시지가 나타나면 터미널로 돌아가세요.04 사용할 모델을 선택합니다. 모델은 최신 모델을 선택하세요.챗GPT 계정 연동은 장점이 있습니다. API 키를 따로 발급받을 필요가 없습니다. 키가 유출될 걱정도 없죠. 그리고 이미 구독 중인 챗GPT 요금제를 그대로 사용하니 저렴합니다. 나중에 모델을 다시 연결하고 싶다면 openclaw configure 명령어를 실행하고 model 설정에서 재연결할 수 있습니다. API 키로 인증하기챗GPT를 구독하지 않거나 사용량 기반 과금을 원한다면 API 키를 발급받아 사용합니다. 이미 챗GPT 계정 연동을 끝냈다면 이 부분은 생략해도 됩니다.01 OpenAI 플랫폼에 접속해서 로그인합니다.platform.openai.com02 좌측 메뉴에서 [API Keys ➝ Create new secret key] 버튼을 누릅니다. 키 이름을 정하고 [Create secret key]를 클릭합니다.이때 주의할 점이 있습니다. 생성한 키는 딱 한 번만 보인다는 겁니다. 그러므로 반드시 복사해서 안전한 곳에 저장하세요. sk-proj-로 시작하는 긴 문자열이 키입니다. 또한, API 키는 유출하면 안 됩니다. 여러분의 비밀번호와 같습니다. 절대 깃허브에 커밋(업로드)하거나 공개하지 마세요. 키가 유출되었다면 즉시 OpenAI 플랫폼에서 삭제하고 새로 발급받으세요.03 복사한 키를 온보딩 마법사에 붙여넣습니다.API 키 방식은 사용량만큼 과금합니다. 가벼운 일상 사용 기준이라면 월 5~20달러 정도 예상하면 됩니다. 만약 사용량 한도를 정하고 싶다면 [Settings → Billing → Usage limits]에서 월 최대 지출 한도를 설정해두세요. 설정한 금액 이상은 과금하지 않습니다.메신저 채널 연결하기채널은 오픈클로와 소통하는 메신저를 말합니다. 오픈클로는 정말 다양한 채널을 지원하며, 다음 채널이 대표적입니다.텔레그램Telegram왓츠앱WhatsApp디스코드Discord이 책에서는 텔레그램을 기준으로 진행합니다. 텔레그램은 오픈클로 설정이 가장 간단하고, 봇 API가 안정적이며, 무료이고, PC와 모바일 모두에서 쓸 수 있다는 장점이 많은 메신저입니다. 다만 텔레그램을 연동하려면 봇 토큰이 필요합니다. 텔레그램에서 봇을 만들고 토큰을 받는 방법부터 알아보겠습니다.01 스마트폰에 텔레그램 앱을 설치하고 실행하세요. 검색창에 ‘@BotFather’를 검색합니다.02 BotFather에게 /newbot이라고 메시지를 보냅니다. 봇 이름과 봇 사용자명을 정해줍니다. 저는 봇 이름을 goldenrabbitbot으로 하겠습니다. 봇 사용자명은 반드시 ‘bot’으로 끝나야 하며, 전 세계에서 유일한 이름을 정해야 합니다. 겹치지 않는 이름을 찾아보세요.이름을 정하면 BotFather가 봇 토큰을 알려줍니다. 이 토큰을 복사하세요. 봇 토큰도 API 키처럼 다른 사람에게 공유하면 안 됩니다. 토큰이 유출되면 BotFather에서 /revoke 명령으로 폐기하고 새로 발급받으세요.03 온보딩 마법사로 돌아갑니다. 복사한 토큰을 붙여넣으면 됩니다.검색 제공자 선택하기토큰을 입력하고 나면 검색 제공자를 묻습니다. 원하는 검색 엔진을 선택하세요. 잘 모르겠다면 [Skip for now]를 선택해 넘어가도 괜찮습니다.나만 명령할 수 있도록 설정하기allowFrom을 묻습니다. 이건 ‘누가 이 봇을 쓸 수 있게 할 건가요?’라는 질문입니다. 이걸 설정해야 아무나 봇에게 명령을 내릴 수 없습니다.01 allowFrom에는 본인의 텔레그램 user ID를 입력하면 됩니다. 텔레그램에서 @userinfobot 검색해서 대화를 시작합니다. /start를 보내면 본인의 user ID를 알려줍니다.02 온보딩 마법사로 돌아가 user ID를 붙여넣습니다. 이제 여러분의 오픈클로는 여러분 본인만 사용할 수 있는 겁니다.추가 기능 설정하기이제 오픈클로 설정이 거의 끝났습니다. 이어서 설명하는 추가 기능 설정은 생략해도 됩니다. 나중에 필요할 때 언제든지 설정할 수 있습니다. 첫 번째는 오픈클로에게 유용한 스킬을 달아주는 과정입니다. 스킬은 오픈클로에게 특정 작업에 대한 설명과 수행 방법을 적어둔 설명서 같은 겁니다.01 당장 스킬을 설정하고 싶지 않다면 [no]를 선택해서 지나갑니다. 하지만 몇몇 자주 사용하는 스킬은 미리 설정해두는 것을 추천합니다. [yes ➝ npm]을 선택하면 사용할 수 있는 스킬 목록이 나타납니다.02 저는 구글 워크스페이스 작업을 위한 스킬을 추가해보겠습니다. gog, himalaya를 선택하세요. 나중에 필요한 스킬을 얼마든지 설치하고 활용할 수 있습니다.03 스킬 설치가 끝났다면 API 키와 훅 사용 여부를 물어봅니다. 위치 정보 조회나 음성 생성 등을 위한 기능이지만 나중에도 설정할 수 있기 때문에 전부 [No]를 입력하여 넘어가겠습니다. ‘Enable Hooks?’는 훅 기능을 사용할 것인지 선택하는 옵션입니다. 이것도 [Skip for now]를 선택하고 나중에 필요할 때 활성화하겠습니다.환경 변수 설정하기온보딩에서 입력한 API 키는 ~/.openclaw/openclaw.json 파일에 저장합니다. 그대로 사용할 수도 있지만, 이 방식은 파일을 열어보면 키가 그대로 보여서 보안이 취약할 수 있습니다. 더 안전한 방법이 있습니다. 환경 변수에 키를 저장해두는 겁니다. 환경 변수는 컴퓨터가 기억하는 메모 같은 겁니다. API 키처럼 민감한 정보를 저장해두기 좋습니다. macOS는 ~/.zshrc 파일에서 환경 변수를 관리할 수 있습니다.01 먼저 터미널을 열고, 다음 명령어를 입력하세요.```echo 'export OPENAI_API_KEY="sk-proj-여러분의키"' >> ~/.zshrc```echo 명령어는 따옴표 안의 내용을 그대로 출력하는 명령어입니다. export는 환경 변수를 추가하는 명령어입니다. 환경 변수는 다음과 같은 형태로 입력합니다. 우리는 GPT의 API 키를 사용하니 환경 변수 이름은 OPENAI_API_KEY이고, 큰따옴표 사이에는 이전에 복사한 키가 들어갑니다.환경 변수 이름="값">>는 출력한 내용을 특정 파일에 추가하라는 뜻입니다. 그래서 따옴표 안에 있는 ‘export...’ 명령어를 ~/.zshrc 파일 맨 끝에 추가합니다.02 환경 변수를 변경해도 터미널에 바로 적용되는 것은 아닙니다. 새로운 터미널을 시작해야 적용됩니다. 설정을 바로 적용하려면 이 명령어를 실행하세요.```source ~/.zshrc```이렇게 하면 ~/.zshrc 파일에 export OPENAI_API_KEY="..." 한 줄이 추가됩니다. 터미널이 실행될 때마다 이 파일을 읽어서 환경 변수를 설정합니다. 오픈클로는 실행될 때 OPENAI_API_KEY라는 이름을 찾아서 자동으로 사용합니다. 오픈클로는 API 키가 필요할 때 환경 변수를 먼저 찾아보고, 없다면 설정 파일인 openclaw.json에서 찾아 사용합니다. 게이트웨이 시작하고 메시지 보내기온보딩 마법사가 어떤 환경에서 오픈클로 봇을 실행할지 물어봅니다. 오픈클로를 실행할 모든 준비가 끝난 겁니다.01 오픈클로는 기본적으로 두 가지 실행 환경을 제공합니다. 터미널에서 대화하려면 [Hatch in TUI]를 선택합니다. 터미널이 어렵다면 [Open the web UI]를 선택해 웹브라우저에서 오픈클로와 대화할 수 있습니다.02 종종 온보딩 과정 중에 작업이 꼬이는 경우 게이트웨이가 안 켜지는 경우가 있습니다. 이럴 때는 다음 명령어를 이용해서 게이트웨이를 수동으로 실행합니다.```openclaw gateway run --port 18789```화면에 이런 식으로 나오면 성공입니다.```[OpenClaw Gateway] Starting...[Agent] Ready[Gateway] Listening on port 18789```03 터미널로 오픈클로를 실행했다고 브라우저에서 사용하지 못하는 건 아닙니다. 언제든지 브라우저 대시보드를 열어볼 수 있습니다. 다음 명령어를 실행하세요.```openclaw dashboard```또는 브라우저에서 직접 http://127.0.0.1:18789로 접속해도 됩니다. 다른 포트번호로 실행했다면 18789 대신 실행한 포트 번호를 입력하면 됩니다. 이렇게 터미널이나 웹브라우저에서 오픈클로와 대화해도 좋습니다. 하지만 AI 비서를 어디에서나 활용하려면 스마트폰으로 대화하는 게 좋겠죠. 터미널이나 웹브라우저는 채널 연결이 원활하지 않을 때만 사용하겠습니다.04 이제 텔레그램 앱을 열고 대화를 시작해보겠습니다. BotFather가 텔레그램 봇 토큰과 함께 채팅방 링크를 주었을 겁니다. 링크에 접속하면 새로운 대화가 열립니다. 여기서 우리가 방금 만든 봇과 대화할 수 있습니다. 먼저 나를 무엇으로 부를지 알려주고, AI 비서에게 이름과 역할을 만들어주세요.05 답장이 왔다면 설정은 잘 끝난 겁니다. 우리의 AI 비서가 무사히 첫 출근을 했네요. 간단하게 첫 업무를 시킬 겸, 다음에 또 설치할 일이 생길 수 있으니 오픈클로 설정 과정을 정리해달라고 말해보겠습니다.[나]다음에 또 설치할 일이 있을 수 있으니까, 오픈클로 설정 과정을 처음부터 끝까지 정리해줘.[/나]이 정도면 기본은 된 겁니다. 시시하다고 생각하나요? 아직 워밍업입니다. 오픈클로의 진짜 능력은 파일을 읽고 쓰고, 웹을 검색하고, 스케줄에 맞춰 자동으로 일하는 데 있습니다. 여러분은 24시간 365일 컴퓨터에 상주하는 AI 비서를 얻었습니다. 다음 챕터부터 차근차근 배워볼 겁니다.---이렇게 오픈클로 설정이 끝났습니다. 나중에 새로운 컴퓨터에 다시 설치하거나 새로운 봇을 만든다면 비슷한 과정을 반복할 겁니다. 지금은 어려워도 나중에는 순식간에 새로운 봇을 만들어낼 수 있습니다. 혹시 설치가 잘 안 됐다면 도서의 문제가 생겼을 때를 참고해주세요.

[디자인 클래스 02] 캔바 쉽고 빠르게 배우기
[디자인 클래스 02] 캔바 쉽고 빠르게 배우기

[디자인 클래스 02] 캔바 쉽고 빠르게 배우기

📅 2026년 5월 15일 · 👁 47

[디자인 클래스 02] 캔바 쉽고 빠르게 배우기캔바는 기존에 사용하던 파워포인트, 포토샵 등 PC 설치 프로그램과는 다르게 인터넷에 접속해서 사용할 수 있는 서비스입니다. 그래서 메뉴와 기능들의 위치가 이전 프로그램과 다르고, 또한 간소화되어 있기 때문에 오히려 어려워하는 분들이 많습니다. [Chapter 02] 캔바 빠르게 배우기에서는 가장 기본적인 캔바 메인 화면과 캔바 작업 화면의 인터페이스를 하나하나 살펴보겠습니다. 지금 바로 배워봅시다.캔바 메인 화면 살펴보기먼저 캔바 메인 화면을 보면서 기본 사용 방법을 알아보겠습니다. 기본 사용법 이외에 추가적인 기능은 실습하면서 설명하겠습니다. 화면의 기능을 천천히 살펴보면서 어떤 것을 할 수 있는지 확인해봅시다.➊ 홈 : 프로젝트나 템플릿 등 작업 중에 캔바의 메인 화면으로 이동할 수 있는 버튼입니다. [홈] 버튼과 마찬가지로 오른쪽 위에 있는 [Canva] 로고를 눌러도 메인 화면으로 이동할 수 있습니다.➋ 프로젝트 : 지금까지 만든 모든 프로젝트를 확인할 수 있습니다. 이 공간에서는 다양한 작업물을 [전체], [폴더], [디자인], [이미지] 등으로 나누어 관리할 수 있습니다. 특히 [폴더]에 프로젝트별로 파일을 정리해두면, 나중에 작업할 때 훨씬 빠르고 편리하게 찾을 수 있습니다.➌ 템플릿 : 캔바에서 제공하는 모든 템플릿을 한눈에 볼 수 있습니다. 프레젠테이션, 포스터, 이력서 등 원하는 템플릿을 카테고리별로 선택하여 볼 수 있습니다. [템플릿]을 클릭한 후에, 왼쪽 사이드바 맨 위에 있는 []를 누르면 템플릿 관련 메뉴가 보입니다. 여기에는 [사진], [그래픽] 등 템플릿에 사용할 수 있는 요소를 찾아볼 수 있습니다. 그 아래에 있는 [크리에이터]는 전 세계 수천 명의 캔바 크리에이터를 쉽게 찾아 팔로우할 수 있습니다. 2025년 기준, 우리나라에서도 약 150명의 캔바 크리에이터가 활동하며 한국 스타일의 다양한 디자인을 만들어 제공합니다.❹ 브랜드 센터 : 회사에서 팀 간 브랜드 디자인을 일관되게 관리하고 모든 구성원이 동일한 스타일로 작업할 수 있도록 돕는 캔바의 ‘본부’와 같은 곳입니다. 로고, 색상, 글꼴 등을 미리 지정해 브랜드의 정체성을 유지할 수 있습니다. 특히 글꼴, 로고, 템플릿을 통일해두면 기업 내 디자인 자산을 체계적으로 관리할 수 있어 매우 유용합니다.➎ Canva AI : 텍스트를 입력하면 디자인, 이미지, Docs, 코드 등을 생성을 할 수 있는 탭입니다.➏ 알림 : 다른 사람이 디자인에 댓글을 남기거나 편집 권한을 줘서 변경 사항이 있을 때, 또는 공유된 디자인에서 피드백을 받을 때 발생합니다. 캔바에 접속하자마자 바로 확인할 수 있어 받은 의견을 빠르고 효율적으로 검토할 수 있습니다.➐ 디자인 만들기 : 프레젠테이션, SNS, 동영상, 인쇄 등 원하는 디자인 유형을 선택하고 크기와 형태를 지정하여 빠르게 디자인을 시작할 수 있는 기본 탭입니다➑ 최근 디자인 : 가장 최근에 작업한 프로젝트를 한눈에 확인할 수 있는 공간입니다. 이전에 진행하던 작업으로 빠르게 이동할 수 있습니다.➒ 업로드 : 기존에 사용하던 파일을 캔바에 업로드해 새로운 프로젝트로 활용할 수 있는 탭입니다. 예를 들어 파워포인트로 만든 기존 디자인을 그대로 가져와 캔바에서 수정하고 보완할 수 있습니다. 지원되는 종류와 파일 형식은 다음과 같습니다.캔바 작업 화면 살펴보기캔바에서 디자인을 제작할 때 보이는 캔바 작업 화면에서 주요 기능과 위치별 사용 방법에 대해 간단히 알아보겠습니다.➊ 파일 : 디자인의 전체 설정과 관리 기능이 모여 있는 메뉴입니다. 문서 프로그램의 ‘파일 메뉴’와 비슷하며 저장이나 복사 같은 기본 기능 이외에 버전 기록 확인, 슬라이드 설정 등을 실행할 수 있습니다.❷ 크기 조정 : 작업 중인 디자인을 다른 크기로 변경하거나 복사할 수 있는 기능입니다. 예를 들어 정사각형 모양의 카드뉴스를 포스터로 만들 때 유용합니다.❸ 편집 중 : 프로젝트의 작업 모드를 확인할 수 있습니다. [편집 중], [댓글 달기], [보기 모드] 3가지 모드로 설정할 수 있습니다.❹ 제목 : 디자인의 제목을 설정하는 영역입니다. 자동 저장되니, 파일 이름처럼 명확하게 설정하면 나중에 찾아보기 쉽습니다.❺ 팀원 공유 : 같은 팀원을 초대하여 실시간으로 공동 작업을 할 수 있는 기능입니다. 편집 권한도 설정할 수 있어 팀원들과 함께 효율적으로 작업할 수 있습니다.❻ 분석 : 공유한 디자인의 반응을 데이터로 확인할 수 있는 기능입니다. 링크를 통한 총 방문자 수, 방문 횟수, 디자인에 머무른 평균 시간, 평균 방문 페이지 수 등 자세한 데이터를 수치로 확인할 수 있습니다.➐ 공유 : 디자인을 링크로 공유하거나 파일로 다운로드할 수 있는 기능입니다. 파워포인트로 저장하거나 웹사이트로 바로 게시할 수 있으며, 템플릿 링크를 생성해 다른 사용자가 같은 디자인을 활용하도록 공유할 수도 있습니다.❽ 기능 메뉴 : 디자인 작업에 필요한 모든 기능이 모여 있는 영역입니다. [디자인], [요소], [텍스트], [브랜드 센터], [업로드 항목], [도구], [프로젝트], [앱]으로 나누어져 있습니다.캔바 기본 단축키 알아보기캔바에서 사용할 수 있는 단축키를 소개하고자 합니다. 단축키를 미리 익혀두면 훨씬 빠르게 디자인 작업을 할 수 있습니다.캔바 기본 단축키 16개캔바에서는 복사, 붙여넣기, 실행 취소, 정렬처럼 자주 사용하는 기본 작업을 단축키로 빠르게 처리할 수 있습니다. 몇 가지 단축키만 익혀도 작업 속도가 눈에 띄게 빨라지고, 반복 작업에 드는 시간도 줄일 수 있습니다. 다른 프로그램의 단축키와 유사해 금방 익숙해질 수 있을 겁니다.요소 삽입 단축키(TRCLS)마우스를 움직이지 않고도 기본 요소를 추가할 수 있는 단축키가 있습니다. 예를 들어 [T]를 누르면 텍스트 상자가, [R]을 누르면 사각형, [C]는 원, [L]은 선, [S]는 메모지를 추가할 수 있습니다. 이 단축키들은 각각 Text, Rectangle, Circle, Line, Sticky note의 앞 글자에서 따온 것으로, 영어 단어의 첫 글자를 기억하면 쉽게 사용할 수 있습니다.요소 편집 단축키캔바에서는 요소를 정교하게 배치하거나 반복해서 복사할 때 유용한 단축키가 있습니다. 드래그 복사, 수직·수평 정렬 복사, 빠른 복제 기능을 활용하면 작업 효율을 크게 높일 수 있습니다.프레젠테이션 단축키발표 중 캔바를 더 자유롭게 활용하고 싶다면 보기 전환과 타이머 설정 단축키를 익혀두면 좋습니다. 특히 숫자 키보드로 설정하는 타이머 기능은 시간제한이 있는 발표나 수업에서 유용합니다.

[클로드 01] 엑셀에 클로드 추가 기능 설치하기
[클로드 01] 엑셀에 클로드 추가 기능 설치하기

[클로드 01] 엑셀에 클로드 추가 기능 설치하기

📅 2026년 5월 13일 · 👁 225

엑셀이나 파워포인트 같은 마이크로소프트 오피스 프로그램에는 추가 기능이 있습니다. 추가 기능은 기본 프로그램에 새로운 능력을 덧붙이는 확장 도구입니다. 엑셀에 클로드 추가 기능을 설치하면 엑셀 안에서 바로 클로드에게 도움을 요청할 수 있습니다. 이런 추가 기능도 커넥터와 비슷한 방식으로 동작합니다. 다만, 엑셀과 파워포인트에서 추가 기능을 사용하려면 클로드 프로 이상의 요금제와 마이크로소프트 365 구독이 필요합니다. 무료 버전의 엑셀, 파워포인트에서는 추가 기능을 설치할 수 없는 점을 미리 참고하세요.01단계 먼저 엑셀을 실행합니다. 화면 위쪽에 있는 리본 메뉴에서 [추가 기능]을 클릭합니다. 검색창에 ‘Claude’를 입력해 검색한 다음, ‘Claude by Anthropic for Excel’을 찾아 [추가]를 누르세요.02단계 추가하면 리본 메뉴에 [Claude] 탭이 새로 나타납니다. 이 탭을 클릭하면 오른쪽에 클로드 패널이 열립니다. [Log in to Claude]를 눌러 클로드 계정으로 로그인하세요.03단계 이미 클로드에 로그인되어 있는 브라우저에서 실행한다면 바로 승인 화면이 나타납니다. [승인]을 눌러 진행하세요.04단계 다음으로 코드를 복사하라는 화면이 나옵니다. [Copy sign-in code]를 눌러 코드를 복사한 다음, 엑셀로 돌아와 클로드 패널에 복사한 코드를 붙여 넣으세요. 이어서 몇 가지 요구사항을 묻는 질문이 나오면 원하는 항목을 선택하거나 [Skip]을 눌러 넘어갑니다. 이제 엑셀 안에서 바로 클로드를 사용할 수 있습니다.05단계 간단하게 한 번 사용해볼까요? 다음 실습을 위한 샘플 데이터를 미리 준비해두면 좋을 것 같습니다. 가상의 쇼핑몰 회원 데이터를 만들어달라고 요청하겠습니다.06단계 클로드는 직접 엑셀 파일 편집 작업을 수행해야 할 때 권한 부여를 요청합니다. 저는 [Always allow]를 선택해 다음에는 일일이 권한을 승인할 필요가 없습니다. 물론 중요한 파일이라면 [Allow once]를 선택하는 게 좋겠죠.참고로 권한 승인 모드는 언제든지 바꿀 수 있습니다. 클로드 입력창에 있는 [▷▷] 버튼을 눌러 변경하세요.07단계 결과를 확인해보겠습니다. 클로드가 셀에 값을 자동으로 채워 넣었습니다. 심지어 서식도 보기 좋게 정리해줬네요.

[n8n 02] n8n 워크플로 구조 알아보기
[n8n 02] n8n 워크플로 구조 알아보기

[n8n 02] n8n 워크플로 구조 알아보기

📅 2026년 5월 11일 · 👁 156

n8n을 본격적으로 사용하기 전에 전체 구조를 먼저 이해해두면, 워크플로를 설계하거나 문제를 해결할 때 훨씬 수월합니다. 여기서는 앞에서 간략히 언급했던 워크플로와 노드라는 개념이 무엇인지, 그리고 이를 실제로 다룰 때 화면의 어떤 부분에서 어떤 설정을 조작하는지까지 전체적인 구조를 살펴보겠습니다.[01] 워크플로란?워크플로는 n8n에서 자동화 프로세스를 구성하는 기본 단위입니다. 하나의 워크플로는 여러 개의 작업 단계를 순차적으로 연결하여 하나의 자동화 흐름을 만드는 것으로, 각 단계는 하나의 노드로 표현합니다.워크플로는 보통 트리거 노드부터 시작됩니다. 트리거는 워크플로를 실행하는 조건이나 신호로, ‘매일 아침 9시에 실행’, ‘웹훅이 호출되었을 때 실행’, ‘특정 이메일이 도착했을 때 실행’ 등이 여기에 해당합니다. 트리거로 시작된 워크플로는 이후 데이터를 가져오거나 외부 서비스를 호출하는 노드로 이어지고, 마지막에는 메시지를 전송하거나 파일로 저장 또는 결과를 기록하는 등의 마무리 작업을 수행하며 종료됩니다.한 번 만든 워크플로는 계속해서 재사용할 수 있고 각 워크플로는 서로 독립적으로 작동하므로 여러 개를 만들어도 충돌 없이 운용할 수 있습니다. 따라서 필요한 자동화 작업을 목적별로 나누어 각 워크플로로 설계하는 것이 좋습니다.<한 걸음 더!> 샘플 워크플로 참고하기워크플로를 처음부터 만드는 것이 어렵게 느껴진다면 n8n에서 제공하는 워크플로 템플릿Templates을 활용할 수도 있습니다. 화면 왼쪽 아래에 상자 모양의 [Templates] 버튼을 클릭하면 n8n 공식 템플릿 페이지로 이동할 수 있습니다.n8n 공식 템플릿 페이지는 4,000개가 넘는 검증된 워크플로 템플릿을 제공하며, 버튼 한 번으로 자신의 n8n 환경에 그대로 복사해올 수 있습니다. 각 템플릿은 워크플로의 전체 구조와 모든 노드 설정을 포함하기 때문에 템플릿을 열어보면 구조를 분석하고 동작 방식을 이해할 수 있습니다. 또한 일부 템플릿에는 노드마다 사용법이나 설명이 메모 형태로 포함되어 있어 처음 접하는 사용자도 각 노드가 어떤 역할을 하는지 쉽게 이해할 수 있습니다. 템플릿은 그대로 실행해 활용할 수도 있고, 필요한 부분만 수정해 자신의 업무 흐름에 맞게 커스터마이징할 수도 있습니다.인기 있는 템플릿으로는 Gmail에 새 메일이 도착하면 자동으로 슬랙 채널에 알림을 보내는 워크플로(Auto-Categorize Gmail Emails with AI and Send Prioritized Slack Alerts)나 줌 회의 내용을 AI로 요약해서 참석자들에게 이메일로 전송하는 워크플로(Zoom AI Meeting Assistant creates mail summary, ClickUp tasks and follow-up call)가 있습니다. 이런 템플릿을 살펴보면 해당 템플릿을 사용하지 않더라도 워크플로 설계에 대한 감을 익힐 수 있습니다. 또, 업무 자동화 아이디어도 얻을 수도 있기 때문에 참고용으로 여러 템플릿을 둘러보는 것도 추천합니다.[02] 노드와 연결워크플로의 각 단계는 노드라고 불리는 단위 작업으로 구성됩니다. 각 노드는 특정한 기능을 담당하는 작은 프로그램과 같습니다. n8n에서 제공하는 다양한 종류의 노드들을 조합하면 높은 차원의 흐름을 만들 수 있습니다. 노드는 역할에 따라 크게 3가지로 나뉩니다.트리거 노드: 워크플로를 시작하는 조건이나 신호로직 노드: 흐름을 제어하거나 데이터를 가공액션 노드: 실제 작업을 수행워크플로는 트리거 노드가 설정된 조건에 따라 시작되고, 이어서 로직 노드가 데이터를 처리한 뒤 액션 노드가 필요한 작업을 수행하는 방식으로 진행됩니다.여기서는 편의상 3가지 노드로 분류했지만, 노드의 종류는 매우 다양합니다. n8n에서 공식적으로 제공하는 노드 외에도 전 세계 사용자들이 만든 커뮤니티 노드도 사용할 수 있습니다. 그리고 이런 액션 노드들 사이에 조건을 나누거나 반복을 설정하는 로직 노드를 추가할 수 있습니다. 로직 노드는 IF, Switch, Wait, Loop와 같이 워크플로에 복잡한 조건을 만들거나 데이터를 변환하는 작업을 합니다.개별 노드를 더 자세히 살펴볼까요? 각 노드는 기본적으로 입력 포트Input와 출력 포트Output를 가집니다. 입력 포트에서 이전 노드의 데이터를 받아 작업을 수행한 뒤 출력 포트로 결과를 다음 노드에 전달합니다.입력 포트와 출력 포트는 캔버스의 노드에서 다음과 같은 형태로 표시됩니다.노드 출력 포트 옆에 나타나는 ➊ [+] 버튼을 클릭해 새로운 노드를 추가하기 때문에 추가된 노드는 자동으로 앞선 노드와 화살표로 연결됩니다. 노드 간 연결선 위에 마우스를 올리면 ➋ [+]와 ➌ [휴지통] 아이콘이 나타나며, 노드 사이에 새 노드를 추가하거나 연결을 삭제할 수 있습니다.떨어진 노드를 연결하고 싶다면 노드의 출력 포트를 클릭한 채로 다음 노드로 드래그 앤 드롭하면 됩니다.이와 같이 연결선을 따라 데이터가 이전 노드에서 다음 노드로 전달되며, 각 노드는 전달받은 데이터를 기반으로 설정된 매개변수에 따라 작업을 수행합니다. 매개변수란 이 노드에서 어떤 작업을 수행할지를 결정하는 주요 설정값입니다. 요청할 URL, 사용할 계정, 반복 횟수, 필터 조건 등이 여기에 포함됩니다.[03] 워크플로 구조 이해하기기본적으로 n8n에서는 노드들이 연결된 순서대로 하나씩 실행됩니다. 앞선 노드가 실행되고, 그 결과가 다음 노드로 전달되면 그 노드가 이어서 작동하는 식입니다. 예를 들어 ‘구글 시트에서 데이터를 불러오는 노드’ 다음에 ‘슬랙으로 전송하는 노드’를 연결하면 먼저 시트에서 데이터를 읽고 나서 그 값을 가지고 슬랙 메시지를 보내는 순서로 실행됩니다.노드가 나열된 위치를 기반으로 실행 순서를 보면 기본적으로 노드들이 왼쪽에서 오른쪽, 위에서 아래 순서로 실행됩니다. 즉 먼저 연결된 노드가 먼저 실행되고, 같은 시점에 여러 노드가 연결되어 있으면 위에 있는 노드가 먼저, 그다음 아래쪽 노드가 실행됩니다.중간에 IF 노드나 Switch 노드와 같은 특수 노드를 사용하면 조건에 따라 두 갈래로 나뉘는 흐름을 만들 수도 있습니다. 예를 들어 조건이 참일 때만 슬랙에 알림을 보내고, 거짓이면 이메일로 보고서를 보내는 흐름을 만드는 것이죠.또는 오류가 발생했을 때 별도의 경로를 구성하는 방식에서도 분기를 만들 수 있습니다. n8n에서는 어떤 노드에서 오류가 발생하면 기본적으로 그 지점에서 워크플로가 멈춥니다. 하지만 오류 상황에 따라 별도의 경로를 구성해두면 문제가 생겼을 때 다른 노드로 흐름을 전환하거나, 관리자에게 알림을 보내는 등의 대응을 할 수 있습니다. 조건에 따라 분기되는 워크플로는 뒤에서 다시 한번 다루겠습니다.[04] 워크플로 실행 및 결과 확인하기완성된 워크플로를 실제로 작동시킬 때는 해당 워크플로 캔버스 오른쪽 위에 있는 [Inactive] 버튼을 눌러서 활성화하면 됩니다. 이렇게 활성화하면 실제 시작 노드로 설정되어 있는 조건에 따라서 전체 워크플로가 동작합니다. 활성화된 워크플로는 다시 비활성하지 않으면 계속 작동하기 때문에 사용하지 않을 때는 반드시 다시 버튼을 클릭하여 비활성화합니다.워크플로 전체를 테스트용으로 한 번 실행할 때는 캔버스 아래의 [Execute workflow]를 클릭합니다. 이 버튼은 테스트용 시작 버튼이기 때문에 시작 노드가 어떤 트리거로 선택되어 있는지와 관계없이 현재 시점에서 워크플로가 바로 실행됩니다.워크플로 전체를 테스트하지 않고 하나의 개별 노드를 단독으로 실행해보는 것도 가능합니다. 노드를 더블클릭하여 설정 패널을 열고 상단에 있는 [Execute step] 버튼을 누르면 그 노드만 따로 실행할 수 있습니다.워크플로가 실행되고 나면 각 노드의 입력값과 출력 결과를 하나씩 확인할 수 있습니다. 앞에서 설명한 것처럼 노드 설정 패널의 왼쪽에는 Input 탭이, 오른쪽에는 Output 탭이 나타납니다. 이 탭들을 통해 어떤 데이터가 들어왔고 어떤 결과가 나갔는지를 시각적으로 확인할 수 있습니다.n8n의 모든 데이터는 기본적으로 JSON 형식으로 처리됩니다. 노드 하나가 실행되면 그 노드의 출력 결과가 JSON 형식으로 만들어지고, 다음 노드의 입력으로 자동 전달됩니다.데이터는 단순한 텍스트나 숫자뿐 아니라, 배열처럼 여러 항목을 가진 구조일 수도 있습니다. 예를 들어 구글 시트에서 여러 줄의 데이터를 가져오면, 각 줄이 하나의 JSON 객체가 되고, 이 객체들이 모여 배열 형태로 전달됩니다. 다음 노드에서는 이 배열을 반복 처리하거나, 조건에 따라 특정 항목만 골라내는 작업을 할 수 있습니다.모든 워크플로 실행 결과는 자동으로 기록됩니다. 캔버스 상단의 [Executions] 탭을 클릭하면 지금까지 실행된 모든 기록이 시간순으로 정리되어 있습니다. 각 항목을 클릭하면 해당 실행이 성공했는지 실패했는지, 어느 노드에서 오류가 났는지, 얼마나 시간이 걸렸는지를 하나씩 살펴볼 수 있습니다. 특정 노드에서 문제가 생겼다면, 노드를 클릭했을 때 오류 메시지와 오류 발생 위치가 함께 표시됩니다. 이 정보를 바탕으로 어떤 설정이 잘못되었는지, 자료 형식에 문제가 있는 건지 등을 파악해 수정할 수 있습니다. 최신 버전의 n8n에는 워크플로 창 상단에 Evaluations라는 기능이 새로 추가되었습니다. 이 메뉴는 AI를 사용하는 워크플로에 대해 테스트 데이터셋을 돌려보고 정답 대비 출력을 비교하여 메트릭을 산출하는 등 모델이나 노드의 성능을 실험적으로 평가할 수 있도록 만든 기능입니다.따라서 출력이 매번 달라질 수 있는 AI 기반 워크플로에 한해 이 Evaluations 기능이 필요하며, 결과가 일정한 단순 자동화 워크플로에서는 굳이 이 기능을 쓸 필요는 없습니다. 또한 최신 버전에 서만 제공하는 베타 기능이기 때문에 최신 버전으로 업데이트하지 않은 경우 이 기능을 사용할 수 없습니다.

[바이브 코딩 외주 돈 벌기 03] 클로드 코드로 고객이 요청한 자동화 프로그램 만들기
[바이브 코딩 외주 돈 벌기 03] 클로드 코드로 고객이 요청한 자동화 프로그램 만들기

[바이브 코딩 외주 돈 벌기 03] 클로드 코드로 고객이 요청한 자동화 프로그램 만들기

📅 2026년 5월 10일 · 👁 222

[바이브 코딩 외주 돈 벌기 03] 클로드 코드로 고객이 요청한 자동화 프로그램 만들기앞에서 네이버에 자동으로 로그인하는 프로그램을 만들어 보았습니다. 그런데 로그인 자체가 목적인 프로그램은 거의 없습니다. 로그인은 시작일 뿐이고, 진짜 가치는 로그인 이후에 무엇을 하느냐에 있습니다. 이번 프로젝트는 네이버 로그인 이후 메일함에 접근하여 필요한 정보를 수집하는 프로그램입니다. 앞에서 만든 로그인 자동화가 실제 외주 프로젝트에서 어떻게 활용되는지 직접 경험해 보겠습니다.[01] 고객 요구사항 확인하기쇼핑몰을 운영하는 고객으로부터 의뢰가 들어왔습니다. 여러 쇼핑몰을 동시에 운영하고 있는데, 주문이 들어올 때마다 네이버 메일로 알림이 옵니다. 문제는 하루에 들어오는 메일이 수십 통이고, 그중에서 주문 관련 메일만 골라내서 확인하는 작업을 매번 수동으로 해야 한다는 것입니다. 특정 기간 동안 들어온 메일 중에서 주문과 관련된 메일만 걸러내고, 해당 메일의 제목과 수신 날짜를 엑셀로 정리해달라는 요청이었습니다.대화를 나누면서 두 가지를 추가로 제안했습니다.주문 메일을 구분하는 키워드를 고객이 직접 설정할 수 있도록 하는 기능입니다. 쇼핑몰마다 메일 제목이 다르고, 향후 새로운 쇼핑몰이 추가되더라도 고객이 직접 키워드를 추가하면 별도의 수정 의뢰 없이 대응할 수 있기 때문입니다.메일을 확인할 기간도 직접 지정할 수 있게 하자고 제안했습니다. 오늘 하루치만 확인할 수도 있고, 일주일 치를 한꺼번에 확인할 수도 있으면 훨씬 유용할 것입니다.이처럼 고객이 요구하지 않았더라도 사용 편의를 고려해 한 발짝 더 나아가는 것이 단골 고객을 만드는 비결입니다. 최종적으로 정리한 요구사항은 다음과 같습니다.네이버 메일함에서 지정한 기간 동안 수신된 메일을 확인메일 제목에 특정 키워드가 포함된 메일만 필터링(키워드 직접 설정 가능)조건에 맞는 메일의 제목과 수신 날짜를 엑셀 파일로 저장[02] 현실적으로 견적 제안하기고객의 요구사항을 바탕으로 이번 프로젝트의 복잡도를 분석해 보겠습니다. 네이버 로그인 자동화는 이미 앞에서 만들어 본 경험이 있으니 익숙한 영역입니다. 여기에 메일함 이동, 메일 제목과 날짜 수집, 키워드 필터링, 엑셀 저장 기능이 추가됩니다. 로직 자체는 단순하지만 제법 신경써야할 것들이 있어 보입니다. 필요한 기능을 나열해 보면 다음과 같습니다.네이버 자동 로그인(Selenium)메일함 이동 및 메일 목록 크롤링날짜 기간 필터링키워드 매칭 필터링엑셀 파일 저장(openpyxl)GUI 화면 구성(아이디/비밀번호 입력, 키워드 설정, 기간 설정, 결과 테이블)작업 기간은 개발 2일, 테스트 및 디버깅 1일로 총 3일 정도 소요될 것으로 예상했습니다. 웹 자동화와 크롤링이 결합된 프로젝트이고, GUI까지 포함되어 있으므로 30만 원을 제안했습니다. 고객도 큰 이견 없이 수락하여 바로 작업에 들어가게 되었습니다.[03] 미리 생각하고 설계하기이번 프로그램에 필요한 것들을 정리해 보겠습니다. 프로그램의 목적은 네이버 메일함에서 주문 관련 메일을 찾아 엑셀로 저장하는 것입니다. 필요한 기능은 네 가지입니다.아이디와 비밀번호를 입력받을 수 있는 화면조회할 기간과 키워드를 설정할 수 있는 기능조건에 맞는 메일을 화면에서 바로 확인할 수 있는 테이블결과를 엑셀 파일로 저장하는 기능프로그램이 동작하는 순서도 생각해 보겠습니다.네이버에 로그인메일함 페이지로 이동메일 목록에서 각 메일의 제목과 수신 날짜를 수집사용자가 지정한 기간과 키워드 조건에 맞는 메일 추리기결과를 화면에 표시하고 엑셀 파일로 저장여기서 한 가지 팁이 있습니다. 메일함으로 이동하는 방법은 두 가지가 있습니다. 어떤 방법이 더 좋은 방법일까요?웹 화면에서 네이버 메일을 클릭해서 이동하는 방법인터넷 주소에 직접 네이버 메일함 주소로 이동하는 방법정답은 네이버 메일함 주소(URL)을 이용해 이동하는 것이 더 좋은 방법입니다. 그 이유는 프로그램을 제작할 때는 무조건 과정을 줄이고 단순화해야 오류가 없습니다. 때문에 URL 정보를 직접 제공해 이동하도록 하는 것이 과정도 단순하고 간단한 방법이기 때문에 권장합니다. 네이버 메일 메인 화면으로 이동한 다음 상단 주소창에 떠 있는 URL을 기록해둡니다.네이버 메일함 URL : https://mail.naver.com이제 앞에서 배운 것처럼 메일함에서 필요한 웹 요소 선택자를 확인하겠습니다. 네이버 메일함에서 확인해야 할 요소는 두 가지입니다. 메일 제목과 메일 수신 날짜입니다.메일 제목 요소 선택자 값css selector : #mail_list_wrap > ul > li.mail_item.mail-54752 > div > div.mail_inner > divXpath : //*[@id="mail_list_wrap"]/ul/li[1]/div/div[4]/div메일 수신 시간의 요소 선택자 값selector : #mail_list_wrap > ul > li.mail_item.mail-54752 > div > div.mail_date_wrap > spanXpath : //*[@id="mail_list_wrap"]/ul/li[1]/div/div[5]/span또한 여러 페이지에 걸쳐서 메일을 확인할 필요가 있을 수 있기 때문에 다음 페이지로 넘기는 버튼의 요소를 확인해야 합니다. 그러나 앞서서 메일함으로 이동할때 URL을 이용했던 것처럼 메일함의 페이지를 이동할때도 ULR을 이용할 수 있습니다. 메일함의 페이지를 넘겨보면 아래와 같이 URL이 변경됨을 확인할 수 있고 이를 통해서 규칙을 확인할 수 있습니다.1페이지 : https://mail.naver.com/v2/folders/-1?page=12페이지 : https://mail.naver.com/v2/folders/-1?page=2이번에는 이 정보를 이용하여 페이지를 넘기는걸 응용해보겠습니다. 이전 프로젝트에서는 로그인에 필요한 선택자 세 가지만 정리하면 됐지만, 이번에는 로그인 이후 수집해야 할 데이터의 선택자까지 추가로 확인해야 합니다. 프로그램이 복잡해질수록 prd.md에 정리해야 할 정보도 늘어나지만, 결국 하는 일은 같습니다. 필요한 요소의 위치를 찾아서 인공지능에게 알려주는 것입니다. 최종 내용을 정리해보겠습니다.프로그램 목적 : 네이버 메일함에서 주문 관련 메일을 키워드로 필터링하여 엑셀로 저장하는 프로그램필요 기능 GUI (아이디/비밀번호 입력, 기간 설정, 키워드 설정, 결과 테이블)네이버 자동 로그인메일 제목/날짜 크롤링키워드 필터링엑셀 파일 저장동작 순서 1. 네이버 로그인2. 메일함으로 이동 (https://mail.naver.com/)3. 메일 목록에서 제목과 수신 날짜 수집4. 지정 기간 + 키워드 조건으로 필터링5. 결과를 GUI 테이블에 표시하고 엑셀로 저장웹 요소 선택자 아이디 입력창Selector : #idXPath : //*[@id="id"]비밀번호 입력창Selector : #pwXPath : //*[@id="pw"]로그인 버튼Selector : #log\.loginXPath : //*[@id="log.login"]메일 제목Selector : #mail_list_wrap > ul > li > div > div.mail_inner > divXPath : //*[@id="mail_list_wrap"]/ul/li[1]/div/div[4]/div메일 수신 날짜Selector : #mail_list_wrap > ul > li > div > div.mail_date_wrap > spanXPath : //*[@id="mail_list_wrap"]/ul/li[1]/div/div[5]/span페이지네이션1페이지 : https://mail.naver.com/v2/folders/-1?page=12페이지 : https://mail.naver.com/v2/folders/-1?page=2[04] 개발 시작하기01 커서를 실행하고 새 프로젝트를 생성합니다. 폴더 이름은 Vibe_20260223_NaverMailAuto로 지정하겠습니다.02 설계한 내용을 바탕으로 prd.md 문서를 생성하겠습니다. 정리한 내용을 그대로 입력해 넣도록 합니다.03 클로드 코드를 실행하고 [Shift + Tab]을 눌러서 [Plan] 모드로 변경한뒤 prd.md 문서를 첨부하고 구현 계획을 수립해달라고 요청하겠습니다.[나] : 첨부 파일을 확인하여 네이버 메일 주문 확인 자동화 프로그램을 구현계획을 수립하고 개발을 진행해줘.04 클로드가 작성해준 계획을 확인해보겠습니다.[인공지능] :계획을 읽다가 매우 놀란 부분이 있었습니다. 사실 이 부분에서 오류가 발생할 것을 예상하고 있었습니다. 네이버 메일함에서 날짜를 보면 오늘 수신된 메일은 날짜가 아닌 "오전/오후 HH:MM" 형식으로 표시됩니다. 날짜 기반 필터링을 하려면 이 부분을 별도로 처리해야 하는데, 클로드가 이미 그것까지 고려하여 계획을 수립해 준 것입니다. 이런 부분을 미리 잡아주는 것이 [Plan] 모드를 활용하는 가장 큰 장점입니다.05 계획을 승인하고 개발을 진행한 후 main.py 를 직접 실행하여 가상환경을 구성하고 패키지를 설치하세요. 이 과정은 앞에서 다뤘기 때문에 내용은 생략하겠습니다. 모든 패키지를 설치하였으면 프로그램을 실행해보세요.프로그램이 성공적으로 실행되었습니다.[05] 테스트하고 디버깅하기01 필요 정보들을 입력하고 추출을 시작해보겠습니다.02 오늘 하루를 추출하고 있는데 너무 많은 과거 까지 확인하는 현상이 발견되었습니다. 오늘 하루 메일만 확인하는 거면 1페이지만 확인해도 충분한데 다른 페이지들까지 확인하고 있는 상황입니다.03 터미널에 있는 로그를 확인해보니 특별히 확인되는 현상이 없습니다. 클로드가 문제를 해결할 수 있도록 정보를 제공해보겠습니다.[나] : 프로그램을 실행해보니 현재 터미널에서는 문제 없이 진행되는 것으로 보이는데 내가 지정한 날짜는 오늘 하루 임에도 불구하고 여러 페이지를 확인하고 있어. 실제 오늘 수신된 메일은 1page에 전부 확인되거든. 원인을 확인해볼래?[인공지능] :결과를 보면 현재 프로그램은 전체 페이지를 크롤링 한 뒤 분류하는 로직으로 설계되어 있었습니다. 제가 명확하게 설계하지 않은 이유이기 때문에 기간을 넘어서면 크롤링을 중단하는 로직을 추가하여 보완하면 해결될 것 같습니다.04 이후 테스트를 하면서 다음과 같은 문제들을 수정했습니다.1page가 아닌 2page로 넘어가서 완료됨상태바가 진행 상태와 상관없이 표시됨제목에 ‘쿠팡’ 키워드가 포함된 메일은 1건인데 2건이 표시됨프로그램에서 제목이 줄바꿈 되어 제대로 표시 안됨 1줄로 표시 필요[06] 고객에게 프로그램 배포하기모든 기능이 정상 동작하는 것을 확인했으니 이제 실행 파일로 배포할 차례입니다. 클로드에게 배포를 요청하고 빌드가 완료되면 dist 폴더 안에 생성된 실행 파일을 압축해 고객에게 전달하면 됩니다.[나] : 가상 환경에 PyInstaller를 설치하고 실행 파일로 빌드해줘.[07] 프로젝트 회고하기이번 프로젝트의 전체 소요 시간을 정리해 보면 다음과 같습니다.고객 상담 및 요구사항 파악 : 20분견적 제안 및 협의 : 10분개발 설계 (선택자 확인 포함) : 40분초기 개발 : 40분테스트 및 디버깅 : 120분배포 및 안내 문서 작성 : 30분고객 전달 및 사용법 안내 : 40분총 소요 시간 : 약 5시간 (300분)30만 원짜리 프로젝트를 약 5시간 만에 완료했으니 시급으로 환산하면 약 6만 원입니다. 이번 프로젝트는 앞에서 만든 네이버 로그인 자동화의 확장이었습니다. 로그인까지는 동일하고, 그 이후에 메일함 이동, 데이터 수집, 필터링, 엑셀 저장이라는 단계가 추가된 구조입니다. 프로그램의 규모는 커졌지만 개발 흐름은 동일했습니다. 필요한 웹 요소의 선택자를 찾고, 동작 순서를 정리해서 인공지능에게 전달하고, 테스트하면서 문제를 잡아나가는 과정입니다.테스트 과정에서 인상적이었던 장면이 두 가지 있었습니다. 하나는 [Plan] 모드로 수립한 계획에서 클로드가 날짜 표시 형식 문제를 미리 잡아준 것입니다. 네이버 메일함에서 오늘 수신된 메일은 날짜가 아닌 시간으로 표시되는데, 이 부분을 사전에 고려하지 않으면 날짜 필터링에서 반드시 오류가 발생합니다. [Plan] 모드를 활용해 계획을 먼저 세우는 것이 단순히 절차가 아니라 실제로 오류를 예방하는 효과가 있다는 것을 다시 한번 확인한 순간이었습니다. 다른 하나는 크롤링 결과를 의심했다가 오히려 클로드가 맞았던 경험입니다. 키워드에 해당하는 메일이 1건이라고 생각했는데 프로그램은 2건이라고 표시했고, 실제로 대조해 보니 2건이 맞았습니다.이번 프로젝트에서 배운 점은 크게 두가지 입니다. 첫째, 고객이 요청하지 않은 기능을 추가하는 센스가 단가를 높인다는 점입니다. 이번 프로젝트에서 고객은 엑셀 저장만 요청했지만, GUI 테이블과 키워드 직접 설정 기능을 추가로 제안했습니다. 이런 작은 차이가 고객 만족도를 높이고, 재의뢰와 좋은 리뷰로 이어집니다. 둘째, 웹 자동화에서는 과정을 단순화하는 것이 정답이라는 점입니다. 메일함으로 이동할 때 화면에서 아이콘을 클릭하는 대신 URL로 직접 이동하는 것처럼, 같은 결과를 내더라도 단계를 줄일수록 오류가 줄어듭니다. 프로그램의 안정성은 복잡한 코드가 아니라 단순한 설계에서 나옵니다.