Skip to content

refactor: unilink → wirestead 리네임 및 블로그 콘텐츠 정리 - #25

Merged
jwsung91 merged 1 commit into
mainfrom
rename-wirestead-and-content-fixes
Aug 8, 2026
Merged

refactor: unilink → wirestead 리네임 및 블로그 콘텐츠 정리#25
jwsung91 merged 1 commit into
mainfrom
rename-wirestead-and-content-fixes

Conversation

@jwsung91

@jwsung91 jwsung91 commented Aug 8, 2026

Copy link
Copy Markdown
Owner

프로젝트명 변경(unilinkwirestead)과 함께, 블로그 24편을 검토하며 발견한 문제를 정리했습니다.

리네임

  • 블로그 14편 + 프로젝트 1건 파일명 변경 (git mv로 이력 보존)
  • 본문의 네임스페이스(wirestead::), 헤더명(wirestead.hpp), 로그 매크로(WIRESTEAD_LOG_ERROR), CMake 파일명(WiresteadOptions.cmake), GitHub URL 반영
  • taxonomy.json, admin/config.yml, README, docs의 project/series ID 갱신
  • 파일명이 곧 슬러그(post.id.replace(/\.md$/, ''))이므로 구 URL 14개와 /projects/unilink 리다이렉트를 astro.config.mjs에 추가. 생성되는 리다이렉트 페이지는 noindex + 새 URL canonical이라 sitemap에는 잡히지 않습니다.

게시 사고 2건

memory/buffer 글 본문이 두 번 들어가 있었습니다 (1103행 → 559행). 중간에 삽입돼 페이지에 H1이 2개가 되던 문제와 내부 중복 다이어그램도 함께 정리했습니다.

Encoder-only와 Decoder-only 글의 본문이 Decoding 내용이었습니다. 제목·description·태그만 encoder/decoder이고 본문에는 해당 단어가 한 번도 등장하지 않았습니다. llm-core 시리즈에 Decoding 글이 2편 있고 정작 Encoder/Decoder 글은 없는 상태였습니다.

  • 문체·목차 계층·표 구성이 더 나은 판본을 Decoding 글 본문으로 이관
  • 비게 된 자리에 Encoder-only / Decoder-only / Encoder-Decoder 글을 새로 작성 (attention mask가 구조를 가르는 축, MLM vs Next Token Prediction, cross-attention, KV cache, decoder-only 수렴 이유, RAG에서 encoder의 역할)

⚠️ 이 한 편은 새로 작성한 글입니다. 사실관계는 검증했으나 문체 확인이 필요합니다.

기술적 정확성

가장 큰 수정은 Transformer 글의 숫자 체인입니다. "원시 관련도 점수"라며 제시한 행렬의 각 행 합이 정확히 1.0이었는데, 이는 softmax를 거친 attention weight입니다. 실제 계산이 이어지도록 재구성했습니다.

QK^T 원시값 [16.8, 25.6, 29.6, 16.8]
  ÷ √d_k(=8) → [2.1, 3.2, 3.7, 2.1]
  → softmax  → [0.10, 0.30, 0.50, 0.10]
  → V 가중합

예시 문장도 나는 오늘 커피를 마셨다 4토큰으로 글 전체에 통일했습니다(기존 6토큰/4토큰 혼재, 가중치도 0.55/0.25와 0.5/0.3로 불일치).

수정
Transformer Post-LN 도식 → Pre-LN으로 수정, 두 방식 비교 추가
Tokenizer padding 예시 토큰 수 불일치 수정, RoPE 절 추가, byte-level BPE 조건 명시
Logit/Softmax 표기 확률을 실제 계산값으로 교정(0.91 → 0.9274 등), token id 1024 충돌 해소
Pretraining 각 위치에서 이전 문맥 전체를 본다는 점 명확화
ChannelFactory 누락된 config 분기 3개 추가, static_assert(always_false_v<T>)로 분기 누락 차단
Wrapper/Transport TcpClient 3중 의미 충돌 → TcpClientTransport 분리 + 명명 규칙 표

렌더링 버그

**Decoding(디코딩)**이라고처럼 볼드 뒤에 한글 조사가 붙으면 CommonMark 규칙상 닫는 **가 닫히지 않습니다. 빌드된 HTML에서 **가 그대로 노출되고 있었고, 4곳 전부 수정했습니다.

  • mermaid 라벨의 \n<br/> (literal 출력되던 7곳)
  • 라이트 테마에서 판독 불가하던 rect rgb(30,30,30) 제거
  • C++ 예제의 코드펜스 언어 ```c```cpp

