자유 소프트웨어 대장간
게시일: 작성자: Ron
빅테크 및 IT 산업에 대한 저의 불만은 이전 포스트인 봄 소식 1과 빅테크와 나의 해로운 관계에서 이미 이야기했으므로, 당분간 불평은 자제하겠습니다. 이번 포스트에서는 제가 소프트웨어를 개발하는 방식과 사용하는 플랫폼, 도구들을 간단히 소개해 드리겠습니다.
저는 2018년에 컴퓨터 정보처리 기술 과정을 졸업하고 한동안 유지보수 업무를 하다가, 2020년에 컴퓨터공학 학사 과정을 시작했습니다. 하지만 저의 프로그래밍 역사는 그보다 조금 더 일찍 시작되었습니다. 2014년부터 취미로 웹사이트를 개발하여 지금은 없어진 제 GitHub 계정에 올려두곤 했습니다. GitHub Pages를 이용해 정적 웹사이트를 호스팅하며 즐겁게 작업했죠. 수십 개의 .github.io 프로젝트를 만들었는데, 아마 마이크로소프트 데이터센터 어딘가에 아직 남아있을 겁니다.
개인용 컴퓨터로 Windows를 사용한 적은 한 번도 없습니다. 첫 컴퓨터를 샀을 때 Debian이 설치되어 있었고, 2018년까지 Debian을 사용했습니다. 기술 과정에 입학한 후에는 조금 우쭐해진 마음에 Arch Linux로 갈아타고 프로젝트와 사이트들을 GitLab에 호스팅하기 시작했습니다.
대학 생활 동안에도 Arch를 사용하며 GitLab에 프로젝트를 호스팅했습니다. Google Play Store 앱 개발자가 된 후로는 Google 관련 서비스, 특히 Google 데이터센터라면 무엇이든 만족스럽게 사용했습니다. 이 관계는 올해 초까지 이어졌습니다. Google과의 관계를 정리한 것은 저에게 일종의 해방이었습니다. 현재는 제 모든 디지털 삶에서 오직 자유·분산 소프트웨어만 사용합니다. 롤링 리리스(Rolling Release) 방식을 좋아하진 않지만 Void Linux를 사용 중이며, 프로젝트는 베를린에 데이터센터가 있는 Codeberg에 호스팅하고 있습니다.
제가 사용하는 터미널 에디터는 Nano이며, IDE는 Geany입니다.
현재 주력하고 있는 데스크톱 소프트웨어 개발에는 C/GDB/Make/Git 스택을 사용하며, 그래픽 라이브러리로는 GTK3(유틸리티)와 SDL2(게임)를 사용합니다.
웹 개발에는 표준 웹 스택인 HTML/CSS/JS를 사용하고 필요에 따라 Python을 병행합니다.
스크립트 작성에는 Shell과 Python을 사용합니다.
*인공지능 분야에서는 C와 Python을 사용합니다.
이것이 저의 개인 대장간(개발 환경)입니다. 물론 보수를 받는 실무 업무에서는 작업에서 요구하는 도구를 사용합니다. Windows 환경에서 VSCode와 Java를 사용해 프로그래밍한 적도 있지만, 다행히 아직 잘 살아있습니다.
*인공지능은 컴퓨터공학의 하위 연구 분야입니다. 요즘 세상에서 'AI'라는 이름으로 보이는 것들은 트랜스포머(Transformers) 기반의 생성형 모델과 자율/자기개선 에이전트들입니다.