- [ 프로그래밍 ]리눅스 한 학기 살기 - 5주차2025-04-13 11:08:44들어가며지난 주까지 우분투 서버에 대한 환경 설정은 어느 정도 마무리한 것 같아, 본격적으로 이 친구를 서버로 사용하기 위한 준비를 진행하고자 한다. 현재 졸업프로젝트 때문에 WebRTC용 서버가 하나 필요한데, 이 녀석을 서버로 삼아 Docker를 설치하고, Jenkins와 WebRTC를 컨테이너로 실행해볼까 한다. 이 글은 라즈베리파이 5 하드웨어에서 Ubuntu 24.04 LTS ("Noble Numbat") 데스크톱 버전을 실행하는 환경에 Docker Engine을 설치하는 포괄적인 단계별 가이드 제공을 목적으로 한다. 라즈베리파이 5는 ARM64 아키텍처를 사용하므로, 이 가이드의 모든 절차는 해당 아키텍처에 맞춰져 있다. 설치 과정은 Docker에서 공식적으로 권장하는 APT 리포지토리 설정 ..
- [ 프로그래밍 ]게임 산업의 주요 운영 체제2025-04-13 03:13:47들어가며운영 체제(OS)는 컴퓨터 시스템의 하드웨어 자원(CPU, GPU, 메모리, 저장 장치 등)을 관리하고, 응용 소프트웨어(게임 포함)가 하드웨어와 상호 작용할 수 있도록 인터페이스를 제공하는 필수적인 시스템 소프트웨어이다. 특히 게임 환경에서는 OS의 역할이 더욱 중요해진다. 게임은 실시간 상호작용, 높은 그래픽 처리 요구 사항, 낮은 지연 시간 등 극도로 까다로운 성능 조건을 요구하기 때문이다. OS는 이러한 요구 사항을 충족시키기 위해 자원 할당, 프로세스 스케줄링, 하드웨어 추상화, 보안 등의 기능을 효율적으로 수행해야 하며, 이는 게임의 성능, 안정성, 그리고 궁극적으로 사용자 경험에 직접적인 영향을 미친다. 게임 산업에서 사용되는 OS는 매우 다양하다. 특정 하드웨어에 맞춰 고도로 최적화..
- [ 프로그래밍 ]리눅스 한 학기 살기 - 4주차2025-04-09 16:30:10들어가며지난 3주에 걸쳐 ssh와 원격 데스크톱 설정을 완료했다고 생각하던 찰나, 공인 IP에 SSH(22번)나 RDP(3389번) 포트를 그냥 노출시키는 건 엄청 위험하다는 것을 알게 되었고 그로 인해 라즈베리파이5의 보안 강화를 위해 VPN을 설치하게 되었다. VPN은 외부에서 라즈베리파이가 있는 내부 네트워크로 안전하게 접속할 수 있는 암호화된 터널을 제공하기 때문에, 보안상 걱정이 없을 것으로 보인다. 사용 목적(외부에서 집 안의 라즈베리파이로 안전하게 접속)에 가장 적합하고, 비교적 설정이 간편하며, 라즈베리파이 환경에서 많이 사용되는 VPN 솔루션 두 가지를 정리하고 그에 따른 설정 방법과 Trouble Shooting 과정을 단계별로 설명하겠다. 추천 VPN 솔루션비교적 사용하기 편한 VPN..
- [ 프로그래밍 ]게임·VR·게이미피케이션 분야의 애자일 도입 사례2025-04-02 23:52:00들어가며게임 개발 업계에서는 애자일(Agile) 및 스크럼(Scrum) 기법 도입을 통해 개발 속도와 팀워크를 향상시키고 사용자 피드백을 신속히 반영하는 사례가 늘고 있다. 특히 모바일 게임, AI 활용 게임, VR 콘텐츠, 게이미피케이션 분야에서 애자일 도입이 활발하다. 아래에서는 조직 형태별(스타트업, 대기업, 분산팀) 실제 프로젝트 사례를 살펴보고, 애자일/스크럼 적용 방식과 도입 후 얻은 개선점을 정리한다. 스타트업 사례: 애자일로 2달 만에 교육용 게임 MVP 출시미국 필라델피아의 한 스타트업 게임 개발사는 금융범죄 예방을 위한 교육용 게임(자금세탁 방지 훈련용 게임) 프로젝트를 진행했다. 초기에는 기획자, 디자이너, 개발자 등이 기능별 사일로로 나뉘어 각자 역할에만 집중하였고, 여러 프로젝트를..
- [ 프로그래밍 ]리눅스 한 학기 살기 - 3주차2025-04-01 00:05:45들어가며이번 주차는 본격적으로 거실에 있는 라즈베리파이를 창고로 옮기는 작업을 진행했다. 결론부터 말하자면, Windows와 macOS에서 라즈베리파이에 올라가 있는 Ubuntu Desktop에 GUI 원격을 붙는데 성공했다. 우선 아래 가이드대로 Ubuntu 24.04에 내장된 RDP 프로토콜을 사용하여 문제를 해결하려 시도했다. 하나 좋았던 점은, 더 이상 xrdp 패키지가 필요하지 않았다는 점이다. Ubuntu 24.04와 통합 원격 데스크톱 방식Ubuntu 24.04 LTS에서 RDP (Remote Desktop Protocol, 원격 데스크톱 프로토콜)를 사용하는 것이 가장 권장된다. RDP는 Windows의 기본 원격 접속 방식이며, Ubuntu 24.04에 내장된 GNOME 원격 데스크톱 서..
- [ 프로그래밍 ]Unity Engine의 C#과 Unreal Engine의 C++ 비교2025-03-31 20:35:15들어가며학교 과제로 Unity Engine에서 C#이 쓰이게 된 이유와 Unreal Engine에서 C++이 쓰이게 된 이유, 그리고 이 둘 간의 비교하는 리포트를 작성하게 되었다. 글의 품질이 나쁘지 않아서 블로그에도 포스팅을 해본다. Unity 엔진과 C#게임 클라이언트 개발 도메인 정의게임 클라이언트 개발은 사용자의 기기에서 실행되는 게임 프로그램을 제작하는 작업이다. 3D/2D 그래픽 렌더링, 물리 엔진, 사용자 입력 처리, AI, 게임 플레이 로직과 같은 복잡한 실시간 처리가 필요하다. 이런 도메인에서는 높은 성능과 메모리 효율성이 핵심이다. 게임은 프레임 단위로 작동하며 매 순간 방대한 연산을 처리해야 하기 때문에, 프로그래밍 언어의 실행 속도와 하드웨어 제어 능력이 매우 중요하다.[^1] 더..
- [ 프로그래밍 ]리눅스 한 학기 살기 - 2주차2025-03-17 23:42:44들어가며지난 주에 작성한 글의 연장선 상에 있는 글이다.https://kugora.ng/47 리눅스 한 학기 살기 - 1주차들어가며대학교 마지막 학기에 재학 중이다. 3학점만 들어도 졸업이 가능했으나, 또 무슨 심보가 발동 됐는지 결국 18학점 꽉 채워버렸다 (나란 인간 정말...) 매번 게임과 관련된 수업만 듣다 이kugora.ng 이번 주차에 본격적으로 우분투를 적극적으로 사용해보고자 이것저것 설치해봤다. 42경산 과제 수행을 위해 curl, make, vim, git을 설치했고 사용해보지 못했지만, Anthropic 사의 claude-code를 사용해보고 싶어 npm도 설치해봤다.이 중에서 다른 패키지에 비해 상대적으로 이해도가 적은 curl과 make에 대한 보고서를 이번 주차에 작성해보고자 한다..
- [ 프로그래밍/42 Gyeongsan ]Get Next Line - 한 줄씩 읽는 것은 너무 지루하다2025-03-16 18:17:44들어가며get_next_line 프로젝트는 파일 디스크립터로부터 한 번 호출에 한 줄씩 읽어들이는 함수를 구현하는 과제이다. 42 과정에서 파일 I/O와 메모리 관리, static 변수 활용 등을 심도 있게 훈련한다[^1]. 이 글에서는 해당 과제를 성공적으로 수행하기 위해 필요한 사전 지식을 정리하고, 실제 평가 기준을 고려한 모범 구현 방식과 고급 기법을 단계별로 분석한다. 1. 파일 입출력 기초 및 최적화 기법파일 디스크립터(FD)는 유닉스 계열 시스템에서 열린 파일을 가리키는 비음수 정수 식별자이다[^2][^3]. 프로세스마다 표준 입출력에 해당하는 0, 1, 2번 FD가 있다(각각 stdin, stdout, stderr). 그 외에 open() 호출을 통해 파일을 열면 사용되지 않은 새로운 FD..
728x90