글자 크기

빌드

창업과 자동화 기록 – 아이디어에서 실험, 실패, 수정까지

아내에게 지지 않기 위해, 나는 카드 게임을 만들기 시작했다

Tiến Lên 카드 앱 빌드 기록 #1 처음엔 그냥 재미였다. 베트남에서 자란 아내는 Tiến Lên을 정말 잘한다. 처음 몇 판은 웃으며 졌다. 그 다음엔 조금 억울했고, 그 다음엔 오기가 생겼다. “이건 좀 연구해봐야겠다.” 그게 시작이었다. 왜 하필 Tiến Lên이었을까 Tiến Lên은 단순한 카드 게임이 아니다. 4명이 참여하고 순위로 승부가 나고 강한 패를 언제 쓸지, 언제 계속 읽기 →

아내에게 지지 않기 위해, 나는 카드 게임을 만들기 시작했다 더 읽기"

AI는 어떻게 수를 읽을까: MCTS 완전 정복

늦깎이연구소 | 바둑 AI 개발기 #3 체스와 바둑의 결정적 차이 체스 AI는 1990년대에 이미 세계 챔피언을 이겼다. 하지만 바둑 AI는 2016년이 되어서야 성공했다. 왜 20년이나 차이가 날까? 분기 계수(Branching Factor) 때문이다. 체스: 평균 35개의 선택지 바둑: 평균 250개의 선택지 (19×19 기준) 체스에서 쓰던 방법 — 미니맥스(Minimax) — 은 모든 가능한 수를 탐색한다. 하지만 바둑에서는? 차원의 계속 읽기 →

AI는 어떻게 수를 읽을까: MCTS 완전 정복 더 읽기"

바둑 AI를 만들며 배운 것: “초보들끼리 두면 늘지 않는다”

늦깎이연구소 | 바둑 AI 개발기 #2 이상한 일이 일어났다 AI를 학습시키기 시작했다. 스스로 바둑을 두고, 결과를 보고, 배우는 방식. AlphaGo Zero가 썼던 그 방법 — 셀프플레이. 그런데 이상했다. Iteration 1 | Policy Loss: 3.41 Iteration 2 | Policy Loss: 3.48 Iteration 3 | Policy Loss: 3.57 Policy Loss가 올라갔다. Loss는 “틀린 정도”다. 학습하면 내려가야 한다. 계속 읽기 →

바둑 AI를 만들며 배운 것: “초보들끼리 두면 늘지 않는다” 더 읽기"

바둑 AI를 만들며 배운 것: “덜 가본 길에 가산점을 주는” 알고리즘

늦깎이연구소 | 바둑 AI 개발기 #2 시작은 단순한 호기심이었다 카타고(KataGo). 알파고 이후, 개인도 만들 수 있는 오픈소스 바둑 AI의 이름이다. 나는 개발자가 아니다. 하지만 궁금했다. “AI는 어떻게 ‘생각’하는 걸까?” 그래서 직접 만들어보기로 했다. 9×9 미니 바둑판으로 시작하는 AI. Claude라는 AI의 도움을 받아서. 291줄의 코드, 그 안에 담긴 철학 프로젝트의 심장부는 mcts.py라는 파일이다. MCTS — 몬테카를로 계속 읽기 →

바둑 AI를 만들며 배운 것: “덜 가본 길에 가산점을 주는” 알고리즘 더 읽기"

불편함에서 시작한 바둑 AI

나는 바둑을 좋아한다. 이기고 지는 걸 떠나서, 그 19×19의 정사각형 안에서 생각이 부딪히는 느낌을 좋아한다. 그런데 요즘 바둑 AI를 쓰다 보면 광고가 붙어 있고, 기능이 막혀 있고, 분석은 유료로 전환된다. 하루에 한 번쯤은 이런 생각이 들었다. “그냥 내가 하나 만들면 안 되나?” 거창한 이유는 없었다. 연구도 아니고, 창업도 아니고, 그냥 쓰기가 불편했기 때문이다. 취미가 프로젝트가 계속 읽기 →

불편함에서 시작한 바둑 AI 더 읽기"

보이게 만드는 건, 결국 디테일이었다

요즘 나는 ‘죠비엣(Choviet)’ iOS 앱을 만들면서 한 가지를 자주 느낀다. 기능이 되는 것과 제품처럼 느껴지는 것 사이에는, 생각보다 깊은 강이 하나 흐른다는 것. Turbo Native를 붙이는 작업은 딱 그 강을 건너는 일이었다. 처음엔 “웹을 앱으로 싸기만 하면 되겠지” 같은 순진한 마음이었다가, 막상 해보니 이건 ‘포장’이 아니라 경계면(네이티브 ↔ 웹)을 조각하는 일이었다. 그리고 그 강을 건너는 계속 읽기 →

보이게 만드는 건, 결국 디테일이었다 더 읽기"

해골이 책을 읽는 이유: 디자인을 찾는 늦깎이의 사유

테무에서 티셔츠를 봤다. “MILANO ITALIA” 글씨 하나 박힌 티셔츠가 1만 3천 개나 팔렸다. 9천 원짜리. 나도 DTF 프린터가 있으니까 저 정도는 만들 수 있지 않을까. 그런데 문제가 하나 있었다. 나는 디자인을 못 한다. 손이 아니라 머리로 포토샵도, 일러스트레이터도 손에 익지 않는다. 48세에 아빠가 됐고, 50세에 사업을 시작했다. 코딩은 배웠지만 그림은 그려본 적이 없다. 그래서 AI한테 계속 읽기 →

해골이 책을 읽는 이유: 디자인을 찾는 늦깎이의 사유 더 읽기"

조비엣 빌드로그 9주차: 문법을 지키면, 길이 열린다.

8주차에 우리가 한 건 “길”을 만든 거였지. 탭은 탭대로, 모달은 모달대로, 로그인은 replace로— 네이티브가 길을 잃지 않게. 근데 길이 있어도, 표지판 문법이 틀리면 네이티브는 조용히 못 본 척 해버린다. (진짜 무섭다. 에러도 안 내고 “그냥 무시”함.) 그래서 9주차는 한 줄로 요약돼: PathConfiguration의 문법을 ‘정식’으로 바로잡아서, 네이티브가 믿고 따라오게 만들었다. 1) PR #45 (B.6) — “혼종 계속 읽기 →

조비엣 빌드로그 9주차: 문법을 지키면, 길이 열린다. 더 읽기"

조비엣 빌드로그 8주차: 웹이 흔들리면, 네이티브는 무너진다.

이번 주는 기능을 더 얹는 주가 아니었다. 오히려 반대였다. 흔들리는 걸 고정했다. Turbo Native를 붙이려면, 앱은 먼저 한 가지를 약속해야 한다. “이 화면은 탭으로 간다.” “이 화면은 모달로 뜬다.” “이 화면은 로그인처럼 갈아끼운다(replace).” 이 약속이 없으면, 네이티브 쉘은 길을 잃는다. 8주차는 그 약속을 코드로 박아 넣은 주였다. 1) PR #42 — “모달은 사용자가 닫는 게 계속 읽기 →

조비엣 빌드로그 8주차: 웹이 흔들리면, 네이티브는 무너진다. 더 읽기"