우분투한국커뮤니티

우리 커뮤니티는 Ubuntu와 오픈소스를 좋아하는 모두를 위한 곳으로, Ubuntu LoCo Council의 인증을 받은 공식 한국 커뮤니티 입니다. Ubuntu와 오픈소스를 공통점으로 다양한 사람들을 연결하고, 행사 개최와 Ubuntu 및 관련 오픈소스 기여 활동, 그리고 국내외 다양한 오픈소스 커뮤니티와 교류를 통해 Ubuntu와 오픈소스 저변 확대에 많은 노력을 기울이고 있습니다.


우분투(Ubuntu) 사용해보기

더 많은 사람들에게 자유 소프트웨어(Free software)를 제공한다는 사명으로 시작한 우분투(Ubuntu)는 캐노니컬(Canonical)과 전세계 사람들이 함께하는 우분투 커뮤니티가 함께 개발한 리눅스 기반 오픈소스 OS이자, 오픈소스 프로젝트 입니다. 사용하기 쉬운 리눅스 데스크톱으로 시작했지만, 오늘날 서버, 클라우드, WSL, 임베디드, 컨테이너 등 다양한 환경에서 접할 수 있고, 전세계에서 가장 많은 사람들이 사용하는 리눅스 배포판(Distribution)입니다.

여러분이 원하는 환경에서 오늘 우분투를 만나보세요!


포럼

좌충 우돌 바이브 코딩기 3

