microGPT는 지난 2월 12일에 Andrej Karpathy가 만든 GPT(Transformer) 모델의 가장 단순한 형태를 보여주는 200줄짜리 순수 Python 코드 프로젝트이다.

https://karpathy.github.io/2026/02/12/microgpt/

 

외부 라이브러리(PyTorch, NumPy 등)없이 기본 알고리즘 전체를 구현한 코드여서 공부하기에 좋다. CUDA도 사용하지 않았기에 CPU에서 구동이 가능하다. 

지난 코드컨벤션 게시글 처럼, 시간이 될 때마다 틈틈이 해당 내용을 정리해 나갈 예정이다.

요즘은 많이들 커서(cursor) 를 활용하기 때문에, 윈도우 프로그램 개발자라면 많이들 공감할 주제라고 생각한다.


분명 코드 변경점을 검토하고 Commit & Push 이후 Pull Request(PR)을 올렸는데,

해당 파일의 개행문자가 LF(\n)로 변경되어서 코드 리뷰가 지저분해지는 경우이다. (사실 큰 상관은 없다)

 

1. Control + , 를 누르고 들어간 Settings 상단 검색 창에 Eol 을 검색한다.

2. 윈도우에서 사용하는 개행 문자, CRLF(\r\n)을 선택하면 된다.

Settings > Text Editor > Eol

 

OpenClaw는 공개된지 몇주가 되었지만 여전히 인기가 사그라들줄 모르는 오픈소스 프로젝트이다.

Showcase - OpenClaw

Real-world OpenClaw projects from the community

docs.openclaw.ai

몸으로 비유하자면, 머리인 LLM 모델에 몸통과 다리를 달아주얼다고 해도 과언이 아닐정도로 활용도가 높다.


지난 chatgpt pro 등록 방법 포스트에 이어, 오늘은 이를 openclaw에 활용하는 방법을 기술할 것이다.

https://openclaw.ai/


공식 홈페이지에 있는 커맨드를 PowerShell을 열어 입력한다. 현재 PC에는 Node.js가 없어서 중간 과정에서 설치를 하도록 안내한다.

Node.js 가 없으니 설치 스크립트를 실행해준다.


하지만, Windows PowerShell은 기본적으로 외부 스크립트 실행을 막아둔다.
Node.js가 설치되면 npm.ps1이라는 PowerShell 스크립트를 사용하는데, 초기 실행 정책이 Restricted라서 막힌 상태일 것이다.
Get-ExecutionPolicy 를 입력하면 현재 실행 정책을 알 수 있다.

Get-ExecutionPolicy

 
정책을 바꾸는 것이기 때문에 관리자 권한으로 실행이 필요하다.
powershell 을 입력하여 관리자로 실행을 누르거나, 오른쪽 마우스로 관리자 권한으로 실행을 누른다.

관리자로 실행이 필요함

 
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 를 입력하고, Y를 입력하여 정책을 최종적으로 변경해준다. 
Get-ExecutionPolicy 를 다시 입력해보면 RemoteSigned로 변경됨을 확인할 수 있다.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

 
그리고 다시 처음의 커맨드를 입력하면 설치는 무사히 완료된다. 

설치 완료!


보안 관련 위험을 인지하고 있냐는 질의에는 키보드 방향키로 Yes를, Onboarding mode 에는 QuickStart를 선택한다.

QuickStart

여러 provider 중 OpenAI 를, OpenAI Codex를 선택한다.

Provider

 그러면 브라우저가 열리고 ChatGPT 로그인을 해주면 Codex를 연결할 수 있다.

ChatGPT - Codex


연결이 완료되면 모델은 현재 최신 버전인 gpt-5.3-codex를 선택한다.

Keep current

이제 머리를 연결했으니, 팔 다리가 되어줄 외부 도구(채널)을 연결한다. 텔레그램을 선택한다.

Telegram을 선택하고 엔터


Bot 과의 연결에 사용할 토큰 정보가 필요하다. 텔레그램 앱을 열어 상단에 BotFather를 찾는다. (@BotFather)

BotFather가 진짜임


BotFather 와 대화방에서 /newbot을 선택하거나 대화창에 입력해준다. 닉네임 설정을 마치면 해당 봇에 접근 가능한 토큰을 대화로 알려준다. 해당 토큰을 복사하여 openclaw창에 붙여주자.


이윽고 설정이 완료되면, 재부팅시 openclaw gateway가 자동 실행된다. 안뜬다면 powershell에서 openclaw gateway 를 입력하여 실행해준다.

닉네임 짓는게 제일 어렵다

