하찮은 19학번 컴공대생
yoonbot's devlog

개발일지 🎮 4

[Linux From Scratch 01] - Introduction

만약 나처럼 비정상인 컴공대생이고 자기 만의 무언가를 만드는걸 즐기는 사람이라면 당신도 자기 만의 웹사이트, 디코봇, 등 자기 자신만 사용할 수 있는 시스템이던지 어플이던지 설계 도전을 해봤을 것이다. 이제 가끔씩 영화 장면들중에 해킹 씬들이 있었는데 다 자기만의 리눅스, 혹은 업체에서 공개하지 않은 리눅스 시스템/디스트로 를 사용한다 대부분. 그래서 나도 내 자신만의 리눅스 시스템/디스트로를 구현하고자 하는 도전을 받았다. 자시만의 리눅스 시스템을 개발하는 과정에 대한 장점들과 단점들을 간략히 소개하겠다. 장점 1. 당신이 왕이다. 자시만의 리눅스 시스템을 구현하기 때문에 커스터마이징의 맥스라고 보면된다. 당신이 원하는 패키지만 설치하고 쓸데없는 다른 패키지들은 설치 안 되어있다. 물론 아무것도 설치 ..

[프로젝트 #0] 핀토스 설치하기

**아래 글은 개인 우분투 환경에서 핀토스를 설치하는것이 아닌, 조교님이 관리하고 베푸해주신 터미널로 핀토스를 실행했다.** 대학교 컴퓨터공학 과정을 들으면서 1학년때는 기본 씨언어 프로그래밍 및 이산수학, 2~3학년때는 자료구조 및 알고리즘들, 그리고 그 범위에 마춘 실험 과목들, 이제 3~4학년쯤되면 본인은 컴퓨터가 프로그램이 실행하면 무엇을 하는지 대충 조금이라도 알 것이다 (프로세서가 반복적으로 instruction/명령을 메모리에서 갖고 오고 명령어를 해독하고 그리고 명령을 실행한다). 예를들면, 컴퓨터가 반복적으로 두 수들을 더하고 메모리에 접속하고 컨디션을 확인하고 다른 함수로 점프하고 등등. 위와 같은 과정들을 초마다 몇 억씩 반복된다고 생각하면 된다. 3~4학년 쯤 되면 위와 같은 상황들..

루아 프로그래밍 언어 Love2d로 컴파일하기 (Compilation of Lua programming language through Love2d)

요즘따라 오래된 게임들 (퐁, 포켓몬, 슈퍼마리오 등 비슷한 게임들) 구현 및 개발에 관심이 싹 틀었다. 계기는 우연히 유튜브를 시청하는 중에 유튜브의 요상한 알고리즘으로 인해 우연히 미국 아이비리그 하버드 대학교에서 가르치는 위에서 언급한 게임들 개발에 대한 강의들이 한 플레이리스트에 담겨져 있었고 나는 그걸 발견했다. 강의들을 시청하는 도중 실습들을 따라가기 위해 나는 love2d 라는 게임 개발에 유용한 프레임워크 (오픈 프레임워크랑 약간(?) 비슷한)와 루아 언어 컴파일러를 를 설치 하였다. 사실 처음에는 어떻게 love2d를 이용해서 main.lua 파일을 어떻게 컴파일을 실행해야하는지를 많이 헷갈려했다. 그래서 처음에는 lua main.lua를 터미널에서 실행해봤더니 다음과 같은 에러가 떴다...

뱀 게임 (Snake Game)

처음으로 8비트 짜리 게임을 구현해봤다. 기본 C++밖에 모르는 나는 어느새 Visual Studio로 한 10개 정도의 소스파일들을 만들고 그 10개의 파일들로 인해 간단한 컴퓨터 게임이 실행하는걸 성공했다. 그리고 나는 처음으로 그래픽스를 매니지 하는 라이브러리를 응용했기 때문에 프로그램이 정상적으로 컴파일을 할 수 있다는게 감격스러웠다. 나는 원래 링크드 리스트로 구현하려고 했지만 더 좋고 효율적인 벡터들을 응용하게 되었다. 다들 어렸을때 한번쯤은 해봤을 게임이다 (요근래 어린 친구들은 과연 이 뱀 게임을 잘 알지 모르겠지만). 원래 이 게임을 실행하던 컴퓨터들은 애초에 회색/검은색 화면에서 쪼그만 뱀 한 마리가 동동 화면 속으로 기어다니고 있었다. 규칙들은 간단하게 뱀의 방향키들이 연속으로 반대 ..