여러번 같은 주제로 글을 써버리고 있습니다. 그동안 몇가지 작업 환경의 변화를 겪었습니다. 맨 처음 Nvim에 익숙해지자는 맘으로 시작한 프로젝트가 어느새 살이 붙고 붙어서 작업하다보니 도구가 몇가지 늘었습니다. 처음 몇달간 웹 제미나이에서 GEMINI cli로 옮겨오고 얼마전 Antigravity로 환경을 바꾸었습니다. 그간 제미나이의 버전도 올라갔고 안티그래비티로 옮긴 다음부터는 Gemini3로 버전이 올라갔습니다. 이제 정리 차원에서 그간 느낀 문제점들과 내가 해결한 방법을 하나의 글로 묶어 정리하고자 합니다. 시작은 그냥 Nvim을 공부해보자는 마음으로 시작했습니다 간단한 편집같은게 아니라 Nvim에서 언어 공부하고 NVim으로 작업하는데 익숙해지면 좋겠다 싶었거든요. 가끔 Nvim과 크롬으로 접속한 제미나이를 가지고 작업한 경험이 있어서 어느정도 도움이 되겠다 생각했습니다. Nvim을 공부하고 언어를 공부하기 위해 확장부터 마구 깔기 시작했습니다. 여기서 제미나이의 도움을 상당히 많이 받았습니다. 그러니 프로젝트의 시작부터 다른 AI 도우미는 염두에 두지 않았습니다. 제 환경상 가장 쉽게 접할 수 있는게 제미나이였고 유료 결제는 그닥 염두에 두지 않았으며 claude같은 여타 AI 도구들도 손대지 않았습니다. 그냥 웹에서 제미나이와 대화 하면서 작업하면 될 줄 알았거든요. 문제는 대화가 길어질 수록 웹에서 맥락을 잃어버리는 일이 많았습니다. 그러면 처음부터 다시 작업해야 하는 일들이 반복됩니다. 그리고 어느새 나는 복붙만 하고 있더군요. NVIM으로는 작업 내용만 정리하는 이른바 편집기로만 사용하고 있었습니다. 어느새 Gemini cli 가 출시되었습니다. 터미널 작업을 위해서 가장 좋았던 건 Gemini cli 였던것 같습니다. Claude cli는 써보지 않았으니 비교 대상이 없습니다. 웹에서 하던 작업들을 모두 새로운 프로젝트 디렉토리를 만들어 이전하고 여기서 지금껏 작업한 걸 기반으로 GEMINI.md 파일 만들고 무작정 작업을 시작했습니다. Nvim에서 소스 파일 열어두면 자기가 알아서 소스 내용을 주르를 바꿔나가면서 작업 결과물을 내는게 참 신기했습니다. 그리고 .. 어느새 원래의 목적은 사라져버렸고 프롬프트 때려넣고 나머지 시간은 Nvim 꾸미기로 시간을 보냈더랬습니다. 하다보니 이렇게 Nvim이 바뀌었어요. Lazyvim 기반으로 바뀌어벼렸네요. 실제로 환경은 거의 비슷합니다. 이때부터 완전히 프로젝트의 방향이 바뀌었습니다. 바이브 코딩으로요. 그리고 API 쿼터 지옥을 맛보게 됩니다. 아침에 시작해서 몇시간도 안되어 쿼터가 끝나는 경험이 반복됩니다. 버전을 낮추어도 이건 마찬가지더군요. 다시 웹에서 GEMINI와 협업을 시작하다. 바이브 코딩은 돈이 듭니다. 프로그램에 대한 지식이 모자랄 수록 더욱 그걸 느낍니다. 한참 작업하다 에러메시지 뜨면 또 쿼터 소진입니다. 그리고 작업한 맥락을 다 잃어버립니다. 결제해야 하나 고민하다가도 요금제를 보면… Gemini Cli를 쓰는 요금제는 정액제가 아닙니다. 쓴 만큼 돈을 냅니다. 몇번이나 요금 계산을 해보았습니다. 크롬으로 제미나이에게 요금제의 효용성과 예상 비용을 물어보고.. ㅎ.. 그러면서 쿼터 끝나면 하루 기다리고 한주를 기다립니다. 본업이 아닌 취미로 하는, 일주일에 하루나 이틀 작업하는 걸로 끝내는데 돈을 쓰는 건 좀 아깝더군요. .그러니 쿼터를 소진하면 웹에서 제미나이에게 처음부터 다시 작업 내역을 알려주고 작업을 이어가는 상황이 계속 되었습니다. 그러다 아래의 글을 발견하게 됩니다. 요즘IT 클로드 코드로 프로덕트 팀 바이브코딩 표준화한 방법(aka 맥도날드 시스템) | 요즘IT 삼양식품 테크리드가 3인 팀에서 시작한 '바이브 코딩'의 혁신적인 도입 과정과 그 한계를 극복한 경험을 공유합니다. 초기에는 놀라운 개발 속도를 자랑했지만, 프로젝트 규모가 커지면서 AI의 '환각'과 '컨텍스트 과부하'로 인한 실력 양극화 문제에 직면했습니다. 이 문제를 해결하기 위해, 팀은 맥도날드의 프랜차이즈 시스템을 개발 워크플로우에 접목했습니다. 테크리드가 '매뉴얼'을 제공하고 비개발자인 바이브 코더가 '지점장' 역할을 맡아 '알바(AI... 지점장’으로서 바이브 코더의 역할 및 새로운 워크플로우 바이브 코더(사람)의 역할: ‘왜(Why)’ 이 일을 하는지 의도를 기록합니다. 결정 과정을 명확히 명시합니다(여러 해결책 중 선택한 이유와 근거). 우선순위를 명확히 구분하여 기록합니다 (Must-have, Should-have, Nice-to-have). 새로운 워크플로우: 기획서(PRD)의 중요성 극대화: AI가 매뉴얼에 따라 일하므로, 명확한 기획서 작성이 압도적으로 중요해집니다. AI의 기획서 검토 활용: AI가 작성된 기획서를 검토하여 기존 기능 재사용 여부나 수정 사항 등을 먼저 분석하게 합니다. 워크플로우 기반 컨텍스트 확보: 팀은 회의 내용을 녹음하고 AI에게 이를 기반으로 기획서 초안을 작성하게 합니다. 이후 사람이 목표(Goal)와 비목표(Non-goal)를 명확히 정의하고 최종 검토를 완료합니다. 이 과정을 통해 '환각이 없는 에이전트 알바 군단’과 '완벽한 기획서’가 확보되어, 개발의 뒷단이 마법처럼 잘 풀리는 경험을 공유했습니다. 뭐 대충 요약하면 이런 겁니다. 아, 물론 중간에 더 중요한 내용은 지워버렸습니다. 내가 주목한 건 이겁니다. “일단 나는 기획하는 입장이다. 그러면 기획자는 리드 프로그래머에게 ( 혹은 시니어에게 ) 작업 내용을 알려주고 시니어는 설계하고 로직짜고 작업 내용을 분화해서 주니어에게 일을 분담시킨다. 그러면 나는 시니어만 상대하면 된다. “ 결론을 내립니다. 나는 기획하고 시니어를 웹에서 접속하는 제미나이로 쓰고 ( 맥락을 잃어버리는 일이 있긴 하지만 쿼터 소진은 없으니까.. ) Gemini Cli를 주니어로 해서 코드를 시니어가 짜면 Cli가 주니어로서 코딩한다. 이 결과 쿼터 소진 시간은 훨씬 길어졌습니다. 이 말은 작업에 몰두할 수 있는 시간이 늘어났다는 의미입니다. 하지만 이제부터 더 한 지옥을 보게됩니다. 작업을 편하게 하는게 아니라 작업 중 신경쓸게 계속 늘어납니다. 소스 확인시켜 주느라 구글 드라이브까지 작업에 활용하고 있네요. Gemini cli라면 아무 문제없이 확인 가능한 것도 웹에서는 로컬 파일이 안되니 구글 드라이브에 파일들 rclone으로 다 동기화 시키고 이걸 또 주소 알려주면서 이거 읽어봐 하고 들이밀어야 합니다. 게다가 가장 큰 문제는 웹에서 코드를 작성한다고 하면서 코드를 보내지 않는 일들이 자주 반복됩니다. 컨택스트가 길어지면 길어질 수록 이런 일들이 반복됩니다. 그리고 새 창을 만들어 처음부터 다시 컨택스트를 보내줍니다. 혼자서도 '맥도날드 시스템’의 ‘지점장(바이브 코더)’ 역할을 수행해야 합니다. 복잡한 PRD 대신, 작업을 시작하기 전에 **‘의도’**를 기록하는 습관을 들이세요. 작업 의도 기록: AI에게 작업을 요청하기 전에 텍스트 파일이나 주석으로 아래 세 가지를 최소한으로 기록하세요. 목표 (Goal): 이 작업이 달성해야 하는 것. 비목표 (Non-Goal): 이 작업이 건드려서는 안 되거나, 다음으로 미룰 것. 우선순위 (Priority): Must-have (필수 기능), Nice-to-have (선택 사항) 구분 작업 시작전에 이걸 항상 기억하라고 제미나이가 말했지만 바이브 코딩에서는 그게 잘 안됩니다. 그게 되면 내가 코드를 짜고 설계하고 프로그래밍하고 다 했겠죠. 코드 짠거 리뷰해서 버그 픽스 하고 수정하고 했겠죠. 그런데 이 일을 내가 해도 작업자가 다 잊어버립니다. 미치겠습니다. 바이브 코딩이란게 그냥 느낌 가는데로 마구 작업한다 라고 정의한다면 저건 이미 작업 지침이 아닙니다. 그리고 이미 GEMINI.md 파일에 거의 기획서 수준의 글들과 추가적인 메모들을 다른 txt 파일로 작성해두었습니다. 이런 일들이 몇번이나 계속되니 또 어느새 Gemini cli를 중심으로 작업하게 되더군요. 제자리 걸음이 시작된겁니다. Antigravity가 나오다 VSCode를 포크한 이 녀석이 눈에 들어옵니다. 이때부터 Nvim 학습 곡선을 위해 취미삼아 뭔가 해보면 더 도움이 되겠다는 생각은 안드로메다로 날아갔습니다. Gemini 3가 달려 있답니다. 무료랍니다. API가 아니라 계정 접속이 된답니다. 아. 그러면 요금제도 정액제가 될 가능성이 높겠다.. 싶었습니다. 주말 동안에만 컴터 켜서 작업하는 게 루틴이라 주말까지 기다렸습니다. 가장 먼저 프로젝트 폴더 열고 바로 주지 시킨게 GEMINI.md 파일입니다. 그리고 내가 작성한 버그 리포트와 추가 사항들을 기록한 문서들입니다. 그리고 소스 분석을 시켰습니다. GEMINI.md 파일의 서두에 박아놓은 중요 사항들이 하나도 지켜지지 않았다면서 마구 리펙토링 하더군요. 안티그래비티에서 지원하는 제미나이는 3 PRO ( High ) / 3 Pro (Low) / 3 flash ( fast ) 가 있더군요. 이게 사기인게.. High에서 쿼터 소진되면 Low로 옮깁니다. Low 쿼터가 소진되면 Fast로 옮깁니다. Fast가 소진되면 Claude Sonnet으로 옮깁니다. 되돌이 표로 계속 멈추지 않고 작업이 진행되더군요. 미친.. 오전에 시작해서 소네트까지 쿼터가 소진되어서 혹시나 하고 Pro High로 모델을 옮기니 쿼터가 살아나 있더군요. 거의 12시간을 쉬지 않고 안티그래비티가 메모리 많이 써서 다운될때까지 풀 작업을 해보았습니다. 그러다 안되면 또 웹에서 작업하고 생각난 모든 것들은 Todo List로 만들고 실시간으로 보게 됩니다. Todo list 만 열어두고 이제 소스는 보지도 않습니다. 생각나는 모든 걸 그냥 Todo List로 밀어 넣습니다. 그리고 작업하고 리펙토링하면서 하드 코딩하지 않고 오로지 외부에서 데이터 조작할 수 있게 만들어둡니다. 그렇게 만든게 사운드 시스템 - 터미널 로그라이크라며?, 스킬 시스템, 전투 시스템, UI 작업, 캐릭터 시스템,… 4일만에 전투 시스템이 끝나버렸습니다. 진짜 크리스마스부터 시작해서 오늘까지 하루 12시간 넘게 작업이 되니 엔간한 작업은 그대로 나옵니다. 6월달 부터 시작한 작업 내용보다 크리스마스 기간 동안 Antigravity를 사용한 작업 내용이 훨씬 깊고 작업 집중이 가능했습니다. 유료 결제 할거냐? 아마 할 거 같습니다. 계속 요금제를 보고 있습니다. AI Pro 요금제는 한달에 29000원입니다. 그중 내가 풀로 쓸 수 있는 시간이 8일 정도입니다. 그러면 8일에 29000원이면 API 쓴 만큼 요금 내는 것보다 훨씬 쌉니다. ㅠㅠ 연말 할인있으니 더 쌀 거 같네요. 이제 어떻게 할거냐? 음 이제 엔간한 시스템들은 거의 만든 거 같습니다. 벨런싱하고 Todo list에 있는 것들 마무리 지으면 이 작업에서도 손을 떼고 다른 프로젝트를 생각할 거 같아요. 이제 남은 작업들을 어떻게 하면 간편하게 만들 수 있는지 고민 좀 해봐야 할 거 같습니다. 벨런싱에서 어떻게 도움을 받을 수 있는지 알아봐야 합니다. 좀전까지 스킬들 모조리 캐릭터마다 테스트한다고 진이 빠져서 머리가 아픕니다. 이 작업을 벨런싱까지 해내야 한다면 벌써부터 몸서리 처집니다. 그런데 기왕 만드는 거 좀더 벨런싱에 도움이 될 만하게 작업 방식을 생각해봐야 할 거 같습니다. 얼마전 제작에 AI썼다고 GOTY 취소 당한 게임 이야기가 떠오르네요. 그리고 내가 전부터 한 고민인 내 작업의 결과물에 라이센스를 어떤 식으로건 매길 수 있는가도 다시 생각해봐야 할 거 같습니다. 지금 만들고 있는 로그라이크는 일단 제미나이를 사용해 제작했다는 것을 밝히고 MIT 라이센스로 배포하라는 제미나이의 조언이 있었습니다. 이제 지금까지 한 작업들은 한달안에 마무리 짓고 머리 식히면서 백서 비슷하게 작성하면서 프롬프트를 어떻게 다루는게 좀더 효과적인것인지도 생각해봐야 할 거 같습니다. 프롬프트 엔지니어링이 어쩌니 해도 프로그램을 모르는 이상 그냥 코드 내용 모르고 승인 때리고 기술 부채만 쌓여가는 작업물이지만 그래도 마무리는 잘 짓고 싶어요. 1개의 게시물 - 1명의 참여자 전체 주제 읽기


