728x90
- [ 프로그래밍 ]리눅스 한 학기 살기 - 8주차2025-05-01 01:22:37들어가며이번 주차의 주제는 바로 'ca-certificates'이다. `curl`과 `docker`를 설치할 때 반드시 설치해야 하는 패키지인데, 한 번도 이 녀석이 무엇을 하는지 제대로 찾아본 적이 없다고 생각되어 이번 기회를 통해 조사를 하게 되었다. ca-certificates 패키지는 최신 네트워크 통신의 보안 기반을 형성하는 데 필수적인 구성 요소이다. 이 패키지는 신뢰할 수 있는 인증 기관(Certificate Authority, CA)의 루트 인증서 모음을 제공하며, 이는 SSL/TLS(Secure Sockets Layer/Transport Layer Security) 프로토콜을 사용하는 애플리케이션이 원격 서버의 신원을 확인하고 안전한 암호화된 연결을 설정하는 데 사용된다.[1] 인터넷을 ..
- [ 프로그래밍 ]리눅스 한 학기 살기 - 7주차2025-04-23 22:25:14들어가며이번 7주차의 프로그램은 Vim이다. 사실 이미 1주차 때 설치를 했던 프로그램이지만, 아직까지 기초적인 것만 사용할 줄 아는 초보이기도 하고, 더 친해지고 싶어 이번 주차 때 조사를 해보게 되었다. 개인적으로 나에게는 Vim은 강력하고 어디서나 사용 가능한 텍스트 편집기이다. 긴급한 상황에서 터미널을 켜고 파일 내용을 수정할 때, CLI 환경에서 가장 빛을 발하는 프로그램이 아닐까 싶다. 자, 그럼 Vim에 대해 본격적으로 알아보자. Vim이란 무엇인가?Vim(Vi IMproved)은 고도로 설정 가능하며 강력한 성능을 자랑하는 텍스트 편집기다. 특히 프로그래밍, 시스템 관리 작업에서 그 효율성으로 널리 알려져 있다. Vim은 유닉스 계열 시스템에서 오랫동안 사용되어 온 vi 편집기에서 파생되었..
- [ 프로그래밍 ]리눅스 한 학기 살기 - 6주차2025-04-22 22:35:43들어가며이번 주차는 Jenkins라는 CI/CD 도구에 대해 다룬다. 예전에도 Jenkins를 로컬에 설치해서 몇 번 사용했었는데, 가끔 전역적으로 설치해서 발생하는 문제(ex. 8080 포트 겹침 등)들로 인해 귀찮은 작업이 많아 Docker를 이용하면 조금 더 편하게 사용할 수 있을 거란 생각에 Docker와 Jenkins를 같이 사용하게 되었다. 본격적으로 Jenkins를 Docker로 설치해서 사용하기 전에 Jenkins에 대해 알아보고 이후 Docker에 설정하는 방법을 정리하겠다. Jenkins란?Jenkins는 소프트웨어 개발 프로세스의 빌드, 테스트, 배포 단계를 자동화하는 데 널리 사용되는 오픈 소스 자동화 서버이다.1 Java로 작성되었으며, 지속적 통합(Continuous Integr..
- [ 프로그래밍 ]리눅스 한 학기 살기 - 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 원격 데스크톱 서..
728x90