이전 게시글 (https://cornwall.tistory.com/28)

 

ChatGPT Pro, 299,000원 -> 29,000원 ?

ChatGPT for Kakao는 오픈AI의 GPT 모델을 한국에서 2025년 말에 출시된 카카오톡(카톡)에 통합한 네이티브 앱이다.카톡에서 채팅방을 열어 ChatGPT 모델과 대화를 나누고 문서 요약같은 기능들을 사용할

cornwall.tistory.com


이틀전 카카오톡 선물하기에 돌연 ChatGPT Pro가 29,000원에 올라왔다.
최대 5개 구매가 가능하지만...혹시 잘못올라온 걸 수도 있으니 일단 1개만 구매해보았다.

- 당일 Codex 에 연결해서 확인해보니 Pro로 표시되는 걸 확인할 수 있었다.

OpenAI Codex

 

그리고 이틀이 지난 오늘, 카카오톡 선물하기 후기를 남겨달라는 메세지가 왔다.

다른 후기들도 올라왔으려나 싶어서 들어가보니, 제대로 안된다고 남긴 후기들이 있었다.

얼마나 답답했을까

 

1. ChatGPT for Kakao에서 별도의 로그인을 해줘야한다. (카카오톡 > 채팅 > 상단의 ChatGPT)

- 카카오계정보다는 ChatGPT 계정으로 로그인하는 것을 추천한다.

- 이미 Plus를 구독하고 있다면 해당 플랜은 해지하고 진행한다.

카카오톡에서 ChatGPT 로그인

2. 선물하기에서 이용권을 "등록하기"를 한다. (카카오톡> 더보기 > 받은 선물 > 사용가능)

- 앞서 나에게 선물하기로 구매를 했던 이용권을 찾는다.

- 하단에 등록하기를 눌러 이용권을 등록한다.

- 사용하기 까지 눌러줘야 최종 사용이 가능하다.

 

3. ChatGPT Pro 가 적용된 걸 확인할 수 있다.

ChatGPT Pro 오우너

 

ChatGPT for Kakao는 오픈AI의 GPT 모델을 한국에서 2025년 말에 출시된 카카오톡(카톡)에 통합한 네이티브 앱이다.

카톡에서 채팅방을 열어 ChatGPT 모델과 대화를 나누고 문서 요약같은 기능들을 사용할 수 있다.

 

현재 사용자가 800만명이라고 하는데, 오늘 갑자기 Pro 이용권을 29,000원에 팔기 시작했다.

https://gift.kakao.com/product/12953074 에서 구매할 수 있으며, 최대 5개를 구매할 수 있다.

ChatGPT Pro 선물하기와 플랜 비교

 

최대 5개 구매가 가능하지만, 그만한 돈은 없고... 1개만 사보았다.

박사 5학기 입학이니..

 

가격을 잘못올린 것 같았는데, 후기를 보니 정말 되나보다..

따끈따근한 후기들

 

일단, 결론부터 이야기하자면 현재로서는 제목처럼 coderabbit cli를 WSL에서 사용할 수 없다. (2026/02/11 확인)

 

우선 인증 절차부터 잘안되는데, 그래도 우야무야 인증까지는 넘어간 사례를 공유하려고 글을 써본다.

 

1. Authentication failed: Failed to exchange authorization code: Internala server error. Could not get access and refresh token.

Internala server error

=> 다시 시도 한다.

 

2. Authentication failed: unable to store credentials in secured storage with error: Error [ERR_SECRETS_PLATFORM_ERROR]: libsecret not available

ERR_SECRETS_PLATFORM_ERROR

 

=> 관련 도구들이 설치되지 않아서 발생한 오류이니 아래의 커맨드를 실행하여 설치를 해준다.

> sudo apt update && sudo apt install -y libsecret-1-0 libsecret-tools gnome-keyring dbus-x11

 

3. Authentication failed: unable to store credentials in secured storage with error: Error [ERR_SECRETS_PLATFORM_ERROR]: Could not connect: No such file or directory (code: 1)

ERR_SECRETS_PLATFORM_ERROR

=> 기존 keyring 상태 초기화

> pkill -f gnome-keyring-daemon || true
> rm -rf ~/.local/share/keyrings
> rm -rf ~/.cache/keyring*
> rm -rf ~/.config/keyring*

=> 깨끗한 DBus 세션에서 keyring bootstrap을 시작해준다. 

> dbus-run-session -- bash

 

위의 사례들을 겪으면 마침내 인증에 성공한다.

Authentication successful!

 

물론, 앞서 이야기 했듯 현재는 review 커맨드 이후 다시 동작하지 않는다.

아무래도 정말 리눅스 환경이 아닌 WSL 로 우분투를 실행하는 것이기에 다른점이 있는 것 같다.

 

CLion에서 터미널로 WSL을 띄워서 사용하려고 했는데 아직은 시기상조였나보다. (2026/02/11 확인)

시작하기 전에...

- 작년 7월에 공식 블로그를 통해 속도 향상 방법을 공개했었다. (2025/7)

- 커뮤니티에 퍼진 속도 향상 수치 15% 는 Motionmark 벤치마크에서 M3 기준 15% 향상이다.

 

적용은 간단하다.

크롬브라우저 주소 창에 chrome://flags 를 입력하고, Skia Graphite를 Enable로 바꿔주면 된다.

SKia Graphite

 

*아래는 해당 기술을 공개한 블로그 글의 일부를 번역한 것이다.

 

1. 크롬에서는 Skia를 사용하여 Blink와 브라우저 UI의 페인트 명령을 화면의 픽셀로 렌더링하는데, 이 과정을 래스터화(rasterization)라고 한다.

  • Skia는 크롬 그래픽 개발 초기부터 (2008/10) 핵심적인 역할을 해왔다.
  • 하지만 웹이 발전하고 복잡해짐에 따라 Skia는 성능 문제에 직면하게 되었고, 이에 크롬과 Skia는 Ganesh라는 GPU 가속 래스터화 백엔드에 투자했었다.

2. 수년에 걸쳐 Ganesh는 견고하고 고성능의 래스터화 백엔드로 발전했으며, 모든 플랫폼의 Chrome에서 GL 기반(Windows D3D9/11에서는 ANGLE 사용)으로 GPU 래스터화를 구현할 수 있었다.

  • 그러나 Ganesh는 항상 GL 중심적인 설계로 인해 너무 많은 특수 코드 경로가 존재했고, 최신 그래픽 API를 활용하는 최적화를 원칙에 따라 구현하는 데 어려움을 겪었다.

3. 이를 계기로 새로운 래스터화 백엔드인 Graphite를 개발하여 GPU 래스터화 방식을 근본적으로 재구상한다.

  • Graphite는 처음부터 코드 경로를 최소화하고 이해하기 쉽게 만드는 것을 원칙으로 개발했다.
  • 이러한 원칙 덕분에 Metal, Vulkan, D3D12와 같은 최신 그래픽 API와 컴퓨팅 기반 경로 래스터화와 같은 패러다임을 활용할 수 있으며, 기본적으로 멀티스레딩을 지원한다.

4. Chrome에 Graphite를 적용한 결과, MacBook Pro M3에서 Motionmark 1.3 점수가 거의 15% 향상되었다.

https://blog.chromium.org/2025/07/introducing-skia-graphite-chromes.html

  • 동시에 INP(상호작용 후 다음 화면 표시 시간), LCP(최대 콘텐츠 표시 시간), 그래픽 부드러움(프레임 드롭률), GPU 프로세스 malloc 메모리 사용량 등과 같은 실제 사용 환경 지표도 개선되었다.
  • 이는 전반적으로 훨씬 부드러운 상호 작용, 스크롤 시 끊김 현상 감소, 웹사이트 로딩 시간 단축으로 이어진다.

 

적용이 되고 있는지 확인하려면, chrome://gpu 를 검색하고 Skia Graphite가 Enabled로 나오는지 체크한다.

 

보통 온라인 커뮤니티는 직접 글을 쓰는 사람보다 눈팅(보기만하는) 사람들이 압도적으로 많다. (당연하게도)

지난 달 에이전트만 글을 쓸 수 있는 커뮤니티, 몰트북(moltbook)이 나온 이후, 여러 버전의 에이전트 커뮤니티가 생겨나고 있다.

지난주(2/1)에 디시인사이드의 한 유저가 개발한 에이전트 커뮤니티, 머슴(Mersoom)에 글을 써보자.

 

Claude Code(CC)를 많이들 활용하지만, 찍먹으로 OpenCode를 활용할 것이다.

https://opencode.ai/

위처럼 하면 powershell에서 명령어가 동작하지 않아서 패키지 관리자인 scoop을 설치한다.

> irm get.scoop.sh | iex
> scoop --version

 

 

version 명령어까지 잘 나온다면, scoop 명령어로 opencode를 설치한다.

> scoop bucket add extras
> scoop install extras/opencode

 

설치가 완료되었으면 opencode 명령어를 실행한다.

> opencode --version
> opencode

ollama를 연동하여 local llm을 실행할 수도 있지만, 다음 포스트에 하도록 하고..

머슴을 만든 제작자의 설명처럼, https://www.mersoom.com/usage 링크를 주고 알아서 쓰라고 해본다.

참, 이번 포스팅은 찍먹정도이니 GLM-4.7 Free 를 사용한다.

 

문제를 해결해가는 과정을 실시간으로 볼 수 있는데, webfetch 를 비롯한 여러 도구(tool)들을 호출해가며 단기간에 작업 증명(Proof of Work, PoW)을 해결하는 방법을 알아가고 python 스크립트를 작성하고 알아서 글을 작성하였다. (알아서 지우기까지..!) 

꽤 오래걸리지만..

 

머슴 사이트에 들어가서 확인해보니, 해당 글이 올라가있고 추천 1에 댓글도 달려있다.

(글을 들어가서 보는 순간에 댓글이 하나 더 추가!)

https://www.mersoom.com/posts/UexAXUnF3kFloAiu1Kyy

 

이건 단방향으로 글을 올리는 방식이고, 크론 작업 형태로 만들어두면 정말로 커뮤니티를 활발하게 하는 에이전트를 발견할 수 있을 것이다. 

Itsycal 은 macOS 우측 상단 메뉴바에 작은 캘린더 프로그램이다.

Itsycal for Mac

공식 홈페이지에 가서 다운로드 받는다.

다운로드된 Itsycal

 

macOS 에서도 윈도우처럼 다양한 인스톨러가 있다.

보통은 Applications 폴더에 설치되도록 스크립트를 작성해주지만,

Itsycal은 직접 Application 폴더에 넣어줘야한다.

Itsycal을 application 폴더로 옮기세요

 

그렇다면, 다운받은 Itsycal를 클릭하고 드래그 하여 응용 프로그램 폴더에 넣는다.

다운로드에 있는 Ityscal을 옮길 때면,

꼭 어릴적 컴퓨터실에서 게임하려고 exe만 복사하는 느낌이 든다.

 

파인더에서 응용 프로그램을 누르면 Itycal이 있는 걸 확인가능하다.

잘 들어와있다.

실행해보면 우측 상단에 캘린더가 생긴걸 볼 수 있다.

전체 달력, 일정을 꽤나 Fancy하게 만들어준다.

우측 상단 캘린더

데이터 집합(data set)은 데이터 객체(data object)의 모임이다.

데이터 객체는 다수의 속성(attribute)에 의해서 기술된다.

- 속성이란, 객체에 따라 또는 시간에 따라 변하는 객체의 특성

속성의 타입 (Types of Attributes)

속성을 표현하기 위해 사용된 값은 속성 자신의 특성이 아닌 특성을 가질 수 있고, 그 역도 성립한다.

숫자(Numeric)와 범주(Categorical) 로 나눌 수 있다.

숫자형 속성 : 실수, 정수 / 범주형 속성 - 가능성있는 유한 집합의 값

 

Categorical / 정성적(Qualitative) 속성

- 명목형(Nominal) : 순서가 없이 구별 가능한 값을 가짐; ID numbers, eye color, zip codes

- 서열형(Ordinal) : 순서를 정함; height in {tall, medium, short}

Numeric / 정량적(Quantitative) 속성

- 구간(Interval) : 일정한 간격, 정수; calendar dates, temperature in Celsius or Fahrenheit 

- 비율(Ratio) : 실수 ; length, mass, counts

속성이 상이한 타입들

유일성(Distinctness) : = , !=

순서(Order) : <. >

덧셈(Addition) : +, -

곱셈(Multiplication) : *, / 

 

- Nominal : distinctness

- Ordinal : distinctness & order

- Interval : distinctness, order, & addition

- Ratio : all 4 properties

값의 개수에 의한 속성 기술

속성들을 구분하는 독립적인 방법은 속성이 가질 수 있는 값의 개수를 이용하는 것이다.

이산(discrete) : 유한개의 값 또는 셀 수 있는 무한 집합의 값을 갖는다.

- zip codes, counts

- 대개 정수를 표현

- 이진(binary) 속성은 특별한 케이스

연속(continuous) : 실수 값을 가지며 온도, 높이, 무게와 같은 속성을 예로 들 수 있다.

데이터 집합의 타입

타입은 다양하며 계속 다양해지고 있다. 

Record Data

- Data Matrix : attribute 는 차원을 의미, m x n

- Document Data : bag of word 처럼, 얼마나 빈도수가 있는지 측정, 요즘은 임베딩을 주로 함

- Transaction Data : association rule

Graph

- World Wide Web

- Molecular Structures

Ordered

- Sequence Data

- Time series Data

- Spatial Data

'CSE > Data Mining' 카테고리의 다른 글

Data Mining - Data (1)  (0) 2025.03.07
Data Mining - Introduction  (0) 2025.03.06

+ Recent posts