바둑 가이드 Pt.2: 죽지 않는 법 — 잇기, 두 눈, 그리고 패

Pt.1 이 상대 돌을 잡는 법이었다면 Pt.2 는 그 반대편입니다. 내 돌은 어떻게 죽지 않는가 하나의 질문으로 잇기와 끊기, 두 눈과 궁도, 그리고 패까지 이어서 다룹니다. 착수금지의 예외 조항 하나가 이 셋을 전부 관통한다는 것이 이 글의 뼈대입니다. 모든 도해는 활로를 직접 세어 검증했고, 규칙 서술은 한국기원 바둑규칙 조문을 따랐습니다.

[Read more]

렉시오 CPU 플레이어 만들기 Part 7: 코드 없이 보는 easy 봇과 hard 봇의 차이

Part 1 부터 Part 6 까지는 코드와 수식이 많았습니다. 이번 편은 개발이나 수학을 모르는 분도 읽을 수 있게, 렉시오 CPU 두 종류가 각각 무엇을 보고 수를 고르는지, 둘을 어떻게 겨루게 했고 결과가 어땠는지, 그리고 무엇은 아직 말할 수 없는지를 정리했습니다.

[Read more]

렉시오 CPU 플레이어 만들기 Part 6: 봇이 약한지 어떻게 아는가

Part 5 는 브라우저에서 한 판 돌려 찾은 결함을 고쳤습니다. 그 방법으로는 “조금 약하다"를 찾을 수 없어 시뮬레이터를 만들었더니, 도구가 전략을 재기도 전에 구현 버그부터 잡아냈습니다. 그리고 봇이 약한 이유를 세 번 틀리고 네 번째에 찾았습니다. 평가 함수는 처음부터 옳았고, 확률이 틀렸습니다.

[Read more]

렉시오 CPU 플레이어 만들기 Part 5: 봇이 아무것도 하지 않는 이유

Part 1~4 에서 설계한 렉시오 hard 봇을 실제로 구현했더니 봇이 거의 모든 턴을 패스했습니다. 개별 항은 전부 맞았고 항을 합치는 방식이 틀렸습니다. 평가 함수가 무너지는 네 가지 자리와, 그 회귀 테스트가 엉뚱한 이유로 통과한 이야기를 다룹니다.

[Read more]

AI가 코딩을 다 하는 시대, 컴공은 무엇을 배워야 하나 Part 3: 반론 — 2026년 데이터로 다시 본 것들

서울대 이재욱 교수 인터뷰에 대한 반론을 2026년 최신 자료로 재검증합니다. 무너진 반론 하나를 먼저 밝히고, 속도가 새는 곳, 격차의 진짜 원인, Naur와 Bainbridge라는 두 사각지대를 다룹니다.

[Read more]

AI가 코딩을 다 하는 시대, 컴공은 무엇을 배워야 하나 Part 2: 교육, 학과의 존재 이유, 그리고 안목

서울대 이재욱 교수 인터뷰의 후반부 — 학생이 “중간 배달원"이 되는 문제, 컴공에 가야 하는 이유, 미래 개발자의 안목, 비전공자를 위한 조언 — 을 학습과학과 고용 데이터로 검증합니다.

[Read more]

AI가 코딩을 다 하는 시대, 컴공은 무엇을 배워야 하나 Part 1: 영상이 짚은 현실과 바이브 코딩의 임계점

서울대 이재욱 교수의 “코딩도 과제도 AI가 다 하는 시대” 인터뷰를 챕터별로 정리하고, 각 주장에 대한 외부 근거를 붙여 검증합니다. 1부는 코딩 현장의 변화, 코드 작성 자동화, 바이브 코딩의 한계를 다룹니다.

[Read more]

달무티 CPU 플레이어 만들기 Part 4: 만들어 보니 hard 봇이 더 약했다

Part 1부터 3까지의 설계안을 실제로 구현해 시뮬레이션으로 재봤더니, hard 봇이 easy 봇보다 평균 0.6601등 나빴습니다. 무엇을 어떻게 쟀는지, 세 개의 구조 결함이 무엇이었는지, 어떤 고급 기능이 살아남았는지, 그리고 정정 후의 정식 검증 수치를 정리합니다.

[Read more]

8비트의 벽을 넘은 게임들 Part 5: 제약이 사라진 시대에 남은 것

압축·생성·전복이라는 세 가지 돌파구가 40년 뒤에 어떻게 됐는지 정리합니다. 엘리트의 씨앗이 노 맨즈 스카이의 64비트로 이어진 계보, 제약이 사라지자 드러난 역설, 제약을 일부러 되살리는 데모신, 그리고 오늘의 개발에 그대로 쓸 수 있는 여섯 가지 원칙을 다룹니다.

[Read more]

8비트의 벽을 넘은 게임들 Part 4: 메탈기어, 못 그리는 것을 안 그려도 되게 만들다

1987년 MSX2 메탈기어가 하드웨어의 거부를 게임 문법으로 바꾼 과정을 주석 disassembly 로 확인합니다. SCREEN 5 비트맵과 가로 스크롤 부재, 48바이트짜리 방 165개, 스프라이트를 짝지어 색을 늘리고 순서를 섞어 깜빡이는 기법, 원뿔이 아닌 복도형 시야 판정, 그리고 방에 붙어 있는 경보 상태 머신을 다룹니다.

[Read more]

8비트의 벽을 넘은 게임들 Part 3: 엘리트, 우주를 6바이트에 담다

1984년 엘리트가 21,952바이트에 항성계 2,048개를 담은 방법을 주석 disassembly 를 근거로 확인합니다. 트리보나치 씨앗 트위스팅, 두 글자 토큰 이름 생성, 곱셈 명령 없이 도는 3D 회전(민스키 알고리듬), 그리고 타이머 인터럽트로 만든 화면 분할을 Go 재현 코드와 함께 다룹니다.

[Read more]

8비트의 벽을 넘은 게임들 Part 2: 슈퍼 마리오브라더스, 레벨을 그리지 않고 서술하다

슈퍼 마리오브라더스의 disassembly 를 직접 읽고 40KB 안에 32개 스테이지가 들어간 방법을 확인합니다. 레벨 오브젝트 2바이트 인코딩, 월드 1-1 의 실제 바이트 해독, 구름과 수풀이 같은 타일이라는 사실의 바이트 단위 증명, 8프레임 컬럼 파이프라인, 그리고 4.4 및 8.8 고정소수점 물리를 다룹니다.

[Read more]

8비트의 벽을 넘은 게임들 Part 1: 그 기계들은 무엇을 못 했는가

1980년대 8비트 게임기가 실제로 무엇을 못 했는지 데이터시트 수준에서 확인합니다. 곱셈 명령이 없는 CPU, 16x16 픽셀 단위로만 색을 고를 수 있는 화면, 한 프레임의 7.6%뿐인 VRAM 접근 시간을 숫자로 재고, 그래서 개발자에게 남은 선택지가 압축·생성·전복 셋뿐이었음을 보입니다.

[Read more]