목록전체 글 (59)
altair의 프로젝트 일기
짐을 정리하다가 어릴 적에 찍었던 사진들을 발견했다. 거의 800장에 달하는 어마어마한 양이었다. 그 안에는 돌아가신 할머니, 할아버지도 찍혀있었고 이젠 결혼하고 아이까지 낳은 사촌 누나들의 중고등학교 모습도 찍혀있었다. 어린 시절의 내 모습 뿐만 아니라 그 시절 내 주변 또한 찍혀있었다. 평소에도 백업을 충실히 해놓는 편이었기 때문에 이것들도 모두 데이터화 해서 믿을 수 있는 매체에 저장하고 싶었다. 이십년이 넘도록 온전하게 유지되어 온 사진들이지만, 언제 손상되도 이상하지 않다고 생각했다. 물리적인 형체를 갖는 한 점점 손상될 것은 자명하기 때문이다. 고려한 저장매체들은 다음과 같다. 개인 나스 평소 학교 관련 파일들이나 프로젝트 파일들은 개인 나스에 저장하거나 원드라이브에 저장한다. 이런 파일들은 ..
마지막으로 글을 쓴지 거의 한달이 다 되어 가는 것 같다. 기말고사 시즌이라 시험 준비에 바빴기 때문이다. 그동안 리눅스 민트를 쓴 경험을 다시 한 번 다루고자 한다. 그동안 별로 안썼다 리눅스가 대단하고 매력적인 것도 맞고 리눅스 민트가 우아하고 빠른 것도 맞지만 사실 시간이 지나면서 점점 안쓰게 되었다. GRUB 화면에서 윈도우를 선택하는 것이 익숙해졌다. 코딩할 때는 리눅스에 있는 것들이 모두 있고 더 편한 환경들도 제공되는 맥을 썼다. 한 달여 기간 동안 리눅스 민트를 쓰면서 느꼈던 리눅스만의 단점을 (정확하게는 리눅스 민트의 단점을) 말해보고자 한다. 굳이? 리눅스를 좋아하는 사람들에게는 안타깝지만 사실 '리눅스만' 할 수 있는 일은 거의 없다. 언제나 '리눅스도' 할 수 있는 것들만 있다. 오..
리눅스 민트 라즈베리파이를 저번 겨울 내내 주물럭 거렸다. 처음에는 정말 어색하고 어렵게만 느껴졌던 리눅스의 터미널은 온갖 오류들을 잡고, 새로운 프로그램을 설치하며, GUI가 없는 라즈베리파이 OS Lite의 폴더들을 이동하는 과정에서 정말 친숙한 도구가 되었다. 라즈베리파이와 구르다보니 어느 새 리눅스가 익숙해졌다. 이번에 어머니가 새로 노트북을 장만하면서 사용하지 않는 노트북이 내 손에 들어왔다. 언젠가 리눅스 계열 운영체제를 제대로 써보고 싶던 나는 그 구형 노트북에 여러 OS를 깔아 사용해보았다. 우분투부터 시작해서 데비안, 아치 리눅스까지 깔아 사용해봤다. 노트북 사양이 낮다보니 우분투 같이 비교적 무거운 OS는 사용하기 힘들었다. 그렇다고 아치를 쓰자니 그동안 데비안 기반인 라즈비안만 써왔던..
오징어 게임에 대한 스포일러가 포함되어 있습니다. 저번 글(https://altair823.com/5)에서는 화면에 보이는 시각적인 것들을 이야기 해보았습니다. 이번 글에서는 게임의 진행 과정에서 눈에 띄었던 것들을 이야기 해보겠습니다. 협력 저는 개인적으로 장덕수라는 캐릭터가 굉장히 많은 관심이 갔습니다. 어쩌면 조상우보다 더 성기훈과 대척점에 있는 사람이라고 느꼈습니다. 성기훈이 혼자 쓸쓸히 않아있는 오일남에게 손을 내밀 때 장덕수는 한미녀를 차갑게 내칩니다. 성기훈은 방어하는 그룹에 속하지만 장덕수는 약탈자 그룹에 속합니다. 그리고 가장 중요한 것은, 성기훈은 협력하고 장덕수는 협력하지 않는다는 것입니다. 장덕수가 그룹을 만든 것은 남을 약탈하기 위해서 입니다. 그리고 그들 사이에 신뢰는 존재하지 ..
학기 중에 미로를 저장하고 최단 경로를 탐색하는 과제가 있었다. 당시에는 스택까지만 배운 상태여서 배열에 미로를 저장하였다. 하지만 이번에 미로를 생성하는 알고리즘을 구현하면서 더 이용하기 편한 형태로 미로를 저장할 기회가 있었다. 바로 그래프의 형태로 구현하는 것이다. 이에 대하여 설명하고자 한다. 지나갈 수 있는 칸과 그렇지 않은 칸들로 이루어진 형태의 미로는 다루지 않겠다. 배열로 저장하기 인간이 바라보는 미로 자체에는 크게 복잡한 정보가 존재하지는 않는다. 단 두가지, 지나갈 수 있는 통로와 지나갈 수 없는 벽이 존재할 뿐이다. 칸을 모두 저장하면서 각 칸의 네 벽에 대한 정보를 저장하는 것은 분명 낭비가 있어보인다. 인접한 두 칸에서 저장한 정보가 겹치기 때문이다. 같은 값을 두 칸이 모두 저장..
연결 리스트는 간단하게는 선형 연결 리스트에서부터 복잡하게는 여러 트리까지 많은 곳에서 사용하는 자료 구조이다. C와 같은 로우레벨에서 자료들을 저장하고 삭제하는데 효과적이다. C에서 기본으로 제공하는 배열은 삽입과 삭제의 비용이 크지만 연결 리스트는 그렇지 않고 그 구조도 배열처럼 선형으로 구성하지 않고 다른 여러 방식으로 구성할 수 있다. 하지만 C에서 연결 리스트를 직접 구현해보면 치명적인 단점을 발견하게 되는데, 기본적인 선형 연결 리스트에서 특정 노드를 탐색하는 방법은 순차 탐색 밖에 없다는 것이다. 중간에 있는 노드들을 곧바로 접근하지 못하니 이진 탐색은 그 비용이 너무 크다. 이런 점을 극복하기 위해 선형 연결 리스트가 아닌 트리로 구조를 바꾸면 탐색이 훨씬 빨라지지만, 일단은 선형 연결 리..