구성 · 메타데이터

  • 시리즈 순서 재배열: llm-core는 Tokenizer를 1번으로(1번 글이 3번 글 내용을 전제하던 역전 해소), wirestead-design은 계약(Channel) → 구현(Transport) → 생성(Factory) 순으로
  • 본문 내부 링크 0건 → 12건. "앞선 글에서는"이 전부 실제 링크가 됐습니다
  • ai-curator 설계 글: 본문과 어긋나던 업데이트 배너를 사실대로 수정하고, 블로그에서 유일하게 존댓말이던 문체를 ~다로 통일
  • description 어투 통일 + devlog 2편 보강, 태그 3~5개로 정리(c++cpp, 자료구조data-structure), 무의미한 updatedAt 7개 제거

검증

astro build       → 99 pages, 0 errors
content:check     → 26 files OK
markdownlint-cli2 → 0 errors

머지 전 확인 부탁드립니다

  1. GitHub 저장소가 실제로 jwsung91/wirestead로 변경되었는지 — 본문 링크와 /wirestead/ Doxygen 서브패스를 그렇게 갱신했습니다. 아직 unilink라면 해당 부분을 되돌려야 합니다.
  2. 새로 작성한 Encoder-only/Decoder-only 글의 문체
  3. TCP 벤치마크 환경2026-07-02-wirestead-tcp-nodelay-트러블슈팅.md<!-- TODO -->로 표시해 둔 표를 채워주세요. loopback인지 실제 NIC인지에 따라 44ms 수치 해석이 달라져 지어내지 않았습니다.

남겨둔 것

  • 2026-04-21-stl-priority-queue.md는 내용은 모두 수정했으나 draft: true를 유지했습니다. 공개 여부는 판단이 필요한 부분이라 두었습니다.
  • now.md는 3주 전(7/17) 상태입니다. 날짜만 갱신하면 오래된 내용이 최신처럼 보여 손대지 않았습니다.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HdGDMdmkV56Pkv5G6UftJ6

프로젝트명 변경(unilink → wirestead)과 함께 블로그 24편 검토에서
발견한 문제를 정리한다.

## 리네임
- 블로그 14편 + 프로젝트 1건 파일명 변경 (git mv로 이력 보존)
- 본문의 네임스페이스, 헤더명, 로그 매크로, CMake 파일명, GitHub URL 반영
- taxonomy.json, admin/config.yml, README, docs의 project/series ID 갱신
- 파일명이 슬러그이므로 구 URL 14개와 /projects/unilink 리다이렉트 추가

## 게시 사고
- memory/buffer: 본문 전체가 2회 중복 게시된 것 제거(1103행 → 559행),
  중간에 삽입된 H1과 내부 중복 다이어그램 정리
- encoder/decoder: 제목과 무관하게 Decoding 본문이 실려 있던 문제 해결.
  완성도가 높은 판본을 Decoding 글로 이관하고, 비게 된 자리에
  Encoder-only/Decoder-only/Encoder-Decoder 글을 새로 작성

## 기술적 정확성
- Transformer: softmax 이후 값을 원시 점수로 제시하던 행렬을
  QK^T → 스케일링 → softmax → 가중합이 이어지는 값으로 재구성
- Transformer: Post-LN 도식을 Pre-LN으로 수정하고 두 방식 비교 추가
- Tokenizer: padding 예시의 토큰 수 불일치 수정, RoPE 설명 추가,
  byte-level BPE 조건 명시
- Logit/Softmax: 표기 확률을 실제 계산값으로 교정, token id 충돌 해소
- Pretraining: 각 위치에서 이전 문맥 전체를 본다는 점 명확화
- ChannelFactory: 누락된 config 분기 3개 추가, static_assert로 분기 누락 차단
- TcpClient가 wrapper/transport 양쪽에서 쓰이던 충돌을
  TcpClientTransport로 분리하고 명명 규칙 문서화

## 렌더링
- 볼드 뒤에 한글 조사가 붙어 ** 가 닫히지 않던 4곳 수정
- mermaid 라벨의 \n을 <br/>로 교체
- 라이트 테마에서 판독 불가하던 rect rgb 하드코딩 제거
- C++ 예제의 코드펜스 언어를 c에서 cpp로 수정

## 구성/메타데이터
- llm-core, wirestead-design 시리즈 순서를 선행 지식에 맞게 재배열
- 본문 내부 링크 추가 (기존 0건)
- ai-curator 설계 글의 배너를 본문 내용과 일치시키고 문체 통일
- description 어투 통일, 태그 3~5개로 정리, 무의미한 updatedAt 제거

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HdGDMdmkV56Pkv5G6UftJ6
@jwsung91
jwsung91 merged commit 56deb96 into main Aug 8, 2026
2 checks passed
@jwsung91
jwsung91 deleted the rename-wirestead-and-content-fixes branch August 8, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant