목록전체 글 (59)
altair의 프로젝트 일기

1. 배경 또 지겨운 여름이 시작되었다. 추우면 이불 속으로 들어가 숨기라도 하겠지만 이렇게 더운 날에는 피할 방도가 없다. 강렬한 태양신의 눈에는 누구도 벗어날 수 없는 모양이다. 녹은 아이스크림처럼 방바닥에 누워 어서 빨리 밤이 찾아와 숨 돌릴 수 있게 되기를 기다리고 있었다. 그러다가 보일러 패널이 눈에 들어왔다. 보일러 패널에는 항상 숫자가 하나 출력된다. 바로 현재 방의 기온이다. 요즘 같은 날에는 30도 밑을 볼 새가 없지만, 추운 겨울이 오면 21, 20, 심지어 17까지 내려가기도 한다. 그 날 내 눈에 보였던 온도는 30도였다. 도저히 믿기지 않았다. 이렇게 숨이 턱턱 막힐 정도로 더운데 30도 밖에 안된다고? 생각해보니 겨울에도 이런 일이 자주 있었다. 이불 속에 들어가 전기장판을 세게..
가끔 아카이빙 했던 사진들을 둘러보곤 한다. 그리운 옛날 생각도 나고 그때 기분도 다시 느낄 수 있었다. 그러다 어느 날 모든 사진들의 용량을 살펴봤다. 80기가가 넘는 용량이었다. 평소라면 별생각 없이 넘겼겠지만, 그때는 뭔가 과하다는 생각이 들었다. 모든 사진 스캔본이 png 파일로 저장되어 있는 것이 아닌가? 내가 배운 것이 맞다면 png 포맷은 무손실 압축 포맷이라 화질이 좋지만 비교적 용량이 크다. 실제로 일기 스캔본을 확대해보니 흑연이 종이에 뭍은 모습까지 보였다. 어떤 사진은 해상도보다 내용이 중요한 사진들이 있다. '얼마나 많은 머리카락이 보이느냐'보다 '그 사진에 누가 어떤 모습으로 나와있나'가 더 중요한 사진들 말이다. 모임에서 친구들과 찍은 사진이나 일기 스캔본은 어느 정도 이상의 화..

1. 라즈베리 파이 피코 (Raspberry Pi Pico) Buy a Raspberry Pi Pico – Raspberry Pi The new, flexible $4 microcontroller board from Raspberry Pi www.raspberrypi.com 라즈베리 파이 피코는 라즈베리 파이 재단에서 출시한 마이크로 컨트롤러 보드이다. 기존 라즈베리 파이 4B와 같은 제품은 리눅스를 설치하고 그 위에 Docker나 OpenMediaVault 등을 실행할 수 있었다. 마인크래프트 서버를 구동하여 친구들과 같이 사용하기도 했고, mariaDB와 nginx를 설치해 웹 사이트를 올릴 수도 있었다. 하지만 라즈베리 파이 피코는 그런 종류의 컴퓨터가 아니다. 구체적인 사양을 보면 알겠지만 133..

1. 개요 저번 글에서는 튜링이 자신의 논문에서 제시한 비정형 기계를 이야기했다. 이번 글에서는 그 비정형 기계의 Unit(이하 소자)과 Edge(이하 간선)를 갖고, 역시 튜링이 제시한 기초적인 유전 알고리즘을 테스트한 결과를 보이려한다. 유전 알고리즘은 자연에서 흔히 볼 수 있는 자연선택을 모방하여 더 나은 결과를 얻어내기 위한 알고리즘이다. 여러 개체를 생성하고 그들을 특정 방식으로 선택한 뒤, 교배와 변이를 통한 다음 세대를 만들어내는 과정을 통해 결국 환경에 가장 적합한 개체를 얻어내는 방식으로 작동한다. 즉, 유전 알고리즘은 기본적으로 선택, 교차, 변이, 대치와 같은 연산을 포함하는 것이다. 이번 프로젝트에서는 충분히 복잡한 비정형 기계를 여러 개 생성한 다음 이들로 하여금 유전 알고리즘으로..

1. 튜링 학기 중에 오토마타 과목을 들으며 튜링 머신에 대해 배웠다. 과목 자체는 컴퓨터 과목이라기보다 수학 같았다. 하지만 과목에 대한 이야기보다, 튜링 머신과 튜링에 대해 더 많은 관심이 갔다는 점을 밝히고 싶다. 그래서 종강하자마자 튜링의 논문들을 번역한 책 "지능에 관하여"를 사서 읽어보았다. 책에는 다음과 같은 다섯 편의 논문 또는 강연이 수록되어 있었다. 1. 지능을 가진 기계 Intelligent Machinery (1948년) 2. 계산 기계와 지능 Computing Machinery and Intelligence (1950년) 3. 지능을 가진 기계라는 이단적 이론 Intelligent Machinery, a Heretical Theory (1951년경) 4. 디지털 컴퓨터가 생각할 수..
파이썬으로 WordFinder 프로젝트를 진행하면서 매 버전마다 윈도우 실행파일을 만들기 위해서 다음과 같은 과정을 거쳤다. 맥북에서 코드를 작성하고 이를 깃허브에 푸쉬한다. 윈도우 데스크탑에서 깃허브에 접속해 전체 코드를 내려받는다. main.py를 실행해 정상 작동하는지 체크한다. 정상적으로 작동한다면 pyinstaller를 실행하여 .exe 파일을 생성한다. .exe파일을 실행해 정상 작동하는지 체크한다. 정상적으로 작동한다면 .exe 파일을 압축한다. 압축한 파일을 NAS에 FTP로 올린다. FTP서버에서 버전 파일을 수정한다. 사용자 입장에서는 업데이트 버튼만 누르면 알아서 업데이트가 진행되겠지만 개발자 입장에서는 최종 빌드 결과물을 사용자에게 전달하기까지 이렇게 복잡한 과정을 거쳐야 했다. 간..