Sat, 27 Dec 2025 14:42:44 +0000

포럼

던전 크라울 알파 릴리즈

github.com GitHub - dogsinatas29/dungeon: Diablo like real time rogue for terminal Diablo like real time rogue for terminal 별거 아닌 듯 한 개인 프로젝트입니다. 디아블로틱한 터미널 로그라이크를 만들고 싶었습니다. 실시간으로요. 어쩌다보니 엔진 작업까지 하느라 골때리게 시간 쏟아부었던거 같네요. 간단한 전투와 스킬, 직업 특성중 일부는 구현되어 있습니다. 아직 완벽하게 직업 특성이 구현된 건 아닙니다. 맵 이동도 약간 이상해서 막아 두었습니다. 작업 할 내용도 꽤 많이 있습니다. 그래도 전투 가능하고 스킬 사용가능하고 레벨업 가능합니다. 아이템 사용도 가능합니다. 엔진으로는 알파 정도 된 거 같아서 자랑삼아 올려보네요. 접두사 접미사 시스템은 아직 완벽하게 검증이 되지 않았습니다. 그점 참고해 주시고 플레이 해주시면 감사하겠습니다. 에러가 있으면 꼭 알려주세요. 저 혼자 테스트하려니 시간이 너무 모자랍니다.ㅠㅠ 참고: 이 프로젝트는 Gemini를 페어 프로그래밍 도우미로 사용하여 개발되었습니다. 상태: 현재 밸런스 테스트 진행 중… 주요 기능 핵심 게임플레이 실시간 전투 시스템 - 턴 기반 메커니즘 절차적 생성 던전 - 다양한 층 타입 영구 사망 - 진정한 로그라이크 경험 캐릭터 성장 - 스킬 사용에 따른 동적 직업 시스템 직업별 특성화: 각 직업별 고유 무기 보너스 (로그 활, 바바리안 양손무기, 소서러 지팡이) 전투 & 스킬 18개 디아블로 1 스펠 (4개 티어): 1티어: 파이어볼트, 차지드 볼트, 치유, 홀리 볼트, 인페르노 2티어: 파이어볼, 라이트닝, 석화 저주, 플래시, 페이징 3티어: 체인 라이트닝, 플레임 웨이브, 가디언, 텔레포트 4티어: 마나 실드, 노바, 골렘, 아포칼립스 스킬북 시스템 - 지수 레벨링 (3^n 진행: 1→3→9→27권) 속성 시스템 - 가위바위보 메커니즘 (물 > 불 > 나무 > 흙 > 물) 특수 데미지 타입 - 독, 언데드 보너스(둔기), 원거리 공격 아이템 & 장비 99개 이상의 기본 아이템: 30개 무기 (검, 도끼, 둔기, 활, 지팡이) 26개 방어구 (투구, 방패, 갑옷) 2개 액세서리 (반지, 목걸이) 18개 스킬북 다양한 소비 아이템 및 스크롤 디아블로 1 스타일 시스템 마법 아이템 시스템 - 접두사/접미사 조합: 22개 접두사 (날카로운, 흑요석, 용의 등) 17개 접미사 (황도십이궁의, 천상의 등) 11개 액세서리 전용 접두사 (비취, 루비, 사파이어 등) 2개 액세서리 전용 접미사 (달의, 재생의) 내구도 시스템 - 전투 중 장비 마모 강화 시스템: 무기/방어구용 오일 강화 신전 강화 (0 ~ +10) - 성공/실패 메커니즘 신전 시스템 - 2층마다 등장, 복구 또는 강화 옵션 고급 기능 스테미너 시스템 - 이동 및 스킬 사용 시 소모 자원 관리 - 식량, 물약, 인벤토리 제한 상점 시스템 - 아이템 구매/판매 및 수리 사운드 시스템 - 행동에 대한 오디오 피드백 더블 버퍼 UI - ANSI 색상을 사용한 부드러운 터미널 렌더링 저장/불러오기 - 영구 게임 상태 TODO 리스트 높은 우선순위 [/] 디아블로 1 보스 시스템: 보스 소환 매커니즘 (체력 50% 시 지원군 소환) 공격적 보스 AI (모든 보스가 플레이어를 추적) 최종 보스: 디아블로 (99층에서의 대결) 다른 유니크 보스들 (도살자, 레오릭 등) 보스 대사 시스템 (“Ah… Fresh Meat!”) 보스별 유니크 아이템 드랍 보장 보스 전용 고정 맵 (99층 목표 달성) 지팡이 전투 시스템 - 이중 모드 무기 메커니즘: 물리 타격 공격 (근접, 내구도 소모, STR 기반 데미지) 마력 충전 모드 (소서러의 경우 MP 대신 지팡이 충전 횟수 소모) 지팡이에 랜덤 스펠 할당 ‘S’ 키로 스펠 모드 활성화 + 방향키로 시전 (현재 퀵슬롯으로 통합됨) 특수 스킬 효과 (12개 스킬 구현 필요): 홀리 볼트 - 언데드 추가 데미지 인페르노 - 지속 화염 벽 석화 저주 - 석화 효과 페이징 - 랜덤 텔레포트 체인 라이트닝 - 연쇄 공격 플레임 웨이브 - 화염 파동 공격 가디언 - 터렛 소환 텔레포트 - 방향 지정 텔레포트 마나 실드 - 마나로 데미지 흡수 노바 - 전방향 공격 골렘 - 골렘 소환 아포칼립스 - 화면 전체 공격 중간 우선순위 아이템 드롭 시스템 개선: 드롭 확률 공식 (일반 15-25%, 보스 100%) 등급 결정 (Normal 85%, Magic 14.5%, Unique 0.5%) 몬스터 레벨 기반 아이템 제한 매직 접사 롤링 (접두사 40%, 접미사 40%, 둘 다 20%) Magic Find (MF) 시스템 (장신구) 보스 전용 드롭 테이블 언어 선택 메뉴 - 시작 시 한글/영어 선택 동적 직업 시스템 - 최고 레벨 스킬에 따라 직업 자동 변경 플레이어 행동 쿨다운 - 입력 처리에서 쿨다운 강제 밸런스 조정 - 실시간 게임플레이에 맞춰 난이도 조정 UI 개선: 쿨다운 표시 실시간 HP/MP 바 애니메이션 몬스터 행동 예측 표시 낮은 우선순위 보스 특수 패턴 - 고유한 보스 행동 추가 캐릭터 클래스 - 4개 이상으로 확장 멀티플레이어 지원 - 협동 게임플레이 6개의 게시물 - 2명의 참여자 전체 주제 읽기


Sat, 27 Dec 2025 13:22:19 +0000


현재 예정된 행사가 없습니다


커뮤니티 참여하기

우분투한국커뮤니티에 대해 더 자세히 알아보세요. 커뮤니티 소개 ›

후원사 & 파트너