htmx 4.0 发布:改用 Fetch API 重写,内置 DOM Morphing Swap,并明确属性继承规则
InfoQ - 促进软件开发领域知识与创新的传播
点击查看原文>
Балл: 55.78Уверенность: 54%
ПодробнееЗагружаем каталог…
НАВИГАТОР ПО ВОЗМОЖНОСТЯМ ИИ
Найдите свой ИИ-инструмент. Бесплатный доступ, пробные периоды и кредиты — в одном месте.
InfoQ - 促进软件开发领域知识与创新的传播
点击查看原文>
Балл: 55.78Уверенность: 54%
Подробнееvelog
introduction 여기서 말하고자 하는것은 일반적인 컴퓨터비전은 입력이미지와 동일한 좌표계 내에서 예측을 출력한다. 근데 이 패러다임은 자율주행과는 맞지 않다. 그 이유는 자율주행에서는 여러종류의 센서데이터 값이 들어오기떄문에 좌표계 또한 다를수밖에 없다. 그래서 여기서 제안하는것은 여러 센서의 데이터를 BEV좌표계로 통합한다음에 이것을 기반으로 예측을 하겠다라는것이다. 또한 2D이미지를 분석하고 3D로 나중에 후처리 하려하면 역전파가 불가능해지기 때문에 가중치 조절을 할수없다는 문제가 있다. 그래서 본 논문에서는 2D이미지를 먼저 3D로 Lift한다음에, 각각의 특징카메라에서 나온것을 기반으로 BEV 좌표계에 Splat하겠다는것이다. 이렇게 되면 좌표계 통합 효과와 역전파 문제도 해결할수가있다. 2-1. Lift: Latent Depth Distribution 여기서는 첫단계인 Lift에 대해서 설명을 해주는데 우선 여기의 카메라 리그는 카메라의 특성으로 인해서 깊이 정보가 모호하다는 문제가 있다. 그래서 이것을 해결하기 위해서 각 픽셀마다의 거리 후보 집합을 설정하고 그 집합별로 각 픽셀마다 점을 찍는다. 이렇게 되면 거대한 Point cloud가 생성이 되고 여기서 이제 각 픽셀별로 예측한 Context vector와 거리확률분포인 Alpha를 곱하여 거리정보가 들어간 Context vector로 정의한다. 그런 다음에 one-hot vector로 정답만 나올수있도록 출력할수도 있고 거리가 모호할때는 확률분포로 spread할수도 있다. 이럼으로써 거리정보에 대한 lack을 해결한다. 그래서 BEV공간에서 Splat하기 전에 나온 부채꼴 모양의 3D Frustum을 이산적인 점들로 나누는 작업을 한다. 2-2. Splat: Pillar Pooling lift된 것을 가지고 이제 BEV 2D로 splat해야하는데 이때 쓰이는 기법이 pointpillars기법을 사용한다. point cloud의 점들을 가까운 pillar에 할당하고 기존에 빈공간을 패딩하여 sumpooling 하는 대신 빈공간을 없애고 packing하여 빈틈없이 붙힌다. 그런다음에 cumsum trick을 하게 되면 호율적이게 연산을 할 수 있게 된다. 2-3. Shoot: Motion Planning Splat에서 출력된 2D BEV 텐서를 가지고서 CNN에 넣으면 Cost map이 출력이 된다. 이는 궤적에 대한 비용맵이고 이전에 truth trajectory를 L2 손실함수를 가지고서 만들어놓는다. 이것을 cost map에 쏘면 궤적에 대한 비용들이 나오게 되고 여기에서 비교를 하여 cross entropy 손실함수로 학습을 시킨다. 그렇게 되면 궤적에 대한 비용들이 나오게 되고 여기에서 적은 비용을 선택하여 궤적을 planning하게 된다. 이 기법에서 야기하는것은 기존의 NMP에서는 hard-margin을 하기 때문에 튜닝하기가 빡빡했는데 이렇게 하면 data로부터 end-to-end planning이 가능해진다는 장점이 있다. 3-1. Architecture Details OFT와 비슷하게 여기서도 두개의 backbone을 사용하였는데, 하나는 이미지 각각에 대해서 생성된 포인트 클라우드를 특징화할때이고, 또 다른 하나는 splat된 이후에 bev에 대해서 사용하는 backbone이 있다. 또 다른것은 우리가 해상도를 위해서 하이퍼파라미터로 조정해야하는것이 있는데 첫번째는, 입력이미지의 HxW 사이즈이고 두번째는 bev 그리드의 격자 크기 이다. 그리고 나머지 하나는 깊이 집합인 D를 어느 간격으로 어디까지 설정할지이다. 3-2. Frustum Pooling Cumulative Sum Trick 포인트 클라우드의 점들을 패딩을 하여 pillar에 넣게 되면 연산도 늘어나고 불필요한 공간에 대한 연산이 추가가 되기 때문에 비효율적이다. 그래서 패딩을 하지 않고 그냥 id를 부여한다음에 일렬로 정렬을 한다. 그리고 이것을 순서대로 누적합을 하게 된다. 그리고 pillar마다 구분을 하기 위해서 경계선까지의 번호만큼을 빼주게 되면 해당 pillar에 대한 누적합만 구할수가 있다. 한번에 미분을 할수가 있어서 속도가 2배 향상되는 성능을 보였다. 결론 및 비교 분석 이 논문의 결론은 결국에는 ground truth depth data없이 bev표현으로 planning을 해냈고 또한 성능도 우수하게 나왔다는것이다. 하지만 추후에는 여러대의 카메라로 찍은 단일 영상 대신 연속적인 영상을 조건으로 하는 연구가 향후에 진행되어야 할것이다. [출처] : https://arxiv.org/abs/2008.05711
Балл: 54.4Уверенность: 49%
Подробнееvelog
앱은 완성했는데, 설명할 수가 없었다 최애의 촬영지를 따라 여행하는 앱 덕질로드 를 만들었습니다. 지역과 기간, 이동수단을 고르면 촬영지를 지도에서 골라 최단 경로 코스를 만들고, 주변 카페·식당과 숙소까지 넣어 일정을 완성해 주는 앱입니다. 이 모든 것을 바이브 코딩 으로 만들었습니다. AI와 대화하며 기능을 붙여 나갔고, 돌아가는 걸 확인하며 다음 기능으로 넘어갔습니다. 덕분에 혼자서는 몇 달 걸렸을 범위를 짧은 기간에 완성했습니다. 문제는 그다음이었습니다. 코드를 다시 열어 보니 "이게 왜 이렇게 되어 있지?" 싶은 곳이 많았습니다. 동작은 알지만 이유를 모르는 코드가 쌓여 있었습니다. 만든 사람이 설명하지 못하는 코드는 제 것이 아니라고 생각했습니다. 그래서 같은 앱을 처음부터 다시 만들기로 했습니다. 이 시리즈는 그 과정의 기록입니다. 잘 만든 결과물을 자랑하는 글이 아니라, 모르던 것을 하나씩 알아 가는 기록에 가깝습니다. 만들 앱 항목 내용 이름 덕질로드 하는 일 K-팝·드라마·영화 촬영지 여행 일정 짜기 주요 기능 지도에서 촬영지 선택 → 최단 경로 코스 → 카페·식당·숙소 추가 → 일정 저장 → 여행 당일 지도 기술 스택 구분 사용 이유 앱 React Native (Expo) 폰에 설치해 시연해야 하는데 혼자서 두 OS를 각각 만들 수는 없어 React Native를, 그중 필요한 모듈이 갖춰진 Expo를 사용 화면 이동 React Navigation RN에서 사실상 표준 서버 Vercel Functions 몰랐던 기술. AI가 추천해 알게 됨 DB·로그인 Supabase 몰랐던 기술. AI가 추천해 알게 됨 외부 API TMAP, 한국관광공사 경로 안내와 주변 장소 정보. 공공데이터포털에서 신청 연재 계획 매 편마다 동작하는 것이 하나씩 늘어나도록 순서를 잡았습니다. 1부. 앱의 뼈대 — 화면 이동 · 시작 화면 · 상태 기억 · 스플래시 (1~4편) 앱을 켜서 첫 화면까지 가는 길을 만듭니다. 2부. 여행 계획 짜기 — 지역/기간/이동수단 · 지도 · 경로 서버 · 코스 · 카페 추가 · 여러 날 (5~10편) 이 앱의 핵심입니다. 촬영지를 고르면 최단 순서로 코스를 짜고, 중간에 카페와 숙소를 넣습니다. 3부. 저장하고 다시 꺼내기 — 자동 저장 · 내 일정 목록 · 여행 당일 지도 (11~13편) 만든 일정이 사라지지 않게 하고, 여행 당일에 쓸 수 있게 만듭니다. 4부. 진짜 앱으로 — 로그인 · 디자인 정리 · 보안 · 배포 (14~17편) 내 폰에서만 돌던 것을 남에게 줄 수 있는 앱으로 만듭니다. 총 17편 예상이며, 진행하면서 조정될 수 있습니다. 글 쓰는 방식 매 글을 같은 형식으로 씁니다. 무엇을 만들었나 / 어떻게 동작하나 / 어떤 형태로 구현했나 왜 이렇게 했나 배운 것 / 막혔던 것 "왜"와 "막혓던 것"이 두 항목에 가장 많은 분량을 쓰려고 합니다. 제가 채우지 못했던 부분이 정확히 이 두 가지였기 때문입니다. 코드를 옮겨 적는 건 AI도 하지만, 왜 그 선택을 했고 어디서 막혔는지는 직접 겪지 않으면 쓸 수 없습니다. 목표는 코드를 다시 짜는 것이 아니라 설명할 수 있는 상태가 되는 것 입니다. 그래서 매 편 끝에 "이제 설명할 수 있는 것"을 남깁니다. 설명이 안 되는 부분은 넘어가지 않고 그 자리에서 파고들 생각입니다.
Балл: 54.4Уверенность: 49%
Подробнееvelog
1편에서는 AWS의 리소스가 Region과 Availability Zone 위에 배치된다는 구조를 살펴봤다. 이제 실제로 AWS에서 가장 기본적인 Compute Resource인 EC2 를 만들어볼 차례다. EC2는 단순히 "AWS에서 만드는 서버"라고만 이해하면 부족하다. 하나의 EC2 Instance가 만들어지기 위해서는 다음과 같은 여러 요소가 함께 결정된다. AMI + Instance Type + Key Pair + Network + Storage + User Data ↓ EC2 Instance 이번 글에서는 EC2가 어떤 요소들로 구성되는지 살펴보고, EC2의 Storage 역할을 하는 EBS 를 직접 연결해 사용해본다. 핵심은 단순히 서버를 생성하는 것이 아니다. 어떤 Image로 서버를 만들고, 어느 정도의 자원을 주고, 어떻게 접속하며, Storage를 어떻게 연결하고, 이 설정들이 보안과 어떤 관계가 있는지 이해하는 것 이 목표다. 1. EC2란? EC2는 Elastic Compute Cloud 의 약자로, AWS에서 가상 Server Instance를 생성하여 사용할 수 있게 해주는 서비스다. 기존 환경에서 Server가 필요하다면 물리 장비를 준비해야 하지만 AWS에서는 필요한 사양을 선택하여 EC2 Instance를 생성할 수 있다. Server 필요 ↓ EC2 설정 ↓ Virtual Server 생성 ↓ OS / Application 실행 여기서 Instance 는 실제로 실행되고 있는 하나의 가상 Server를 의미한다고 생각하면 된다. EC2의 중요한 특징은 1편에서 살펴본 Cloud의 유연성 과 직접 연결된다. 처음 선택한 Server 크기가 너무 작다면 더 큰 Instance Type으로 변경할 수 있고, 반대로 사용률이 낮다면 더 작은 크기로 조정할 수도 있다. 즉 처음 선택한 Hardware 사양에 영구적으로 묶이는 구조가 아니다. 2. EC2를 만들 때 무엇을 결정해야 하는가? EC2 Instance를 생성할 때는 여러 설정이 함께 필요하다. 대표적인 항목은 다음과 같다. 설정 의미 AMI 어떤 OS와 기본 Software 상태로 시작할지 결정 Instance Type CPU, Memory 등 Server 크기 결정 Key Pair SSH 인증에 사용할 Public/Private Key Pair Network 어느 VPC/Subnet에 배치할지 결정 Public IP Internet에서 접근 가능한 주소 사용 여부 Security Group 어떤 Network Traffic을 허용할지 결정 EBS OS와 Data를 저장할 Block Storage User Data Instance 시작 시 자동으로 실행할 Script 이 중 Network와 Security Group은 4편에서 자세히 다룬다. 이번 글에서는 AMI, Instance Type, Key Pair, User Data, EBS 를 중심으로 본다. 3. AMI는 단순한 OS 설치 파일이 아니다 EC2를 만들 때 가장 먼저 선택하는 요소 중 하나가 AMI(Amazon Machine Image) 다. AMI는 EC2의 Root Volume을 만들기 위한 Template 역할을 한다. 쉽게 생각하면 다음과 같다. AMI ↓ Root Volume 생성 ↓ EC2 부팅 ↓ 동일한 기본 환경의 Server 생성 예를 들어 Amazon Linux 2023 AMI를 선택하면 해당 OS 구성을 기반으로 EC2가 생성된다. AMI에는 AWS가 제공하는 Image도 있지만, 사용자가 직접 구성한 EC2를 기반으로 Custom AMI 를 만들 수도 있다. 예를 들어 Server 하나에 필요한 Package와 설정을 모두 완료했다고 하자. EC2 ├─ OS ├─ Package ├─ Application └─ Configuration ↓ Custom AMI ↓ 동일한 환경의 EC2 반복 생성 강의에서는 이렇게 표준 Server 상태를 Image로 만들어두는 것을 Golden Image 를 만드는 방식으로 설명했다. 동일한 구성을 여러 Server에 반복해서 적용해야 할 때 유용하다. 4. AMI Baking Strategy AMI에 어느 정도까지 설정을 미리 넣어둘 것인지에 따라 운영 방식도 달라진다. Full Baking 필요한 Package와 설정을 대부분 AMI에 포함하는 방식이다. OS + Package + Application + Configuration ↓ Custom AMI 장점은 Instance가 생성된 뒤 추가로 구성해야 할 작업이 적기 때문에 빠르게 동일한 환경을 만들 수 있다는 점이다. 반면 Application이나 설정이 자주 바뀐다면 그때마다 새로운 Image를 관리해야 하는 부담이 생긴다. Raw Baking 기본 Image는 최대한 단순하게 유지하고, Instance가 생성된 이후 User Data 등을 이용해 필요한 설정을 적용하는 방식이다. 기본 AMI ↓ EC2 생성 ↓ User Data ↓ Package / Configuration 적용 Image 관리 부담은 줄지만 Instance가 시작될 때 추가적인 구성 시간이 필요할 수 있다. Half Baking 두 방식을 섞는 방법이다. 자주 변하지 않는 기본 Package는 AMI에 포함하고, 변경이 잦은 설정은 User Data 등으로 처리한다. 중요한 것은 어느 방식이 무조건 좋다는 것이 아니다. Server 생성 속도와 Image 관리 부담 사이에서 요구사항에 맞는 방식을 선택해야 한다. 또한 보안 관점에서는 AMI에 Password, Access Key, Private Key와 같은 민감정보가 들어가지 않도록 주의해야 한다. 5. Instance Type은 Server의 크기를 결정한다 AMI가 어떤 환경의 Server를 만들 것인지 결정한다면, Instance Type은 그 Server의 크기 를 결정한다. Instance Type에 따라 다음과 같은 Compute Resource가 달라진다. CPU Memory Storage 특성 Network 성능 강의 실습에서는 t3.micro 수준의 작은 Instance Type을 사용했다. 중요한 것은 Type 이름을 외우는 것이 아니다. 강사가 반복해서 강조한 것은 다음 흐름이다. Instance Type 선택 ↓ Application 운영 ↓ Resource 사용량 Monitoring ↓ 너무 부족함 → Scale Up 너무 남음 → Scale Down 즉, 처음부터 완벽한 크기를 맞히는 것보다 실제 사용률을 보고 적절한 크기로 조정하는 것이 중요하다. 이는 이후 CloudWatch와 Auto Scaling을 배울 때 다시 연결된다. 6. User Data는 무엇인가? Server를 여러 번 만들 때마다 사람이 직접 접속해서 같은 명령을 반복하면 비효율적이다. EC2의 User Data 는 Instance가 생성될 때 초기 구성 작업을 자동화할 수 있도록 Script를 지정하는 기능이다. 예를 들어 강의자료에는 다음과 같은 형태가 소개된다. #!/bin/bash yum update -y service httpd start chkconfig httpd on 즉 다음과 같은 작업을 자동화할 수 있다. EC2 생성 ↓ User Data 실행 ↓ Package 설치 ↓ Service 구성 ↓ Application 실행 준비 따라서 User Data는 AMI와 함께 반복 가능한 Server 구성 을 만드는 데 사용된다. 이번 편의 실습에서는 User Data를 직접 사용하는 것이 핵심은 아니지만, 이후 Web Server와 Auto Scaling 실습에서 다시 등장한다. 7. EC2에 접속하려면 무엇이 필요한가? EC2를 만들었다고 바로 SSH 연결이 가능한 것은 아니다. 외부 PC에서 Public EC2에 SSH로 접근하려면 강의에서는 다음 조건들을 확인했다. EC2 Running + Public IP + Security Group TCP 22 허용 + Key Pair + 올바른 Linux User ↓ SSH 연결 이 관계가 중요하다. 예를 들어 Key Pair가 있어도 Security Group에서 TCP 22가 막혀 있다면 SSH Traffic이 Instance까지 들어갈 수 없다. 반대로 Port가 열려 있어도 올바른 Private Key가 없다면 인증을 완료할 수 없다. 8. Key Pair는 왜 필요한가? 일반적인 SSH 인증에는 ID/Password 방식도 있지만 AWS EC2 실습에서는 Public Key / Private Key 방식 을 사용한다. 구조를 단순화하면 다음과 같다. Local PC Private Key │ │ SSH 인증 ▼ EC2 Public Key EC2를 생성하면서 Key Pair를 만들면 사용자는 Private Key File을 받게 된다. 이 Private Key는 이후 SSH Authentication에 사용되므로 안전하게 관리해야 한다. Amazon Linux 2023 실습에서는 Linux User로 ec2-user 를 사용한다. SSH 명령의 형태는 다음과 같다. ssh -i <Private-Key-File> ec2-user@<EC2-Public-IP> 예를 들어 구조만 보면 다음과 같다. My PC │ │ SSH TCP 22 ▼ Public IP │ Security Group │ ▼ EC2 Instance 9. EC2 Instance Connect 강의에서는 SSH Client를 이용하는 방법 외에도 EC2 Instance Connect 를 이용한 Browser 기반 연결도 확인했다. EC2 Console에서 Instance를 선택한 뒤 연결(Connect) 메뉴를 통해 접근할 수 있다. 이 방법을 이용하면 별도의 SSH Client Program을 직접 실행하지 않고도 Browser에서 Shell을 사용할 수 있다. 다만 연결 방법이 달라졌을 뿐, Network가 연결될 수 있는 조건과 접근 권한이 필요하다는 기본 원리는 그대로다. SSH, Instance Connect, 이후 배울 Systems Manager Session Manager는 모두 EC2에 접속하는 방식이지만 필요한 조건과 보안 특성이 서로 다르다. 10. EC2를 Stop하는 것과 Terminate하는 것은 다르다 EC2를 사용하면서 반드시 구분해야 할 상태가 있다. 작업 의미 Reboot OS를 다시 시작 Stop Instance의 Compute 실행 중지 Start 중지한 Instance 다시 시작 Terminate Instance 삭제 특히 Stop과 Terminate는 다르다. EC2를 Stop하면 Compute는 중지되지만 연결되어 있는 EBS Volume은 그대로 남을 수 있다. EC2 Stop ↓ Compute 중지 ↓ EBS Volume 유지 따라서 EC2를 중지했다고 해서 모든 비용 요소가 사라진다고 생각하면 안 된다. 반면 Terminate는 Instance 자체를 삭제하는 작업이다. 실습 과정에서 강사가 Resource를 사용한 뒤 삭제하라고 반복해서 강조한 이유도 여기에 있다. 11. EC2의 Storage, EBS EC2에서 사용하는 대표적인 Block Storage가 EBS(Elastic Block Store) 다. 물리 Server에 Disk를 연결하는 것과 비슷하게 이해할 수 있다. EC2 │ ├─ Root EBS │ └─ OS │ └─ Data EBS └─ Application Data EC2를 생성하면 OS가 들어 있는 Root Volume이 함께 구성된다. 필요하다면 별도의 EBS Volume을 생성하여 추가 Disk처럼 연결할 수도 있다. EBS의 성능은 Volume Type과 IOPS 등의 설정에 따라 달라질 수 있다. 이번 실습에서는 1GB gp3 EBS Volume 을 추가하여 EC2에 연결한다. 12. EBS에서 가장 중요한 것은 Availability Zone이다 EBS는 Availability Zone 단위의 Resource 다. 따라서 EBS를 EC2에 Attach하려면 두 Resource가 같은 AZ에 있어야 한다. AZ-A EC2 │ └──── EBS 연결 가능 반면 다음과 같은 구조에서는 직접 Attach할 수 없다. AZ-A AZ-B EC2 EBS └────── X ────────┘ 이것이 1편에서 Resource의 Scope를 먼저 이해한 이유다. EC2와 EBS 모두 특정 AZ에 위치하므로 EBS 생성 전에 연결하려는 EC2의 Availability Zone을 먼저 확인 해야 한다. 13. Attach했다고 바로 사용할 수 있는 것은 아니다 처음 EBS를 공부할 때 가장 헷갈리기 쉬운 부분이다. AWS Console에서 EBS Volume을 EC2에 Attach했다고 바로 /appdir 같은 Directory에서 사용할 수 있는 것은 아니다. 다음 과정이 필요하다. EBS 생성 ↓ EC2에 Attach ↓ File System 생성 ↓ Mount Point 생성 ↓ Mount ↓ File 저장 즉 AWS 수준의 Attach 와 Linux OS 수준의 Mount 는 다른 작업이다. Attach는 Disk를 Server에 연결하는 것이고, Mount는 그 Disk의 File System을 Linux Directory에 연결하는 작업이다. 이번 EBS 실습의 가장 중요한 확인 포인트다. 14. EBS Snapshot EBS의 Data를 보호하기 위한 방법으로 Snapshot 을 사용할 수 있다. 구조는 다음과 같다. EBS Volume ↓ Snapshot ↓ Backup / Recovery 강의에서는 EC2와 EBS Data 보호를 위해 AMI와 EBS Snapshot을 활용할 수 있다고 설명한다. 이번 실습에서 Snapshot을 직접 생성하지는 않지만 이후 Backup과 Shared Responsibility를 다룰 때 다시 연결한다. 실습 목표 이번 편에서는 강의의 실습 2, 실습 3, 실습 4 를 연결해서 진행한다. 확인하려는 것은 세 가지다. 실습 2 EC2 Instance를 생성하고 어떤 정보가 만들어지는지 확인한다. 실습 3 Key Pair, Public IP, Security Group을 구성하여 EC2에 Remote Login할 수 있는 구조를 확인한다. 실습 4 EBS Volume을 추가하고 Linux File System으로 실제 사용할 수 있는 상태까지 구성한다. 전체 흐름은 다음과 같다. EC2 생성 ↓ EC2 구성 확인 ↓ SSH 연결 조건 추가 ↓ Remote Login ↓ EBS 생성 ↓ EC2에 Attach ↓ Format + Mount ↓ File 생성 확인 실습 Architecture Local PC │ │ SSH TCP 22 ▼ Public IP │ ▼ Security Group │ ▼ EC2 Amazon Linux 2023 t3.micro │ │ Attach ▼ EBS 1GB gp3 │ ▼ /appdir EC2와 추가 EBS는 반드시 같은 Availability Zone 에 생성한다. 실습 환경 강의자료 기준으로 다음 Resource를 사용한다. 항목 설정 Compute EC2 AMI Amazon Linux 2023 Instance Type t3.micro Network Default VPC Public IP 자동 할당 활성화 Remote Access SSH / EC2 Instance Connect SSH Port TCP 22 Key Pair 실습 중 생성 Root Storage EC2 생성 시 구성되는 EBS 추가 Storage EBS 1GB EBS Type gp3 Mount Point /appdir 일부 실습 참조자료에는 t2.micro , gp2 표기도 있지만, 전체 이론자료와 강의 진행에서는 t3.micro , gp3 구성을 사용한다. 초기 상태 실습 시작 전 다음을 확인한다. 1편에서 확인한 자신의 할당 Region을 사용하고 있는가? 실습용 EC2가 아직 생성되지 않았는가? 추가 EBS Volume이 없는 상태인가? 실습 중 Resource를 생성한 뒤에는 마지막에 다시 삭제한다. 실습 절차 실습 2 - 간단한 EC2 Instance 생성 1. EC2 Console 이동 AWS Management Console에서 다음 경로로 이동한다. Console → EC2 → Instances → Launch instances 먼저 현재 Region이 강의에서 자신에게 할당된 Region인지 확인한다. 2. AMI 선택 AMI는 다음을 사용한다. Amazon Linux 2023 이 AMI를 기반으로 EC2의 Root Volume과 OS 환경이 구성된다. 3. Instance Type 선택 강의 환경에서는 다음 Type을 사용한다. t3.micro 이번 실습의 목적은 성능 Benchmark가 아니라 EC2의 생성 구조를 이해하는 것이므로 작은 Instance Type을 사용한다. 4. Network 설정 강의의 첫 EC2 실습에서는 미리 존재하는 Default VPC 를 사용한다. VPC → Default VPC Public IP 자동 할당이 활성화되어 있는지도 확인한다. VPC와 Subnet이 정확히 어떤 역할을 하는지는 4편에서 자세히 다룬다. 5. Instance 생성 나머지 기본 설정을 확인한 뒤 Instance를 시작한다. Instance 목록에서 상태가 생성 중에서 실행 가능한 상태로 바뀌는 것을 확인한다. 6. EC2 상세 정보 확인 생성된 EC2를 선택하고 다음 정보를 살펴본다. Instance ID Instance State AMI Instance Type Availability Zone Private IP Public IP Security Group Storage 이번 단계의 핵심은 EC2 하나가 만들어졌을 때 어떤 정보들이 함께 생성되는지 확인하는 것 이다. 첫 번째 간단한 생성 실습이 끝났다면 해당 EC2를 종료하여 정리한다. 실습 3 - EC2 생성 후 SSH 연결 이번에는 Remote Login이 가능하도록 EC2를 다시 생성한다. 실습 2와 대부분 동일하지만 두 가지가 추가된다. Key Pair + Security Group TCP 22 1. EC2 생성 다시 다음 경로로 이동한다. Console → EC2 → Instances → Launch instances 다음 값을 사용한다. AMI: Amazon Linux 2023 Instance Type: t3.micro VPC: Default VPC Public IP 자동 할당: 활성화 2. Key Pair 생성 EC2 생성 화면에서 새로운 Key Pair를 생성한다. 생성한 Private Key File은 Local PC에 저장한다. 이 File은 SSH Authentication에 사용되므로 잃어버리거나 외부에 공개하지 않는다. 3. Security Group 설정 SSH 연결을 위해 Inbound Rule에 다음 Service가 허용되어 있는지 확인한다. Type: SSH Protocol: TCP Port: 22 강의 실습에서는 외부 Notebook에서 직접 접속할 수 있도록 설정한다. 단, 전체 Internet에서 접근할 수 있도록 0.0.0.0/0 으로 SSH를 공개하는 방식은 실습 편의를 위한 설정으로 보고 실제 운영에서는 필요한 Source만 허용하는 방향으로 구성해야 한다. 4. EC2 생성 후 정보 확인 Instance가 생성되면 다음 항목을 다시 확인한다. Instance State Public IP Security Group Key Pair Availability Zone 특히 SSH 연결에는 Public IP가 필요하므로 Public IPv4 Address를 확인한다. 5. SSH 연결 Local Terminal 또는 SSH Client에서 다음 형식의 명령을 사용한다. ssh -i <Private-Key-File> ec2-user@<EC2-Public-IP> 각 항목의 의미는 다음과 같다. 항목 의미 ssh SSH Client 실행 -i 사용할 Private Key File 지정 ec2-user Amazon Linux의 실습용 Login User Public IP 접속할 EC2 주소 강의 환경에서는 Git Bash나 PuTTY 같은 SSH Client를 사용할 수도 있다. 6. EC2 Instance Connect로 연결 SSH 외에도 Console에서 다음 경로를 통해 Browser 기반 연결을 확인할 수 있다. EC2 → Instances → 대상 Instan
velog
Make your pages accessible, give searchers a useful answer, and measure whether ChatGPT actually cites or recommends you. To appear in what many marketers still call SearchGPT, start with ChatGPT Search : let OpenAI’s search crawler access your public pages, publish clear answers to questions relevant to your business, and check whether those pages are cited when people ask them. There is no guaranteed first position or submission trick. OpenAI says its search results use multiple factors and that placement is not guaranteed. SQSEO can help you discover relevant AI-search prompts and track which brands and pages appear in answers. The useful goal is to earn relevant mentions and citations, then connect them to visits and business outcomes. Is SearchGPT still the right name for this? “SearchGPT SEO” is a common way to describe optimizing for web-backed answers in ChatGPT. For practical work in 2026, use ChatGPT Search as the product name. The distinction matters because a ChatGPT answer can mention a brand, cite a page, or give a navigational link, and those are different outcomes. OpenAI describes ChatGPT search as a way to answer questions with information from the web and links to sources. It also says websites must allow OAI-SearchBot access to be eligible for inclusion in search results. Eligibility is a starting condition, not a promise that a page will be selected for a given answer. For a business, the useful questions are more specific than “Do we rank in SearchGPT?” Ask: Does ChatGPT name our brand for a relevant buying question? Does it cite one of our pages? Which competing sources does it use? Does a cited answer send visitors who engage or convert? A brand mention without a link may still influence a decision. A citation may send a visit. Neither should be reported as a conventional Google ranking. How does a page become eligible for ChatGPT Search? A public page needs to be accessible to OpenAI’s search crawler. Check your robots.txt instructions, then check whether your host, firewall, or content delivery network allows requests from OpenAI’s published searchbot IP ranges. A permissive robots file will not help if the server blocks the request. OpenAI identifies OAI-SearchBot as the crawler used to surface websites in ChatGPT search features. It treats that setting separately from GPTBot , which site owners can use to express a preference about crawling for model training. OpenAI also notes that changes to robots instructions may take about 24 hours to be reflected in its systems. A simple technical review should cover the page itself, not only the domain: Crawler instructions: Inspect the robots.txt rule for OAI-SearchBot. If it fails, permit access to pages you want considered. Server access: Inspect firewall, CDN, and bot protection logs. If it fails, allow legitimate requests from published searchbot IPs. Page response: Inspect the public URL and successful server response. If it fails, remove login gates or errors from intended public content. Main content: Inspect text visible in the returned page. If it fails, make the substantive answer available without an interaction. Canonical URL: Inspect the page identified as the preferred version. If it fails, correct conflicting or unintended canonical signals. Internal navigation: Inspect links from relevant pages. If it fails, give crawlers and readers a path to the page. The free SQSEO Page and AI-crawler Checker can help inspect page signals and crawler rules. Confirm any reported block against your live robots file and server logs, especially if a CDN applies separate security rules. You do not need to allow training crawling to make the same decision about search crawling. OpenAI documents the controls separately. Decide which public pages you want available for search, then implement the corresponding access rules deliberately. How do you choose questions worth targeting? Choose prompts that match a decision your business can help someone make. Broad questions may produce a useful audience, but a more specific question often gives you a clearer page to create and a clearer way to judge whether the answer is commercially relevant. Start with an actual customer situation. A company selling inventory software, for example, might begin with “inventory software” and expand it into questions about store size, integrations, setup effort, stock accuracy, and alternatives. Group those questions by intent: Learning: “How does inventory synchronization work across two stores?” Evaluation: “What should a small retailer look for in inventory software?” Comparison: “When should a retailer use an inventory app instead of a spreadsheet?” Purchase readiness: “Which inventory tools support my store platform and warehouse process?” SQSEO turns a seed topic into longtail queries and AI-search prompts grouped by intent. Export a shortlist and check it manually before producing pages. A generated prompt is a research lead; it is not proof of how many people asked that exact sentence. If you already have Google Search Console data, inspect questions and pages that receive impressions but do not yet answer the underlying need well. Search Console does not tell you which ChatGPT answers cited a page. It can, however, reveal customer wording and existing pages you could improve. For a broader method, see prompt-based keyword research. Do not build one near-identical page for every wording variation. A strong page can answer a closely related group of questions if the reader’s situation and required answer are the same. Split pages when the audience, decision, evidence, or recommended next step meaningfully changes. What makes a page useful enough to cite? A useful page gives a direct answer, explains when that answer applies, and provides details a reader can verify. The goal is to make the page genuinely helpful as a source, rather than to repeat the target phrase more often. Suppose your page answers “How do I choose inventory software for two retail locations?” A thin page might list generic benefits and end with a sales form. A stronger page would explain stock transfers, point-of-sale synchronization, returns, offline behavior, and what happens when both locations sell the last unit. It might include a decision checklist and clearly state which workflows the product supports. Use this editing sequence: Answer the main question near the top. Give the reader the decision or explanation before background material. Define the conditions. State the business size, use case, location, or technical setup for which the advice applies. Add evidence on the page. Show product documentation, methodology, examples, dates, or original data where you have them. Make claims precise. Replace “integrates with everything” with a maintained list of supported systems and relevant limitations. Connect related pages. Link from the explanation to specifications, pricing information, support documents, or a relevant comparison. Maintain the page. Recheck features, screenshots, and recommendations when the underlying facts change. Writing an answer-first paragraph is useful because it serves the reader even if they read only the opening. It does not guarantee that ChatGPT will quote that paragraph. The page must still be accessible and relevant to the specific question. The answer-first writing method offers a deeper editing framework. Avoid presenting unsupported “AI ranking factors” as rules. OpenAI says that multiple factors contribute to results, without publishing a checklist that guarantees placement. Treat page improvements as ways to make a source clearer and more useful, then test their effect. Should you focus on citations, brand mentions, or traffic? Track all three, because each answers a different question. A citation shows that a page was used as a linked source in a sampled answer. A brand mention shows that the answer named the business. Referral traffic shows that someone followed a link and arrived at your site. Brand mention: The answer named your company. It cannot tell you alone whether the user visited your site. Page citation: The answer linked to a specific page. It cannot tell you alone whether the mention was positive or persuasive. Referral visit: A user reached your website. It cannot tell you alone how many people saw the answer without clicking. Conversion: A visit led to a measured action. It cannot tell you alone every earlier influence on that decision. OpenAI says ChatGPT referral URLs include utm_source=chatgpt.com , which publishers can use to analyze inbound search traffic. Check that parameter alongside referral-source reporting and landing pages in your analytics setup. Traffic alone gives an incomplete picture. In a 2025 analysis of 3,000 websites, Ahrefs found that 63% received at least one identifiable AI visit, while AI chatbots represented a small share of traffic for the average site in its sample. That is a finding about the sites and measurement method studied, not a forecast for your business. It supports treating AI referral traffic as one signal among several. Research on Google’s AI summaries illustrates another reason to separate visibility from clicks. Pew Research Center’s 2025 browsing study found that users clicked a link within an AI summary in 1% of visits to pages with such a summary. That study examined Google, not ChatGPT Search , so its rate must not be applied to ChatGPT. It does show why a team should measure exposure, visits, and outcomes separately. How do you test whether ChatGPT features your business? Build a fixed set of prompts, test them consistently, and record what the answers actually say. A single manual question is useful for spotting an issue, but it is too narrow to describe overall visibility. Choose prompts from different stages of the customer journey. For each one, record the date, market, wording, brand mentions, cited URLs, and whether your business was described accurately. Include prompts that ask fo
velog
Git (깃)은 로컬 환경에서 코드의 변경 이력을 관리하고, GitHub (깃허브)는 Git 저장소를 원격에서 관리할 수 있도록 도와준다. Git과 GitHub를 함께 사용하면 내 컴퓨터에서 작업한 코드를 GitHub에 저장하거나, 다른 개발자가 변경한 코드를 내 컴퓨터로 가져올 수 있다. 이때 가장 많이 사용하는 명령어가 push 와 pull 이다. 전체적인 관계를 간단하게 표현하면 다음과 같다. 내 컴퓨터 GitHub Local Repository Remote Repository │ │ │ ─────── git push ──────────→ │ │ │ │ ←────── git pull ─────────── │ │ │ 1. Git Repository와 GitHub Repository Git을 사용하면 프로젝트의 변경 이력이 내 컴퓨터의 Local Repository(로컬 저장소) 에 저장된다. 반면 GitHub에 생성한 Repository는 Remote Repository(원격 저장소) 역할을 한다. 작업 파일 ↓ git add ↓ git commit ↓ Local Repository ↓ git push ↓ GitHub Repository 따라서 commit 과 push 는 서로 다른 작업이다. commit : 변경 사항을 로컬 저장소에 기록 push : 로컬 저장소의 커밋을 원격 저장소에 업로드 2. GitHub Repository 연결하기 GitHub에서 Repository를 생성한 후 로컬 프로젝트와 연결할 수 있다. 원격 저장소를 등록하려면 git remote add 명령어를 사용한다. git remote add origin https://github.com/username/project.git 여기서 origin 은 GitHub Repository를 가리키는 원격 저장소 이름이다. 현재 연결된 원격 저장소를 확인하려면: git remote -v 3. Push란? Push 는 로컬 저장소의 커밋을 원격 저장소인 GitHub에 업로드하는 작업이다. 예를 들어 로컬에서 다음과 같이 작업했다고 하자. git add . git commit -m "로그인 기능 추가" 이 커밋을 GitHub에 올리려면 git push 를 사용한다. git push origin main 여기서: origin : 연결된 원격 저장소 main : 업로드할 브랜치 를 의미한다. 처음 브랜치를 GitHub에 Push할 때는 다음과 같이 사용할 수도 있다. git push -u origin main u 옵션을 사용하면 로컬 브랜치와 원격 브랜치의 연결 관계를 설정할 수 있다. 이후에는 간단하게 다음과 같이 사용할 수 있다. git push 4. Pull이란? Pull 은 원격 저장소의 변경 사항을 로컬 저장소로 가져와 반영하는 작업이다. 다른 개발자가 GitHub에 새로운 코드를 Push했다면 내 로컬 환경에는 해당 변경 사항이 아직 반영되지 않는다. 이때: git pull 을 실행하면 원격 저장소의 변경 사항을 가져와 현재 브랜치에 반영한다. 특정 브랜치를 지정할 수도 있다. git pull origin main 즉, push 와 pull 은 서로 반대 방향으로 데이터를 이동시킨다고 생각하면 이해하기 쉽다. Local Repository GitHub │ │ │ git push │ │ ──────────────────────────→ │ │ │ │ git pull │ │ ←────────────────────────── │ │ │ 5. Pull과 Fetch의 차이 Git에서는 pull 과 비슷한 명령어로 fetch 도 자주 사용한다. git fetch fetch 는 원격 저장소의 변경 사항을 가져오지만 현재 작업 중인 브랜치에 바로 반영하지 않는다. 반면 pull 은 원격 저장소의 변경 사항을 가져온 후 현재 브랜치에 반영한다. 간단하게 정리하면 다음과 같다. 명령어 설명 git fetch 원격 저장소의 변경 사항을 가져오기 git pull 원격 저장소의 변경 사항을 가져와 현재 브랜치에 반영 git push 로컬 커밋을 원격 저장소에 업로드 6. Git과 GitHub의 기본 작업 흐름 실제 개발에서는 다음과 같은 흐름으로 Git과 GitHub를 사용한다. 코드 수정 후 GitHub에 업로드 코드 수정 ↓ git add ↓ git commit ↓ git push ↓ GitHub 예를 들어: git add . git commit -m "게시글 생성 기능 추가" git push 다른 개발자의 변경 사항 가져오기 GitHub ↓ git pull ↓ Local Repository ↓ 코드 수정 명령어로 표현하면: git pull 이후 코드를 수정하고 다시 add → commit → push 과정을 반복한다. 7. Push와 Pull 과정에서 발생할 수 있는 충돌 여러 개발자가 같은 파일을 수정하면 pull 과정에서 Merge Conflict 가 발생할 수 있다. 예를 들어 내가 로컬에서 파일을 수정하는 동안 다른 개발자가 같은 부분을 수정하여 GitHub에 Push했다고 가정해보자. 개발자 A 개발자 B 코드 수정 코드 수정 ↓ ↓ commit commit ↓ ↓ push ─────────→ GitHub ←──────── push ↓ 충돌 가능 이 경우 git pull 을 실행했을 때 충돌이 발생할 수 있다. 충돌이 발생하면 충돌한 파일을 확인하고 직접 코드를 수정한 후 다시 커밋해야 한다. git pull # 충돌 파일 수정 git add . git commit -m "Merge conflict 해결" git push 브랜치 전략이나 merge , rebase 를 함께 활용하면 여러 개발자가 작업할 때 충돌을 관리하기가 수월하다. 8. Git과 GitHub 작업 흐름 정리 Git과 GitHub를 사용을 실제적인 협업 흐름으로 표현하면 다음과 같다. GitHub에서 최신 코드 받기 ↓ git pull ↓ 코드 수정 ↓ git add ↓ git commit ↓ git push ↓ GitHub에 반영 결국 push 는 내 로컬의 변경 사항을 GitHub로 보내는 것 , pull 은 GitHub의 변경 사항을 내 로컬로 가져오는 것 이다. 여기에 add 와 commit 을 함께 이해하면 Git과 GitHub를 이용한 기본적인 개발 및 협업 흐름을 이해할 수 있다.
velog
AWS를 공부하다 보면 EC2, S3, VPC, IAM처럼 수많은 서비스 이름을 먼저 접하게 된다. 하지만 각각의 서비스를 외우기 전에 먼저 이해해야 할 것이 있다. 클라우드는 기존의 온프레미스 환경과 무엇이 다르고, AWS의 리소스는 어떤 물리적·논리적 구조 위에서 동작하는가? 이 구조를 이해해야 이후 EC2를 어느 Region에 생성해야 하는지, 여러 Availability Zone에 서버를 분산하는 이유는 무엇인지, 특정 지역에 데이터를 저장해야 하는 이유는 무엇인지 자연스럽게 연결된다. 이번 글에서는 AWS 서비스를 본격적으로 다루기 전에 클라우드 컴퓨팅의 기본 개념과 AWS Global Infrastructure 를 먼저 정리한다. 1. 클라우드 컴퓨팅이란? 강의자료에서는 클라우드 컴퓨팅을 다음 네 가지 키워드로 설명한다. Internet IT Resource On-demand 종량 요금제 이를 하나로 연결하면 다음과 같다. 인터넷을 통해 필요한 IT 리소스를 필요할 때 바로 사용하고, 사용한 만큼 비용을 지불하는 방식 여기서 IT 리소스는 단순히 서버만 의미하지 않는다. AWS에서는 앞으로 다음과 같은 다양한 자원을 필요할 때 생성해서 사용할 수 있다. Compute Storage Network Database Load Balancer Serverless Function Monitoring 예를 들어 서버가 필요하다고 가정해보자. 온프레미스에서는 물리 서버를 준비해야 하지만 AWS에서는 필요한 서버 리소스를 생성해서 사용할 수 있다. 서버가 필요함 ↓ AWS에 Resource 요청 ↓ 필요한 Resource 생성 ↓ 사용 ↓ 필요하지 않으면 종료 또는 삭제 이처럼 필요한 IT 리소스를 준비하여 사용할 수 있는 상태로 만드는 것을 Provisioning 이라고 한다. 2. 온프레미스와 클라우드는 무엇이 다른가? On-Premises 는 기업이나 조직이 직접 데이터센터나 전산실을 구축하고 서버, 네트워크, 스토리지 등의 장비를 운영하는 방식이다. 예를 들어 기존 서버의 처리 성능이 부족해졌다고 가정해보자. 온프레미스에서는 일반적으로 다음과 같은 과정이 필요할 수 있다. 용량 부족 ↓ 필요한 용량 산정 ↓ 예산 확보 ↓ 장비 구매 ↓ 설치 및 구성 ↓ 서비스 투입 물리 장비를 추가해야 하므로 일정한 시간과 절차가 필요하다. 반면 클라우드에서는 필요한 리소스의 크기나 수를 비교적 빠르게 변경할 수 있다. 현재 Resource ↓ 부하 증가 ↓ Resource 확대 또는 현재 Resource ↓ 사용률 감소 ↓ Resource 축소 강의에서도 온프레미스와 비교한 클라우드의 중요한 장점으로 유연성(Flexibility) 을 반복해서 강조했다. 즉 클라우드에서는 리소스를 필요할 때 생성하고, 확장하고, 축소하고, 필요하지 않으면 다시 제거할 수 있다. 3. On-demand가 중요한 이유 On-demand 는 말 그대로 필요한 시점에 바로 사용할 수 있다 는 의미다. 예를 들어 갑자기 사용자가 증가해 기존 서버로 트래픽을 처리하기 어려워졌다고 하자. 온프레미스 환경에서는 물리적인 장비 확보가 필요할 수 있지만, 클라우드 환경에서는 필요한 리소스를 비교적 빠르게 추가할 수 있다. 하지만 여기서 하나 주의해야 한다. 클라우드를 사용한다고 Capacity Planning이 필요 없어지는 것은 아니다. 처음부터 어느 정도의 CPU, Memory, Storage가 필요한지 판단해야 하고, 운영 이후에도 실제 사용량을 관찰하면서 적절한 크기로 조절해야 한다. 차이는 한 번 결정한 용량에 계속 묶이는 것이 아니라 이후에도 비교적 쉽게 변경할 수 있다는 것 이다. 이 개념은 이후 EC2 Instance Type, Auto Scaling, CloudWatch를 공부할 때 다시 연결된다. 4. 종량 요금제는 장점이면서 주의점이다 AWS는 기본적으로 사용하는 리소스와 사용량을 기준으로 비용이 발생하는 구조를 가진다. 따라서 직접 대규모 장비를 미리 구매하는 방식과 비교하면 다음과 같은 장점이 있다. 초기 대규모 투자 비용 감소 물리 Infrastructure 유지관리 부담 감소 필요한 만큼 Resource 사용 빠른 서비스 배포 전 세계 Infrastructure 활용 수요에 따른 용량 조절 하지만 종량 요금제는 반대로 말하면, 사용하지 않는 리소스를 그대로 남겨두면 불필요한 비용이 발생할 수 있다는 뜻 이기도 하다. 강의에서 반복적으로 강조된 표현이 있다. "만들면 돈이다." Free Tier가 있다고 해서 모든 AWS Resource가 무조건 무료인 것은 아니다. 특히 학습 과정에서는 리소스를 생성한 뒤 실습 목적을 달성했다면 필요하지 않은 Resource를 정리하는 습관이 중요하다. Resource 생성 ↓ 설정 ↓ 검증 ↓ 실습 목적 달성 ↓ 불필요한 Resource 삭제 앞으로 진행하는 실습에서도 Resource 정리까지 실습 과정의 일부 로 본다. 5. 클라우드 서비스 모델 클라우드 서비스는 관리 범위에 따라 일반적으로 다음과 같이 구분할 수 있다. 모델 의미 핵심 관점 IaaS Infrastructure as a Service 서버·스토리지·네트워크 같은 Infrastructure 사용 PaaS Platform as a Service Application 실행에 필요한 Platform까지 제공 SaaS Software as a Service 완성된 Software를 Service 형태로 사용 지금 단계에서는 각 모델의 세부 사항을 외우기보다 다음 정도만 이해하면 된다. 서비스마다 AWS가 관리하는 범위와 사용자가 직접 관리해야 하는 범위가 다르다. 예를 들어 뒤에서 다룰 EC2는 사용자가 OS와 Application을 상대적으로 많이 관리하지만, RDS나 Lambda처럼 AWS가 더 많은 운영 영역을 관리하는 서비스도 있다. 이 차이는 이후 Shared Responsibility Model 을 다룰 때 다시 연결한다. 6. AWS Global Infrastructure 클라우드에서는 물리 서버를 직접 보지 않지만 실제 리소스가 물리적 위치 없이 존재하는 것은 아니다. AWS 역시 전 세계에 위치한 실제 데이터센터를 기반으로 서비스를 제공한다. AWS Global Infrastructure를 이해할 때 가장 중요한 개념은 다음과 같다. AWS Global Infrastructure │ ├─ Region │ │ │ ├─ Availability Zone │ │ └─ Data Center │ │ │ ├─ Availability Zone │ │ └─ Data Center │ │ │ └─ Availability Zone │ └─ Data Center │ └─ Edge Location 앞으로 AWS Architecture를 공부하면서 Region과 Availability Zone은 계속 등장한다. 7. Region이란? Region 은 AWS가 서비스를 제공하는 지리적인 영역이다. AWS Console에서는 여러 Region 중 하나를 선택하여 리소스를 생성하게 된다. 예를 들면 다음과 같다. Asia Pacific (Seoul) Asia Pacific (Tokyo) US East ... 각 Region에는 이를 식별하기 위한 Region Code도 존재한다. 중요한 것은 Region 이름이나 Code 자체를 외우는 것이 아니다. Region을 선택한다는 것은 어느 지역의 AWS Infrastructure를 기반으로 서비스를 운영할 것인지 결정하는 것이다. 따라서 Region 선택은 단순한 Console 설정이 아니다. 8. 어떤 Region을 선택해야 할까? 강의자료에서는 Region을 선택할 때 크게 네 가지를 고려한다. 1) Latency 사용자와 물리적으로 가까운 곳에서 서비스를 제공하면 일반적으로 Network 지연 시간을 줄이는 데 유리하다. 예를 들어 서비스의 주요 사용자가 한국에 있다면 서울 Region을 고려할 수 있다. 하지만 중요한 것은 다음이다. 내가 한국에 있기 때문에 서울 Region을 선택하는 것이 아니라, 서비스를 사용하는 Client가 어디에 있는지를 기준으로 판단한다. 사용자가 미국에 집중되어 있다면 미국의 Region이 더 적합할 수도 있다. 2) 법적·규제 요구사항 서비스에서 처리하는 Data가 특정 국가나 지역 안에 저장되어야 하는 요구사항이 있을 수 있다. 따라서 Region은 성능뿐 아니라 다음과도 연결된다. Data 위치 법적 요구사항 Compliance Cloud Security 관점에서 Region 선택이 중요한 이유다. 3) Service Availability 모든 AWS Service가 항상 모든 Region에서 동일하게 제공된다고 가정해서는 안 된다. 사용하려는 서비스가 목표 Region에서 제공되는지도 확인해야 한다. 4) Cost AWS Service의 비용은 Region에 따라 차이가 발생할 수 있다. 따라서 Region을 결정할 때는 다음을 함께 고려해야 한다. Region 선택 │ ├─ Client와의 거리 ├─ 법적·규제 요구사항 ├─ 필요한 AWS Service └─ Cost 즉 Region 선택은 단순히 가장 가까운 곳을 고르는 문제만은 아니다. 9. Availability Zone이란? 하나의 Region 내부에는 여러 Availability Zone(AZ) 이 존재한다. 강의에서는 실제 데이터센터들을 일정한 단위로 묶은 영역으로 설명한다. Region │ ├─ AZ-A ├─ AZ-B └─ AZ-C 그렇다면 하나의 Region 안을 다시 여러 AZ로 나누는 이유는 무엇일까? 핵심은 장애를 예상한 Architecture를 구성하기 위해서 다. 예를 들어 Web Server 두 대를 모두 같은 AZ에 배치했다고 가정하자. AZ-A ├─ WEB 1 └─ WEB 2 Server 자체는 두 대지만 같은 장애 범위에 존재한다. 해당 AZ에 문제가 발생하면 두 Server가 동시에 영향을 받을 수 있다. 반대로 동일한 기능을 수행하는 Resource를 서로 다른 AZ에 나누어 배치할 수 있다. Region AZ-A AZ-B └─ WEB 1 └─ WEB 2 이 구조는 이후 다음 내용을 이해하는 기반이 된다. ELB Auto Scaling RDS Multi-AZ High Availability 지금은 다음 차이만 확실하게 기억하면 된다. Region은 서비스를 배치할 지리적 영역이고, Availability Zone은 하나의 Region 안에서 장애 범위를 분리할 때 중요한 단위다. 10. 장애를 예상해서 설계한다 강의자료에서는 AWS Cloud의 특징 중 하나로 장애를 예상한 설계 를 제시한다. Cloud를 사용한다고 장애가 사라지는 것은 아니다. Server에 문제가 생길 수도 있고, 특정 Availability Zone에 문제가 생길 수도 있다. 따라서 중요한 것은, 장애가 발생하지 않을 것이라고 가정하는 것이 아니라, 장애가 발생해도 서비스를 유지할 수 있도록 설계하는 것 이다. 예를 들어 하나의 Server만 운영한다면 해당 Server 장애가 곧 서비스 장애가 될 수 있다. Client ↓ WEB Server X 서비스 중단 반면 이후에는 여러 AZ와 여러 Server를 활용해 다음과 같은 구조를 만들게 된다. Client ↓ Load Balancer / \ AZ-A AZ-B WEB 1 WEB 2 이 부분은 7편에서 ELB와 Auto Scaling을 이용해 실제로 구성한다. 11. Edge Location은 무엇인가? AWS Global Infrastructure에는 Region과 AZ 외에 Edge Location 도 존재한다. Edge Location은 사용자와 가까운 위치에서 요청을 처리하기 위해 활용되는 Infrastructure다. 대표적으로 이후 다룰 CloudFront와 연결된다. Client ↓ Edge Location ↓ AWS Region ↓ Origin Resource 모든 요청이 항상 멀리 있는 Origin Resource까지 이동하지 않고 가까운 Edge Infrastructure를 활용할 수 있다. Edge Location과 CloudFront의 구체적인 역할은 이후 High Availability와 Edge Architecture를 다루는 편에서 자세히 정리한다. 12. AWS Resource마다 동작 범위가 다르다 AWS 서비스를 공부할 때는 단순히 무슨 기능을 제공하는가 만 보는 것이 아니라 해당 Resource가 어느 범위에 존재하는가 도 함께 확인해야 한다. 강의에서는 예를 들어 다음과 같이 설명한다. Availability Zone 단위 → EC2 → EBS Region 단위 → S3 왜 이것이 중요할까? Resource가 특정 AZ에 종속된다면 해당 AZ의 장애가 Architecture에 어떤 영향을 미치는지 고려해야 한다. 반대로 Region 수준에서 제공되는 서비스라면 설계 관점이 달라진다. 따라서 AWS Service를 공부할 때는 다음 두 질문을 같이 보는 것이 좋다. 이 서비스는 무엇을 하는가? 그리고 이 Resource는 어느 범위에서 동작하는가? 이 관점은 이후 VPC, S3, RDS, ELB 등을 공부할 때 계속 사용한다. 13. Global Infrastructure가 제공하는 또 하나의 유연성 AWS Global Infrastructure를 이용하면 직접 해당 국가에 데이터센터를 구축하지 않더라도 원하는 지역의 AWS Infrastructure를 활용할 수 있다. 예를 들어 한국에서 서비스를 운영하고 있더라도 서비스 요구사항에 따라 다른 Region을 사용할 수 있다. Service │ ├─ Seoul Region ├─ Tokyo Region └─ Other Region 즉 Cloud가 제공하는 유연성은 CPU와 Memory를 늘리고 줄이는 것에만 있는 것이 아니다. 필요한 지역에 필요한 Infrastructure를 빠르게 구성할 수 있다는 것 또한 Cloud의 중요한 유연성이다. 이 Global Infrastructure는 이후 다음 개념들의 기반이 된다. Multi-AZ High Availability RDS Multi-AZ Auto Scaling Route 53 Failover Cross-Region Replication Disaster Recovery 14. 첫 번째 실습 - AWS Management Console 살펴보기 첫 번째 실습에서는 아직 EC2나 S3 같은 Resource를 생성하지 않는다. 앞으로 계속 사용할 AWS Management Console의 기본 구조와 Region 선택 위치를 확인하는 것 이 목적이다. 실습 목표 이번 실습에서는 다음을 확인한다. AWS Management Console에 로그인할 수 있는가? 현재 로그인한 사용자와 Account를 확인할 수 있는가? 현재 선택된 Region을 확인할 수 있는가? 원하는 AWS Service를 검색할 수 있는가? Console Home에서 어떤 정보를 확인할 수 있는가? Console 메뉴 위치를 암기하는 것이 목적은 아니다. AWS Resource를 작업하기 전에 어떤 Account에서, 어떤 Region에서, 어떤 Service를 사용하고 있는지 확인하는 습관을 만드는 것 이 이번 실습의 핵심이다. 실습 Architecture 이번 실습에서는 별도의 AWS Resource를 생성하지 않는다. Web Browser ↓ AWS Management Console │ ├─ Account / User 확인 ├─ Region 확인 └─ AWS Service 검색 실습 환경 강의자료 기준으로 다음 환경을 사용한다. AWS Account AWS Management Console 강의에서 지정된 로그인 정보 강의에서 지정된 Region 실습자료에서는 사전에 다음 사항도 안내한다. AWS 계정 준비 청구 비용 임계치 알람 설정 계정 로그인 Region 확인 실습 완료 후 생성한 Resource 정리 이번 실습에서는 Resource를 만들지 않지만 이후부터는 실제 AWS Resource를 생성하므로 이 원칙을 계속 적용한다. 초기 상태 AWS Management Console에 로그인하기 전 상태에서 시작한다. 강의 환경에서는 여러 학습자가 동일 Account를 함께 사용할 수 있기 때문에 실습 혼선을 줄이기 위해 서로 다른 Region을 배정했다. 따라서 실습에서는 임의로 서울 Region을 선택하지 않고 강의에서 자신에게 지정된 Region을 사용한다. 실제 운영 환경에서는 앞에서 살펴본 다음 기준을 이용해 Region을 결정한다. Latency 법적·규제 요구사항 Service Availability Cost 실습 절차 1. AWS Management Console에 로그인 강의에서 제공된 Account 정보와 사용자 정보를 이용해 AWS Management Console에 로그인한다. 로그인이 완료되면 Console Home 화면을 확인한다. 2. 현재 로그인한 사용자 확인 Console 우측 상단의 Account/Profile 영역을 확인한다. 여기에서 현재 어떤 사용자로 로그인되어 있는지 확인한다. 아직 IAM의 구조는 자세히 다루지 않는다. IAM User, Root User, Role, Policy와 같은 인증·권한 구조는 3편에서 별도로 살펴본다. 3. 현재 Region 확인 Console 우측 상단의 Region Selector를 확인한다. 예를 들어 다음과 같이 표시될 수 있다. Asia Pacific (Seoul) 강의 실습에서는 자신에게 할당된 Region이 선택되어 있는지 확인한다. Region이 다르면 앞으로 생성한 Regional Resource가 다른 화면에서는 보이지 않을 수 있으므로 실습 시작 전에 Region을 확인하는 습관을 들이는 것이 좋다. 4. AWS Service 검색 Console 상단의 Service Search 기능을 확인한다. 예를 들어 다음과 같은 서비스를 검색해볼 수 있다. EC2 S3 IAM VPC 이번 실습에서는 해당 Service에서 Resource를 생성할 필요는 없다. 앞으로 대부분의 실습은 다음과 같은 흐름으로 진행된다. Service 검색 ↓ 해당 Service Console 이동 ↓ Resource 생성 및 설정 ↓ 결과 확인 5. Console Home 확인 AWS Console Home에서 다음 항목을 확인한다. 전체 Service 또는 Service Search 현재 Region 현재 User / Account 최근 방문한 Service AWS Event 관련 영역 비용 및 사용량 관련 영역 AWS Console 화면은 변경될 수 있기 때문에 정확한 버튼 위치를 암기하는 것보다 어떤 정보를 어디에서 확인해야 하는지 이해하는 것이 중요하다. 핵심 명령어 이번 실습은 AWS Management Console을 확인하는 실습이므로 CLI나 Linux 명령어는 사용하지 않는다. AWS CLI는 IAM과 Access Key를 학습한 이후 별도의 실습에서 사용한다. 확인해야 할 결과 강의자료 기준으로 다음 결과를 확인할 수 있다. AWS Management Console에 로그인할 수 있음 현재 로그인한 사용자와 Account 정보를 확인할 수 있음 현재 선택된 Region을 확인할 수 있음 사용 가능한 다른 Region 목록을 확인할 수 있음 Service Search를 통해 원하는 AWS Service를 찾을 수 있음 최근 방문 Service와 비용 관련 정보를 확인할 수 있음 이번 실습에서는 AWS Resource를 생성하지 않기 때문에 별도의 Resource 동작 결과는 발생하지 않는다. 결과 해석 이번 실습에서 가장 먼저 이해해야 할 것은 다음이다. AWS Management Console = AWS Resource를 관리하는 Interface Console에서 Region을 선택하는 것도 단순한 화면 설정이 아니다. 이후 Regional Resource를 생성하게 되면 다음과 같은 의미를 가진다. Region 선택 ↓ 해당 Region의 Infrastructure 사용 ↓ Resource 생성 따라서 앞으로 AWS를 사용할 때는 작업 전 다음 세 가지를 확인하는 습관을 들이는 것이 좋다. 나는 어떤 User로 로그인했는가? ↓ 어떤 Region을 사용하고 있는가? ↓ 어떤 Service에서 작업하고 있는가? 이 세 가지는 이후 EC2, IAM, VPC, RDS 등 대부분의 실습에서 계속 중요하게 사용된다. 보안
velog
이번 연휴동안 워프레임을 상당히 열심히 플레이했다. 사실 워프레임을 이제야 한 건 아니다. 꽤 많이 하긴 했다. 이 글을 남기는 건, 최근의 워프레임 근황을 공유할 겸, 잡설도 좀 풀어보고 싶어서이다. 겸사겸사 심심한데 뭐 읽을 거 없나? 하고 찾아보시는 분들에게도 심심풀이 읽을거리가 되기를.. 근황 최근 접속해서 플래티넘 70% 할인 쿠폰을 받았다. 워프레임 유저라면 알고 있는 격언이 있다. ** 50%는 선택, 75%는 계시** 근데 사실 요즘은 70% 쿠폰이 새로 생겨서 75%는 거의 나올 일이 없다더라.. 하지만 최근(2년전) 쌀먹에 중독되어버린 나는, 이를 구매하지 않았다. 남아있는 900플래티넘이면 충분할 것이라는 자만에 가득 찬 확신으로 게임에 복귀했다. 한 일 일단 부스터부터 당연히 크레딧부스터와 자원부스터는 사야하지 않겠는가? 당당하게 워프레임 오래 하면 되지!하면서 한달씩 질러놨다. 이 기간동안 또 돈 열심히 벌어놔야 다음에 복귀했을 때 플래티넘 써서 다시 부스터 살 수 있따.. 열심히 노가다하자 밴쉬 주더라 밴쉬를 무료로 뿌리고 있었다. 난 이것도 모르고 인벤토리에 들어있는 밴쉬를 보면서 어? 밴쉬?? 전에 랭작하려고 만들어놨었나???? 하며 레벨링했다. 레벨링은 당연히 온콜.. 전에 미리 해둔게 얼마나 다행인가? 이제서야 말하지만 레일잭은 정말 오래 걸리고 힘든 작업이었다. 그런데 이렇게 다 키운 후에 나는 이미 밴쉬 프라임이 있었기에, 이를 당연히 헬민스에 먹이려고 했다. 그런데 아뿔싸?? 이미 있다고 하는 게 아닌가? 여기서 꽤 당황했다. 이미 키운 워프레임을 또 만들었다고???? 다행히도 그런 건 아니고 앞서 설명했듯 얘들이 준 밴쉬였다. 근데 그럼 사실상 레벨업할 필요도 없는 거 아니었나??? 볼트 모딩 나는 사실 볼트 매니아이다. 볼트가 너무나도 좋다. 나름 예쁜 옷도 입히고, 포작도 8포작이나 했다. 근데 생각보다 이번에 돌아오니 볼트를 쓸 일이 별로 없는 게 아닌가? 그래도 정상영업은 해야 하니, 열심히 모딩을 해줬다. 근접무기 거치대 볼트 프라임 공략글 이 글을 보고 만들었다. 근데 만들고 나니 근접무기 거치대라는게 아닌가?? 근데 나는 쓸만한 근접무기가 예전 슬램 오공 할 때 쓰던 마기스타밖에 없었다. 그래서 간지나는 칼을 하나 찾아 헤메다 발견한 것이 바로 이것. 그 이름도 멋진, 시암 . 무려 검기가 나가는 칼이다. 이를 이용해서 근접무기 거치대 모딩을 했고, 꽤 맘에 든다. 근데 시암 자체가 아싸무기라서, 모딩 정보가 적어 뭐라도 때려보면서 정보를 찾아보고 싶은데 시뮬레이션이 있는지 없는지 모르겠다.. 메인퀘스트 메인퀘스트가 많이많이나와있었다. 전에 제이드까지는 얻고 그만뒀던지라, 그 뒤의 퀘스트들만 이어서 하면 됐다. 크게 세 개 정도 한 것 같다. 새로 나온 튜토리얼 퀘스트같았다. 이거 생각보다 길지 않아서, 금방 처리 가능하니 가볍게 진행해볼 것. 모드 관련해서 알려주는 등의 역할을 수행하는 퀘스트였다. 다음은 헥스. 다들 1999라고도 부르던데, 1999년도에 일어난 무슨 일을 다룬 것 같은 스토리였다. 근데 사실.. 스토리를 전혀 읽지 않은지라 잘 모르겠어서 설명도 잘 못하겠고, 괜한 스포일러 주의를 글에 만들지 않기 위해 스토리 설명은 생략하도록 하겠다. 연꽃을 먹는 자이다. 이것도 진짜 완전 풀스킵을 해버려서 스토리에 대해서는 말할 게 없다. 이건 전혀 내부 내용도 기억도 안 나는 게 완전히 임팩트가 없었던 듯. 사실 우리가 퀘스트를 미는 이유는 스토리를 감상하기 위해서라기보다는 새로운 컨텐츠를 보고 싶어서가 아니겠는가? 새로 나온 컨텐츠들은 아래에서 소개하겠다. 새 콘텐츠 소개 필자가 소개하는 새 콘텐츠 라는 건, 대략 2024년 06월 이후에 나온 콘텐츠를 말한다. 1999 1999년이 아마 과거인 것 같다. 1999년으로 돌아가서 그 때의 인물들을 위한 미션을 수행하게 됨. 근데 사실 중요한 건 이게 아니다. 새로운 평판이 나와버렸다는 것... 평판작할게 하나 늘었다. 이제 앞으로는 이것도 평판작해야 한다... 세팔론시마리스지구금성퀄온코복스솔라리스데이모스자리만카비아1999레츠고 사실 평판작 이렇게 열심히 할 필요 없다. 돈을 쓰면 조금 더 행복해질 수 있음... 이게 다 쌀먹을 위한 노력 심층 아르키메디아 새로 나온 엔드컨텐츠이다. 특정 워프레임, 무기 등을 사용하여 연구 포인트를 최대한 올리고 좋은 보상을 타먹는 것이 목적. 동생과 한번씩 번갈아가며 쩔해주고 있는데, 꽤 강하다. 여기 때문에 힐드린 이 떴다고 하는데, 힐드린 키울까 말까 고민중이다....... 앰프 모딩 이번에 복귀해서 다시 워프레임 고수의 상징이라고 할 수 있는 3랄 을 도전하고싶었다. 이녀석들 3형제를 잡는 건데, 이걸 빨리 하는거다. 꽤 복잡한 빌드도 있어서 잘하는 사람들은 정말 천외천처럼 보이기에, 나도 이걸 따라해보고 싶었다. 그래서 이걸 찾아보면서 최근에는 어떤 방법으로 사냥하나 찾아보니, 앰프만 사용해도 딜이 충분해서 요즘 총은 아무거나 쓴다고 하지 않는가?!?!? 그래서 관련 정보를 찾아봤다. 대체 앰프가 얼마나 강해졌길래 3랄을 앰프만으로 잡는다는걸까, 무려 앰프 모딩이 생겼다는 것 !!!!!!!! 아직 작성자가 해당 퀘스트를 클리어하지 못해, 정확한 정보를 아직 제공하지 못한다.. 얼른 깨서 앰프 3랄 후기 낋여오도록 하겠다. 요약 워프레임... 이번에 복귀해서 다시 보니 정말 서비스한 기간만큼 쌓인 컨텐츠도 많고 어려운 것들도 많았다. 그래서 뉴비들이 한다고 하면 이걸 추천할지 말지 참 어렵지만, 그래도 또 하던 할배들은 그리운 향을 못 잊고 돌아오게 되는 것 같다. 이번에 30일짜리 하나 질렀으니 다시 열심히 해봐야지... 이런 근황 글들도 가끔 써보고 싶다. 오늘은 여기까지
velog
Je wilt een artikel schrijven dat antwoord geeft op echte klantvragen. Maar waar vind je die vragen? Een zoekwoord als warmtepomp vertelt je weinig over wat iemand precies wil weten. Vragen als welke warmtepomp past bij een rijtjeshuis? en wat kost een warmtepomp inclusief installatie? laten de behoefte veel duidelijker zien. In deze gids leer je hoe je zulke vragen verzamelt met Google Zoeken, Search Console, Google Trends en gesprekken met klanten. Daarna zie je hoe je bepaalt welke vragen een eigen pagina verdienen en welke beter als onderdeel van een bestaande pagina werken. Begin met onderwerpen die voor je klant belangrijk zijn Maak eerst een lijst van vijf tot tien onderwerpen rond je producten of diensten. Denk aan problemen, toepassingen, kosten, vergelijkingen en twijfels vóór een aankoop. Een aanbieder van warmtepompen kan bijvoorbeeld beginnen met kosten , geluid , geschiktheid van de woning , installatie en subsidie . Zet vervolgens vraagwoorden voor elk onderwerp: wat , hoe , waarom , wanneer , welke en kan . Zo ontstaan eerste onderzoeksvragen: Wat kost een warmtepomp? Welke warmtepomp is geschikt voor een rijtjeshuis? Hoeveel geluid maakt een buitenunit? Kan een warmtepomp zonder vloerverwarming? Wanneer verdient een warmtepomp zich terug? Dit zijn nog ideeën, geen bewezen zoekopdrachten. De volgende stappen helpen je controleren hoe mensen hun vragen werkelijk formuleren. Gebruik de suggesties in Google Zoeken Typ een onderwerp of het begin van een vraag in de zoekbalk van Google en bekijk welke aanvullingen verschijnen. Probeer bijvoorbeeld warmtepomp voor , wat kost warmtepomp en kan warmtepomp zonder . Autocomplete kan nuttige formuleringen opleveren, maar behandel elke suggestie als een aanwijzing. Google zegt dat voorspellingen kunnen voortkomen uit echte zoekopdrachten én uit woordpatronen op het web. Een suggestie vertelt je dus niet hoeveel mensen per maand precies die vraag stellen. Open daarna een relevante zoekopdracht en kijk onderaan de resultatenpagina naar gerelateerde zoekopdrachten. Die kunnen een bredere vraag opsplitsen in specifieke behoeften, zoals installatiekosten, stroomverbruik of geschiktheid voor een bepaald type woning. Google genereert deze gerelateerde zoekopdrachten automatisch op basis van hoe mensen zoeken. Zie je een blok met vragen en uitklapbare antwoorden op de resultatenpagina? Noteer ook die vragen. Welke onderdelen Google toont, kan per zoekopdracht verschillen. Gebruik het blok daarom als extra bron, niet als een volledige lijst van alle vragen over je onderwerp. Praktische werkwijze: zoek één onderwerp met vijf verschillende vraagwoorden en noteer alleen vragen die relevant zijn voor jouw doelgroep. Je hoeft niet iedere suggestie in een artikel te verwerken. Zoek vragen waarop je website al vertoningen krijgt Heb je toegang tot Google Search Console? Dan kun je zien via welke zoekopdrachten jouw website in Google is verschenen. Ga naar Prestaties , kies Zoekresultaten en open het tabblad Zoekopdrachten . Bekijk niet alleen de vragen met veel klikken. Een vraag met vertoningen maar weinig klikken kan laten zien dat je pagina wel in beeld komt, terwijl de titel of inhoud nog niet goed aansluit. Filter eventueel op een specifieke pagina om te ontdekken welke vragen Google al met die pagina verbindt. Het prestatierapport toont onder meer zoekopdrachten, klikken en vertoningen. Je kunt zoeken naar formuleringen met woorden als hoe , wat , welke en waarom . Houd er rekening mee dat Search Console niet elke afzonderlijke zoekopdracht laat zien: sommige worden om privacyredenen weggelaten. Gefilterde totalen kunnen daardoor afwijken van het totaal in de grafiek. Stel dat je pagina over warmtepompen vertoningen krijgt voor kan een warmtepomp zonder vloerverwarming , maar die vraag nergens duidelijk beantwoordt. Dan heb je een concrete kans om de bestaande pagina te verbeteren. Controleer in Google Trends hoe een onderwerp verandert Google Trends helpt je onderzoeken of belangstelling voor een onderwerp verandert. Voer een onderwerp in, kies het juiste land en bekijk de relevante periode. Onderaan vind je gerelateerde zoekopdrachten, waaronder populaire en opkomende varianten. Gebruik Trends vooral om vragen in context te plaatsen. Stijgt de belangstelling elk najaar? Dan kan een gids die vóór dat seizoen actueel is nuttig zijn. Zie je een snel opkomende variant? Controleer dan in Google Zoeken en bij je klanten of die vraag werkelijk bij je aanbod past. Een Trends-grafiek is geen telling van het exacte maandelijkse zoekvolume. Gebruik de uitkomst om patronen en relatieve belangstelling te beoordelen, niet om een precieze verkeersbelofte te doen. Verzamel vragen uit klantgesprekken Niet iedere waardevolle vraag heeft zichtbaar zoekvolume. Klanten stellen vaak heel specifieke vragen voordat ze contact opnemen of kopen. Bekijk daarom ook e-mails, chatgesprekken, gesprekken met verkoopmedewerkers, reviews en supporttickets. Let vooral op vragen die telkens terugkomen, zoals: “Werkt dit ook in een woning met oude radiatoren?” Zo’n vraag is waardevol omdat je al weet dat een potentiële klant erop vastloopt. Controleer vervolgens hoe mensen de vraag in Google formuleren. Je kunt de woorden van klanten vergelijken met suggesties in Google en zoekopdrachten in Search Console. Leg bij medische, juridische, financiële of technisch gevoelige onderwerpen de antwoorden voor aan iemand met de juiste expertise. Een helder geformuleerde vraag vraagt nog steeds om een betrouwbaar antwoord. Gebruik Keyword Planner voor extra ideeën Google Ads Keyword Planner kan verwante zoekwoorden en schattingen van zoekactiviteit laten zien. Voer een breed onderwerp en enkele vraagvarianten in om te ontdekken welke termen je nog mist. Google beschrijft de tool als een manier om nieuwe zoekwoordideeën te vinden en schattingen van zoekopdrachten te bekijken. Gebruik de cijfers als hulpmiddel bij je keuze, niet als enige beslisregel. Een heel specifieke vraag kan voor jouw bedrijf waardevoller zijn dan een brede term met meer zoekactiviteit. Wat kost een warmtepomp? trekt bijvoorbeeld uiteenlopende bezoekers, terwijl welke warmtepomp voor een tussenwoning uit 1990? een nauwkeuriger behoefte laat zien. Zet de gevonden vragen in één overzicht Na je onderzoek heb je waarschijnlijk varianten die op elkaar lijken. Verzamel ze in een eenvoudig overzicht met vier gegevens: de vraag, waar je deze hebt gevonden, de behoefte achter de vraag en de beste plek voor het antwoord. Wat kost een warmtepomp inclusief installatie? Deze vraag kun je tegenkomen in Google en klantgesprekken. De lezer wil kosten inschatten. Een kostenpagina is daarom een logische plek voor het antwoord. Kan een warmtepomp zonder vloerverwarming? Deze vraag kan verschijnen in Search Console en bij support. De lezer wil controleren of een warmtepomp geschikt is voor de woning. Beantwoord de vraag in een gids over woningen. Welke warmtepomp past bij een rijtjeshuis? Deze vraag kan naar voren komen in Google en klantgesprekken. De lezer wil opties vergelijken. Een keuzehulp past bij die behoefte. Zo voorkom je dat je voor elke kleine formulering een aparte pagina maakt. Bepaal welke vragen prioriteit krijgen Een goede vraag heeft meer nodig dan zoekactiviteit. Beoordeel iedere vraag op drie punten: Relevantie: hoort de vraag bij een product, dienst of probleem waarmee je bezoekers kunt helpen? Behoefte: zoekt iemand een korte definitie, een vergelijking, een stappenplan of hulp bij een aankoop? Antwoordkwaliteit: kun jij een nauwkeuriger of bruikbaarder antwoord geven dan wat er al staat? Open de zoekresultaten voor de belangrijkste vragen. Kijk welke informatie bestaande pagina’s geven en wat nog onduidelijk blijft. Soms ontbreekt een concrete prijsopbouw, een voorbeeld voor een Nederlandse situatie of een heldere uitleg van uitzonderingen. Schrijf alleen een nieuwe pagina als je daar echt iets aan kunt toevoegen. Google adviseert content te maken die in de eerste plaats mensen helpt. Veel pagina’s met bijna hetzelfde antwoord publiceren enkel om meer zoekwoorden af te dekken, helpt de lezer niet. Kies tussen een nieuw artikel en een aanvulling op een bestaande pagina Niet iedere vraag verdient een eigen artikel. Een kort antwoord op hoe lang duurt een installatie? kan prima thuishoren op een bestaande installatiepagina. Een onderwerp met meerdere afwegingen, zoals welke warmtepomp past bij mijn woning? , kan een volledige keuzehulp rechtvaardigen. Gebruik deze vuistregel: Is de vraag in enkele zinnen volledig te beantwoorden? Voeg het antwoord dan meestal toe aan een bestaande pagina. Vraagt de vraag om een eigen stappenplan of uitgebreide vergelijking? Maak dan een afzonderlijke gids. Lijkt de vraag sterk op een vraag die je al beantwoordt? Verbeter de bestaande pagina. Gaat de vraag direct over kopen, kosten of geschiktheid? Beantwoord haar op een relevante product- of dienstenpagina. Schrijf het antwoord vroeg op de pagina. Werk daarna de voorwaarden, voorbeelden en uitzonderingen uit. Een bezoeker die vraagt of een warmtepomp zonder vloerverwarming kan, wil eerst een helder antwoord en pas daarna de technische uitleg. Meet of je aanpak werkt Publiceer je een nieuw artikel of verbeter je een bestaande pagina? Noteer de publicatiedatum en kijk na verloop van tijd in Search Console welke vragen vertoningen en klikken opleveren. Vergelijk een passende periode met de periode ervoor en bekijk ook welke nieuwe vraagvarianten verschijnen. Een stijging in vertoningen betekent dat je pagina vaker in zoekresultaten verschijnt; het bewijst op zichzelf niet dat de pagina meer klanten oplevert. Kijk daarom, waar mogelijk, ook naar relevante acties op je website, zoals aanvragen of aankopen. Veelgestelde vragen Wat is de snelste gratis manier om Google-vragen te vinden? Begin met een onderwerp in Google Zoeken, probeer verschillende vraagwoorden en bekijk de suggesties en gerelateerde zoekopdrachten. Heb je al een website, controleer dan ook de zo
velog
안뇽안뇽..~ 오늘 첫 직장 입사 2일차.. 업무 매뉴얼, 제품 소개, 회사 매뉴얼 등 공부하다가 자투리 시간에&잠 깨기 용으로 많이 쓰는 필수적인 단축키 좀 정리해보려고 한다 1. 윈도우 기본 단축키(아무 프로그램에서나 쓰는거) 단축키 : 기능 Ctrl + C / Ctrl + V / Ctrl + X : 복사 / 붙여넣기 / 잘라내기 Ctrl + Z / Ctrl + Y : 실행 취소 / 다시 실행 Alt + Tab : 창 전환 Win + D : 바탕화면 보기 Win + L : 화면 잠그기 (자리 비울 때) Ctrl + Shift + V : 서식 없이 붙여넣기 (엑셀/문서에서 꿀기능) Win + 좌/우 화살표 : 창 반으로 정렬 (듀얼 모니터 작업할 때 유용) Ctrl + F : 찾기 Alt + F4 : 창 닫기 엑셀 단축키 단축키 : 기능 Ctrl + 방향키 : 데이터 끝까지 한 번에 이동 Ctrl + Shift + 방향키 : 거기까지 한 번에 선택 Ctrl + ; : 오늘 날짜 입력 Alt + = : 자동 합계(SUM) F2 : 셀 편집 모드 Ctrl + 1 : 셀 서식 창 F4 : 마지막 작업 반복 / 절대참조($) 토글 Ctrl + T : 표로 변환 브라우저 단축키 단축키 : 기능 Ctrl + T / Ctrl + W : 새 탭 / 탭 닫기 Ctrl + Shift + T : 방금 닫은 탭 복구 Ctrl + L : 주소창 클릭 없이 바로 이동 Ctrl + Tab : 다음 탭으로 윈도우 단축키는 보통 윈도우를 같이 누르는 것 같고 브라우저 단축키는 컨트롤을 누르는 것 같다 일단 오늘은 이 정도만 하겠씁니다 끝 ~ !!
Балл: 54.4Уверенность: 49%
Подробнееvelog
문제 링크 큰 수 만들기 코드 #include <string> #include <vector> using namespace std; string solution(string number, int k) { string answer = ""; // answer에 number를 앞에서부터 한 글자씩 넣기 // answer의 숫자 < number의 숫자 -> answer의 숫자 pop for (int i = 0; i < number.length(); i++) { while (k > 0 && !answer.empty() && answer.back() < number[i]) { answer.pop_back(); k--; } answer.push_back(number[i]); } // k가 남는 경우 if (k > 0) { answer.erase(answer.length() - k, k); } return answer; } 회고 처음에는 number 자체에서 숫자를 빼려다 보니까 erase() 를 썼다. 하지만 erase() 는 배열 원소를 하나씩 앞으로 땡기는거 때문에 시간 초과가 났다. 따라서 빈 answer 에 number 원소를 하나씩 붙이는 방식을 썼다. number 가 내림차순으로 되어 있으면 아예 숫자를 제거하지 않는 경우도 있다. 이럴 땐 마지막에 k 가 남게 되는데, answer 에서 뒤에 k 만큼 글자를 제거하는 과정이 필요하다.
Балл: 54.4Уверенность: 49%
Подробнееvelog
自社のサービスに関連する質問をChatGPTに入力したのに、競合サービスばかりが挙がり、自社の名前が出てこない。そんな結果を見ると、「サイトが認識されていないのでは」と不安になるかもしれません。 ただし、一度の回答だけで原因は分かりません。ChatGPTがサービス名を正しく説明できない場合と、サービスの存在は分かっていても「おすすめ」の候補に選ばれない場合では、確認すべき点が異なります。 この記事では、サービス名が出てこない主な原因と、自社で取り組める対策を順番に解説します。 最初に確認したい二つの質問 まず、自社のサービス名を含めて「○○とはどんなサービスですか?」と聞いてみてください。次に、サービス名を含めず、見込み客が使いそうな言葉で「○○を解決できるサービスを教えてください」と聞きます。 最初の質問で説明が不正確なら、名称、事業内容、提供対象について、公開情報が不足している可能性があります。二つ目の質問で名前が出ないなら、その用途との関連性や、比較に必要な情報を調べる必要があります。 質問するときは、ChatGPTがWeb検索を使用したかどうかも記録しましょう。検索を使う回答と使わない回答では、参照する情報が異なります。また、質問の条件や言い回しによって結果は変わるため、一回の回答を固定された順位として扱わないことが大切です。 原因1:サービスの説明から、対象者と用途が分からない 多くのサービスサイトには、「業務を変革する」「成長を加速する」といった表現が使われています。印象的な言葉でも、何を提供しているのかが具体的に書かれていなければ、利用者は自分に合うサービスか判断できません。 サービスページの冒頭で、次の問いに答えられる状態を目指しましょう。 誰のためのサービスか。どの課題を解決するのか。何ができるのか。どの地域や言語に対応するのか。導入にはどのような条件があるのか。 たとえば「企業向けAIソリューション」だけでは用途が広すぎます。「日本の小規模EC事業者が、複数店舗の在庫を一画面で確認できるサービス」と書けば、対象と機能が具体的になります。 説明は画像内の文字だけに置かず、ページ本文にも掲載してください。サービス名、会社名、カテゴリー名も同じページで分かるようにします。 原因2:公開ページにアクセスできない ChatGPTの検索で自社サイトが見つかる可能性を調べる際は、サイトの技術的な設定も確認します。 OpenAIは、ChatGPT Searchの掲載対象となるために、OAI-SearchBotがサイトをクロールできるようにすることを案内しています。 robots.txt で許可していても、CDNやセキュリティ設定がアクセスを遮っている場合があります。ログイン画面、CAPTCHA、閲覧制限が主要な説明ページにかかっていないかも確認してください。 OAI-SearchBotとGPTBotは別のボットです。検索での発見可能性を確認しているなら、どちらの設定を調べているのかを明確にする必要があります。 ただし、クロールを許可すれば必ず推薦されるわけではありません。技術的な確認は、公開情報を読めない原因を取り除くためのものです。 原因3:サービス名と会社名が一致していない 会社名、サービス名、旧サービス名が別々に使われていると、同じ事業を指しているのか分かりにくくなります。特に、名称変更や複数ブランドの運営をしている企業は注意が必要です。 公式サイトのトップページ、サービス紹介、会社概要、問い合わせページを見比べてください。名称の表記、提供内容、運営会社が一致しているでしょうか。旧名称で知られているサービスなら、新旧の関係も明記しましょう。 外部の企業プロフィールや紹介記事に古い説明が残っている場合は、更新できるものから修正します。まず目指すべきは、人がどのページを読んでも同じサービスとして理解できる状態です。 原因4:「おすすめ」を判断する材料が足りない 利用者が「おすすめのサービスを教えて」と質問するとき、求めているのは名前の一覧だけではありません。自分の条件に合う選択肢を知りたいのです。 そのため、サービスページには機能に加えて、対象となる企業規模、利用場面、対応地域、料金体系、必要な連携、導入条件などを掲載します。競合との違いを書く場合も、確認できる事実に基づいて説明してください。 料金を公開していないなら、見積もりが必要な理由や相談時に確認できる範囲を示す方法があります。事例を公開するなら、顧客が抱えていた課題、導入した内容、確認できた結果を具体的に書きます。裏付けのない成果を加える必要はありません。 原因5:利用者の質問に対応するページがない サービスのトップページだけで、あらゆる質問に答えることは難しいものです。見込み客はサービスの正式なカテゴリー名ではなく、日々の困りごとから検索することもあります。 たとえば在庫管理サービスなら、「複数店舗の在庫をまとめたい」「在庫切れを減らしたい」「既存のECシステムと連携できるか」といった質問が考えられます。 実際の問い合わせや商談で繰り返し聞かれる内容を集め、それぞれに答えるページを作りましょう。単に質問文を見出しとして量産するのではなく、対応できる範囲、手順、制約、選ぶ際の注意点まで説明します。 原因6:外部で確認できる情報が少ない、または古い 自社サイトの情報が正しくても、外部に掲載されたプロフィールや紹介が古いままの場合があります。業界団体のページ、導入企業の紹介、レビュー、取材記事などで、現在の名称と提供内容がどう説明されているか確認しましょう。 外部での言及数を増やせば必ずChatGPTに表示される、という基準はありません。実態のないレビューや宣伝目的の投稿を増やすより、顧客や業界関係者が参照できる正確な情報を整えることが先です。 ChatGPTでの表示状況を調べる具体的な手順 最初に、見込み客が尋ねそうな質問を10〜20件用意します。サービス名を直接聞く質問、課題から探す質問、競合と比較する質問を含めましょう。対象地域や企業規模が重要なら、その条件を入れた質問も作ります。 次に、質問文、確認日、検索の有無、回答に出たサービス名、説明の正確さ、表示された参照元を記録します。競合が挙がった場合は、名前だけでなく、なぜそのサービスが質問に適していると説明されたのかも読みます。 その後、結果を次のように分けます。 名前を指定しても説明が間違っている場合 は、公式ページの内容とサイトへのアクセスを優先して確認します。 名前を指定すれば説明できるが、一般的な質問では出ない場合 は、対象者、用途、比較材料が十分に書かれているかを確認します。 古い情報が回答される場合 は、公式サイトと外部プロフィールに残る旧情報を調べます。 質問ごとに結果が大きく変わる場合 は、一つの回答に反応して全面的に書き換えるのではなく、同じ条件で継続して観察します。 修正後も同じ質問群を使って再確認してください。質問を毎回変えてしまうと、ページの改善による変化なのか、質問の違いによる変化なのか判断しにくくなります。 FAQや構造化データを追加すれば解決する? FAQは、顧客が実際に疑問を持つ条件や機能を説明するために役立ちます。一方で、FAQを増やすだけでChatGPTに推薦されるとは言えません。 構造化データを使う場合も、ページ上に表示された内容と一致させることが基本です。まず本文を読んでサービスの内容が理解できるようにし、そのうえで適切な技術設定を確認しましょう。 改善後、どれくらいで名前が出る? 一定期間後に表示されるという保証はありません。ページが公開され、アクセスできる状態になっているかを確認したうえで、決めた質問を定期的に試します。 評価するときは「名前が一度出たか」だけを見ないでください。サービスの説明が正確か、関連する質問で候補になるか、自社サイトが参照されるか、ChatGPTからの流入があるかを分けて確認すると、次の改善点を決めやすくなります。 まとめ ChatGPTで自社のサービス名が出てこないとき、最初にすべきことは原因の切り分けです。名前を指定しても正しく説明されないのか、名前は認識されているのに関連サービスとして挙がらないのかで、対策は変わります。 公式サイトへのアクセスを確認し、対象者と用途が分かる説明を整え、比較に必要な情報を掲載する。そのうえで、外部に残る古い情報を見直し、実際の顧客の質問に対する回答を継続して確認しましょう。 一つの回答を操作しようとするよりも、利用者がサービスを正しく理解し、選べる情報を公開することが、着実な改善につながります。 ```
Балл: 54.4Уверенность: 49%
Балл: 54.4Уверенность: 49%
Балл: 54.4Уверенность: 49%
Балл: 54.4Уверенность: 49%
Балл: 54.4Уверенность: 49%
Балл: 54.4Уверенность: 49%
Балл: 54.4Уверенность: 49%