728x90
728x90
[ 회고 & 컬럼/성장 에세이 ][게임 개발 방법론] 게임·VR 프로젝트의 애자일(Agile) 스크럼 도입 사례와 스프린트 운영 노하우2025-04-02 23:52:00들어가며게임 개발 업계에서는 애자일(Agile) 및 스크럼(Scrum) 기법 도입을 통해 개발 속도와 팀워크를 향상시키고 사용자 피드백을 신속히 반영하는 사례가 늘고 있다. 특히 모바일 게임, AI 활용 게임, VR 콘텐츠, 게이미피케이션 분야에서 애자일 도입이 활발하다. 아래에서는 조직 형태별(스타트업, 대기업, 분산팀) 실제 프로젝트 사례를 살펴보고, 애자일/스크럼 적용 방식과 도입 후 얻은 개선점을 정리한다. 스타트업 사례: 애자일로 2달 만에 교육용 게임 MVP 출시미국 필라델피아의 한 스타트업 게임 개발사는 금융범죄 예방을 위한 교육용 게임(자금세탁 방지 훈련용 게임) 프로젝트를 진행했다. 초기에는 기획자, 디자이너, 개발자 등이 기능별 사일로로 나뉘어 각자 역할에만 집중하였고, 여러 프로젝트를..
[ 시스템 & 인프라/Linux & DevOps ][리눅스 한 학기 살기 #3] Ubuntu 24.04 원격 데스크톱: xrdp 대신 grdctl로 RDP 접속 붙이기2025-04-01 00:05:45TL;DR — 3줄 핵심 요약• 문제: 모니터 없이 돌리는 라즈베리파이에 화면을 붙이려면 원격 데스크톱이 필요하다. 예전 방식은 xrdp 패키지를 따로 설치하고 세션을 수동으로 연결해야 했다.• 기술/원인: Ubuntu 24.04에는 GNOME 원격 데스크톱이 기본 들어 있고, RDP 프로토콜로 화면을 보낸다. Wayland에서도 PipeWire로 화면 프레임을 가져와 RDP로 전송한다. 그래서 xrdp 없이 3389 포트 하나로 Windows·macOS·Linux 클라이언트가 모두 접속한다.• 해결/인사이트: 재부팅 뒤에도 접속하려면 Desktop Sharing이 아니라 Remote Login을 켜야 한다(로그인 화면까지 원격). 연결이 인증 직후 끊기면 rdp 파일을 export해 use redire..
[ 게임 개발/Unity 6 & C# ][게임 엔진 비교] Unity C# vs Unreal C++ 아키텍처 비교: 메모리 관리, GC, 성능 및 생산성 분석2025-03-31 20:35:15들어가며학교 과제로 Unity Engine에서 C#이 쓰이게 된 이유와 Unreal Engine에서 C++이 쓰이게 된 이유, 그리고 이 둘 간의 비교하는 리포트를 작성하게 되었다. 글의 품질이 나쁘지 않아서 블로그에도 포스팅을 해본다. Unity 엔진과 C#게임 클라이언트 개발 도메인 정의게임 클라이언트 개발은 사용자의 기기에서 실행되는 게임 프로그램을 제작하는 작업이다. 3D/2D 그래픽 렌더링, 물리 엔진, 사용자 입력 처리, AI, 게임 플레이 로직과 같은 복잡한 실시간 처리가 필요하다. 이런 도메인에서는 높은 성능과 메모리 효율성이 핵심이다. 게임은 프레임 단위로 작동하며 매 순간 방대한 연산을 처리해야 하기 때문에, 프로그래밍 언어의 실행 속도와 하드웨어 제어 능력이 매우 중요하다.[^1] 더..
[ 시스템 & 인프라/Linux & DevOps ][리눅스 한 학기 살기 #2] curl과 Makefile 제대로 쓰기: 주요 옵션부터 jq 연동·자동 변수까지2025-03-17 23:42:44TL;DR — 3줄 핵심 요약• 문제: 서버에 요청을 보내고 응답을 확인하는 일, 소스를 컴파일하는 일은 매번 반복된다. 이 두 반복을 명령 한 줄로 줄이는 도구가 curl과 make다.• 기술/원인: curl은 libcurl로 URL에 요청을 보내고 응답 바이트를 출력하거나 파일로 저장한다. make는 Makefile의 규칙(타겟: 의존성 → 명령)을 읽고, 의존성 파일의 수정 시각이 더 최신일 때만 명령을 실행한다.• 해결/인사이트: curl은 -s(조용히) -f(HTTP 오류를 실패로) -L(리다이렉트 추적) -o(파일 저장) 조합과 jq 파이프가 실무 기본형이다. make는 변수·자동 변수($@, $curl: URL에 요청을 보내는 도구1996년 다니엘 스텐버그가 IRC에서 환율 정보를 자동으로 ..
[ 42경산 & 알고리즘/42 과제 회고 ][42경산/C언어] Get Next Line(GNL) 완벽 가이드: 버퍼 크기별 동작 원리와 정적 변수 메모리 관리2025-03-16 18:17:44TL;DR — 3줄 핵심 요약• 문제: read()는 한 줄 단위로 읽지 않는다. 요청한 바이트 수보다 적게 돌려줄 수 있고, 개행이 어디 있는지도 알려주지 않는다. 그래서 "아직 반환하지 못한 나머지"를 함수 밖에 저장해야 한다.• 기술/원인: 시그니처가 char *get_next_line(int fd)로 고정되어 상태를 인자로 넘길 수 없다. 그래서 static 변수를 fd별로 두고, read로 채운 덩어리와 합쳐 개행 앞까지를 반환하고 뒤는 남긴다.• 해결/인사이트: 흐름은 네 단계다. ① 저장된 문자열에서 개행을 찾는다 ② 없으면 read로 이어붙인다 ③ 개행 앞부분을 복사해 반환한다 ④ 나머지를 static에 다시 저장하고 이전 메모리를 free한다. EOF와 오류 경로에서도 static이 가리..
[ 시스템 & 인프라/Linux & DevOps ][리눅스 한 학기 살기 #1] 라즈베리파이5에 Ubuntu 24.04 설치하고 SSH 원격 접속까지2025-03-16 00:52:51TL;DR — 3줄 핵심 요약• 문제: "리눅스 한 학기 살기" 과제로 1주차에 리눅스를 설치하고 원격에서 접속 가능한 상태까지 만들어야 했다. 라즈베리파이5에 Ubuntu 24.04 LTS를 설치하고 SSH로 외부 접속을 확인하는 것이 목표였다.• 기술/원인: 원격 접속은 세 가지가 동시에 맞아야 성립한다. ① sshd가 22번 포트에서 대기 ② 방화벽(ufw)이 그 포트를 허용 ③ 공유기가 외부 포트를 내부 IP로 전달. 하나만 빠져도 연결되지 않는다.• 해결/인사이트: 순서를 지켜야 한다. ufw allow 22/tcp를 먼저 넣고 enable을 켠다. 바깥에서 접속하려면 공유기 포트포워딩과 DDNS(A 레코드)까지 설정하고, ssh 사용자@주소 -p 포트로 확인한다.무엇을 하려는 과제인가오픈소스S..
[ 42경산 & 알고리즘/42 과제 회고 ][42경산/C언어] Libft 라이브러리 구현 가이드: 표준 C 라이브러리 함수 재구현과 Makefile 설계2025-03-12 23:45:12TL;DR — 3줄 핵심 요약• 문제: Libft는 표준 C 라이브러리 함수 40여 개를 직접 다시 만드는 과제다. "동작한다"와 "표준과 같다"는 다르고, 평가는 경계값에서 갈린다.• 기술/원인: C 문자열은 '\0'로 끝나는 바이트 배열이고, 포인터는 그 배열의 주소다. 함수 대부분은 이 주소를 진행시키며 바이트를 읽고, 종료 문자를 만나면 멈춘다. 그래서 버퍼 크기, 널 종료, 겹침 여부가 결과를 바꾼다.• 해결/인사이트: 세 가지만 지키면 대부분 통과한다. ① 반환 타입과 값(size_t, char*, int)을 표준과 맞춘다 ② 크기가 0인 경우와 널 종료를 따로 처리한다 ③ memcpy와 memmove, strlcpy와 strncpy의 차이를 구분한다.Part 1: libc 함수 다시 만들기문..- [ 42경산 & 알고리즘/자료구조 & 코테 ][코딩테스트] 코드트리(CodeTree) 학습 플랫폼 심층 분석: 백준·프로그래머스와의 차이점과 실전 활용기2025-03-09 23:19:27TL;DR — 3줄 핵심 요약• 문제: 코딩테스트 학습은 문제 수를 늘리는 것만으로는 점수가 오르지 않는다. 어떤 유형을 어떤 순서로 풀지, 지금 실력이 어느 수준인지 판단할 기준이 필요하다.• 기술/원인: 코드트리는 문제를 난이도 단계(Trail)로 묶고, 온라인 코딩캠프에서 유형별 풀이법을 강의하며, COEIC 시험으로 현재 수준을 점수화한다. 학습 루프가 "강의로 방법을 배우고 → 유형 문제를 풀고 → 시험으로 측정"으로 닫힌다.• 해결/인사이트: 두 달 동안 가장 크게 바뀐 것은 dx·dy 배열 같은 좌표 이동 기법을 익힌 뒤 문제를 푸는 속도였다. 습관은 디스코드 봇의 스트릭(연속 학습일)으로 유지했고, 50일을 넘겼다.이 글의 위치글또 10기에서 코드트리 2개월 이용권을 받아 쓴 두 번째 후기..
728x90
728x90