kmsg - 터미널에서 카카오톡 읽고 보내는 macOS CLI 도구
개발 중에 카카오톡 메시지를 확인하려고 매번 앱을 오가는 것이 번거로운 적 있으신가요? kmsg는 macOS 터미널에서 직접 카카오톡 메시지를 읽고, 보내고, 실시간 모니터링까지 할 수 있는 CLI 도구입니다. 단순한 메시지 전송을 넘어 MCP(Model Context Protocol) 서버까지 내장하고 있어, Claude Code 같은 AI 에이전트와 연결하면 카카오톡을 AI 워크플로우의 일부로 통합할 수 있습니다. kmsg란? k
2026년 4월 2일
프로그래밍기타
pnpm 소개 및 설치 가이드 - Windows, Ubuntu, macOS 완벽 정리
프로젝트가 늘어날수록 node_modules 폴더가 수 GB씩 디스크를 잡아먹는 경험, 해보셨을 겁니다. pnpm(Performant npm)은 이 문제를 근본적으로 해결하기 위해 만들어진 Node.js 패키지 매니저입니다. 동일한 의존성을 딱 한 번만 저장하는 콘텐츠 주소 기반 저장소(content-addressable store) 구조로, npm 대비 디스크 공간을 대폭 절약하고 설치 속도는 최대 3배까지 빠릅니다. 이 글에서는 pnp
2026년 3월 31일
프로그래밍NodeJS
Python Selenium으로 네이버 로그인 후 쿠키 추출하여 requests에서 재사용하기 (2026년 3월 업데이트)
네이버 관련 크롤링이나 API 호출을 하려면 로그인된 세션이 필요합니다. 하지만 네이버는 봇 감지가 강력하여 단순 자동 로그인이 어렵고, CAPTCHA가 수시로 나타납니다. 이 글에서는 Selenium으로 네이버에 로그인하고, CAPTCHA가 나오면 자동 감지 후 사용자가 해결할 때까지 대기하고, 로그인 성공 후 쿠키를 추출하여 일반 requests 라이브러리에서 재사용하는 전체 흐름을 실제 코드와 함께 설명합니다. 핵심 전략: Selen
2026년 3월 13일
프로그래밍Python
이미지 포맷 변환기: PNG, JPG, WebP를 브라우저에서 바로 변환하는 무료 도구
웹사이트에 올릴 이미지는 WebP로, SNS에 공유할 사진은 JPG로, 배경이 투명한 로고는 PNG로 저장해야 할 때가 있습니다. 포토샵이나 별도 프로그램 없이도 브라우저에서 바로 이미지 형식을 변환할 수 있는 도구가 있습니다. HARU LOG의 이미지 포맷 변환기를 소개합니다. 바로 사용하기: 이미지 포맷 변환기 바로가기 → 어떤 도구인가요? HARU LOG 이미지 포맷 변환기는 브라우저에서 바로 이미지 형식을
2026년 3월 9일
프로그래밍기타
HARU LOG JSON 포맷터: 브라우저에서 바로 쓰는 무료 JSON 정리 도구
개발 중에 API 응답을 확인하거나, 복잡한 설정 파일을 수정해야 할 때 한 줄로 뭉쳐진 JSON 데이터를 마주하면 막막할 때가 있습니다. 이럴 때 빠르게 정리할 수 있는 도구가 바로 JSON 포맷터입니다. HARU LOG에서 제공하는 온라인 JSON 포맷터를 소개합니다. 바로 사용하기: HARU LOG JSON 포맷터 바로가기 → 어떤 도구인가요? HARU LOG JSON 포맷터는 브라우저에서 바로 사용할
2026년 3월 9일
프로그래밍기타
Ubuntu에서 NVM 설치하고 Node.js 버전 관리하기: 완벽 가이드 (2026년 3월 최신)
여러 Node.js 프로젝트를 동시에 관리하다 보면 프로젝트마다 요구하는 Node.js 버전이 다른 경우가 빈번합니다. 이때 NVM(Node Version Manager)을 사용하면 하나의 시스템에서 여러 Node.js 버전을 손쉽게 설치하고 전환할 수 있습니다. 이 글에서는 Ubuntu 22.04 및 24.04 환경에서 NVM을 설치하고 활용하는 방법을 단계별로 안내합니다. NVM이란? 왜 필요한가? NVM은 Node.js 버전을
2026년 3월 6일
프로그래밍NodeJS
Claude Code Remote Control: 터미널 세션을 스마트폰에서 이어가는 방법
터미널에서 복잡한 코드 작업을 시작한 뒤 자리를 비워야 하는 순간, 노트북을 덮으면 진행 중이던 AI 코딩 세션도 함께 멈춰야 했다. Anthropic이 2026년 2월에 공개한 Claude Code Remote Control은 이 문제를 정면으로 해결한다. 로컬 머신에서 실행 중인 Claude Code 세션을 스마트폰, 태블릿, 또는 다른 컴퓨터의 브라우저에서 그대로 이어갈 수 있는 기능이다. Remote Control이란? Rem
2026년 3월 4일
프로그래밍기타
윈도우에서 Claude Code 설치하고 시작하는 완벽 가이드 (WSL 없이)
AI 코딩 어시스턴트의 판도를 바꾸고 있는 Claude Code. IDE에 종속되지 않는 CLI 기반 도구로, Cursor나 WindSurf 같은 기존 에디터 플러그인과는 전혀 다른 개발 경험을 제공한다. 이 글에서는 윈도우 환경에서 WSL 없이 Claude Code를 설치하고, VS Code와 연동하여 실전에서 활용하는 방법까지 단계별로 정리해본다. Claude Code란? Claude Code는 Anthropic이 만든 CLI 기
2026년 3월 4일
프로그래밍기타
WIndows에서 WSL없이 Claude Code 시작하기
개발자들의 열렬한 요청에 힘입어, Anthropic의 혁신적인 AI 코딩 어시스턴트인 Claude Code가 이제 Windows에서 네이티브로 실행됩니다. 더 이상 WSL(Windows Subsystem for Linux)의 복잡한 설정이 필요하지 않습니다. 이 글에서는 Windows 환경에서 Claude Code를 간단하게 설치하고 사용하는 방법을 단계별로 알아보겠습니다. Claude Code란? Claude Code는 Anthro
2025년 8월 6일
프로그래밍기타
Pytrends로 구글 트렌드 데이터 수집하기
구글 트렌드 웹사이트에서 매번 수동으로 데이터를 확인하는 건 비효율적입니다. 코드를 통해 자동화된 방식으로 트렌드 데이터를 수집하는 것이 훨씬 효율적이죠. 오늘은 Pytrends 라이브러리를 사용해서 구글 트렌드 API를 활용하는 방법을 정리해보겠습니다. Pytrends란? 구글에서 공식 트렌드 API를 제공하지 않기 때문에 만들어진 비공식 라이브러리입니다. 하지만 안정적이고 사용하기 쉬워서 많은 개발자들이 활용하고 있습니다. 웹 크
2025년 7월 24일
프로그래밍Python
Ubuntu 20.04에서 PHP와 함께 Redis®를 사용하여 Rate Limiter로 사용하기
소개 Rate limiting은 서버에서 자원 사용을 제한하는 방법입니다. 예를 들어, API (응용 프로그램 프로그래밍 인터페이스)를 실행하는 경우, 특정 시간 내에 사용자가 서버에 요청 할 수있는 횟수를 제한하는 캡을 설정할 수 있습니다. 웹 애플리케이션의 요청 속도를 제어하면 DoS (서비스 거부) 공격의 위험을 줄일 수 있습니다. 이를 통해 애플리케이션에 공정한 사용 정책을 적용할 수 있습니다. 대규모 웹 애플리케이션에서 특정 제약
2024년 7월 5일
프로그래밍PHP
Ubuntu 20.04에서 PHP를 사용하여 Redis® Queue와 Worker를 구현하는 방법
소개 Redis® 대기열은 선입선출 개념에 따라 작업의 일련의 집합을 만들고 처리하는 라이브러리입니다. 웹 응용 프로그램에서 대기열을 항상 사용하여 비즈니스 로직이 오랜 시간이 걸릴 경우 사용자가 응답을 기다리지 않도록 해야합니다. 예를 들어, 바쁜 온라인 상점에서 대기열과 백그라운드 워커를 사용하여 결제 및 주소 확인과 같은 복잡한 프로세스를 수행할 수 있습니다. 즉, 웹 응용 프로그램이 사용자의 인내심에 맞지 못하는 순서대로 프
2024년 7월 5일
프로그래밍PHP
Ubuntu 20.04에서 Redis®로 PHP 세션 데이터를 관리하는 방법
소개 웹 애플리케이션에서 사용자가 상호 작용하는 경우, 현재 사용자의 상태를 세션(session)이라고 합니다. 세션 데이터를 사용하면 사용자가 로그인한 동안의 신원을 계속 기억할 수 있습니다. 일반적인 웹 애플리케이션에서는 사용자가 로그인 폼에 사용자 이름과 비밀번호를 제출합니다. 그런 다음 애플리케이션은 데이터베이스에서 해당 자격 증명을 찾습니다. 일치하는 경우에만 사용자에게 웹 애플리케이션에 대한 액세스 권한을 부여합니다. 그렇지 않
2024년 7월 5일
프로그래밍PHP
Ubuntu 20.04에서 Redis®와 PHP를 사용하여 MySQL 데이터 캐시하기
소개 Redis® (Remote Dictionary Server)는 빠른 오픈 소스 인메모리 키-값 데이터베이스로, 문자열, 해시, 리스트, 집합 등을 지원하여 성능 중심 시스템을 만들기에 이상적입니다. Redis®는 데이터를 랜덤 액세스 메모리(RAM)에 저장하기 때문에 디스크에서 데이터에 액세스할 때 시간을 최소화합니다. 이 기능은 Redis®를 고가용성과 확장 가능한 응용 프로그램을 만드는 다목적 데이터 구
2024년 7월 5일
프로그래밍PHP
카카오톡 인앱브라우저 대신 외부 브라우저 실행 방법
카카오톡에 링크를 클릭시 기본은 카카오톡의 인앱 브라우저로 실행이 됩니다. 여러가지 이유로 인앱 브라우저 대신 스마트폰의 기본 브라우저로 링크를 실행하기를 원한다음 다음의 방법을 사용 할 수 있습니다. 이 포스트에서 테스트를 위해 다음의 URL을 제공 합니다. (아래 링크를 복사 한 후 카카오톡에 보내기 후 테스트 해보세요) 테스트 링크: https://www.harulogs.com/user-agent.php locati
2024년 4월 26일
프로그래밍기타
[NodeJS] node-fetch를 사용하여 Shift_JIS 웹사이트의 문자셋을 UTF-8로 변환 하는 방법
이 포스트에서는 일본 웹사이트에서 사용되는 Shift_JIS 문자 코드를 UTF-8로 변환하는 방법에 대해 안내 합니다. 필요 라이브러리 설치부터 node-fetch로 받아온 Shift_JIS를 UTF-8로 변환 하는 방법, 그리고 이를 반복 사용 할 수 있는 함수와 그 함수 사용법에 대해 설명 하겠습니다. 필요 라이브러리 설치 Shift_JIS를 UTF-8로 변환하기 위해 iconv-lite와 node-fetch 라이브러리를
2024년 4월 18일
프로그래밍NodeJS
(TRICK) 구글 폼(Google Form) 제출 확인 방법
구글폼은 설문조사, 이벤트 응모, 협업 프로젝트등 다양한 목적으로 사용되고 있습니다. 하지만 개발자는 사용자의 구글폼이 제출되었는지를 확인 해야하는 경우가 있는데 이를 위해 구글 폼의 App Script를 이용하거나 또는 구글 API를 이용하기에는 개발 규모가 커져버리는 문제점이 발생 합니다. 이에 이 포스트에서는 구글 폼이 제출된것을 확인하기 위한 간단한 트릭을 소개하도록 하겠습니다. STEP 1. 구글폼 주소 확인
2024년 2월 1일
프로그래밍기타
Noto Sans KR 웹폰트: 한국어 웹 디자인에 최적화된 글꼴
Noto Sans KR은 구글에서 개발한 한국어 웹 폰트로, 한글, 영문, 숫자 등 다양한 문자를 모두 지원하며 가독성이 뛰어나다는 특징이 있습니다. 이 글꼴은 웹 디자인에서 많이 사용되며, 기업 홈페이지부터 개인 블로그까지 다양한 분야에서 활용되고 있습니다.   Noto Sans KR 웹폰트의 특징 한글, 영문, 숫자 등 다양한 문자를 모두 지원 깔끔하고 명확한 디자인으로 가독성이 뛰어남 웹에서 빠르게 로딩되는
2023년 2월 23일
프로그래밍기타
PHP에서 Redis를 이용한 MySQL 데이터 캐시 가이드(Cache MySQL Data with Redis and PHP)
Redis(Remote Dictionary Server)는 문자열, 해시, 목록 및 집합을 포함한 풍부한 데이터 유형을 지원하는 빠른 In memory key-value DB로 성능 지향 시스템을 만드는데 이상적인 선택입니다. Redis는 RAM(Random Access Memory)에 데이터를 저장하기 때문에 디스크에서 데이터에 엑세스할 때 탐색 시간을 최소화 합니다. 이 기능은 Redis를 고가용성 및 확장 가능한 애플리케이션을 만들기
2022년 10월 25일
프로그래밍PHP