수치해석을 모르면 푸틴이 미사일을 잘못 쏴요 우리 학교에는 학생들 사이에서 인기가 많은 교수님이 한 분 계신다. 강의 시간에 뜬금없거나 재밌는 이야기를 많이 해서, 호불호가 갈릴 지언정 취향에 맞는 사람들에게는 인기가 항상 높다(귀엽다는 평가가 많다). 교수님은 수치해석 강의 시간에 농담 삼아서 위 이야기를 자주 말하신다. 갑자기 뜬금없이 미사일 이야기가 나와서, 많은 학생들은 의아해하기도 한다. 갑자기 수치해석에 관한 수업에서 왜 미사일에 관한 이야기가 나오는가? 이를 알기 위해선 한 가지 역사적 사건을 꼭 알아야 한다. 패트리어트 미사일 격추 실패 사건 때는 1991년 2월 25일, 이라크 전쟁 시기. 지금도 그렇고, 미국은 동맹국 사우디 아라비아에 파병을 보낸 상태였다. 다란(Dhahran) 시에 ..
바쁜 비버 지난 학기에 논리회로 과목을 수강하던 중, 기말고사 시험 문제로 ‘바쁜 비버’에 대한 문제가 출제되었다. 바쁜 비버는 컴퓨터 과학에서 꽤 중요한 개념이다. 특징도 여러 가지 재미있는 게 많아서, 이에 대해 글을 써본다. 본 글의 목차는 다음과 같다. 바쁜 비버 게임을 소개한다. 바쁜 비버 함수와 최대 시프트 함수를 소개한다. 바쁜 비버 함수의 계산 불가능성을 증명한다. 최대 시프트 함수를 중심으로 성질과 하한을 찾아가는 과정을 다룬다. 이 과정에서 아커만 함수, ZF 공리계, 콜라츠 추측과의 연관 관계를 다룰 것이다. 바쁜 비버로부터 파생된 함수들을 다룬다. 바쁜 비버 게임 바쁜 비버 게임은 1962년 Tibor Radó의 논문 On Non-Computable Functions에서 처음 소개되..
부동 소수점의 성질과 연산, 그리고 FPU 이 글에서는 컴퓨터에서의 부동소수점을 저장하고 연산하는 법과 그 성질에 대해서 다루어볼 것이다. 또한 부동소수점을 처리하는 하드웨어인 FPU에 대해서 가볍게 소개하며, 어떻게 실수형 연산을 처리하는지를 알아볼 것이다. 각 목차의 내용은 다음과 같다. 부동소수점의 저장을 다룬다. 이 과정에서 수의 정규화와 비정규화에 대해 다룬다. 부동소수점의 성질을 다룬다. 이 과정에서 머신 엡실론과 실수의 분포를 다룬다. 부동소수점의 연산을 다룬다. FPU에 대해서 다룬다. 이 과정에서 Sparc 어셈블리어를 이용해서 어떻게 FPU를 활용하여 연산을 처리하는 지 알아본다. 💻 컴퓨터의 수의 표현과 부동 소수점 부동소수점의 표현 컴퓨터에서 숫자 체계는 크게 두 가지로 나뉜다. 정..
GDSC Hongik Devtalk #2 - 이더리움과 튜링 완전 본 글은 GDSC Hongik Devtalk 2회차 이더리움과 튜링 완전 발표 내용을 다시 정리한 글입니다. 22년 10월 31일, 그러니깐 이 글을 쓰는 시점을 기준으로 9개월 전에 발표한 내용을 다시 정리하고 있는 것인데요, 이전에 발표한 내용이라도 블로그에 한 번이라도 남기는 것도 좋고, 추억이기도 하고, 오랜만에 1학년 때 생각나서 적습니다. 이렇게 쓰고 보니 벌써 1년 가까이 되어 가네요 저 발표를 한 지가. 시간이 참 빠르다는 생각이 듭니다. 발표를 다시 들어보니 새내기 시절이여서 그런지 정말 긴장한 티가 팍팍 나네요. 발표의 주제는 이더리움과 튜링 완전입니다. 그리고 ‘비트코인과 이더리움의 비교를 중심으로’ 라는 부제가 달려 ..
최근 한 프로젝트를 완료하면서 이를 깃허브에 공개하였다. 공개를 하면서 처음으로 라이센스를 적용했는데, 은근히 헷갈리는 것들이 많았다. 이번 기회에 라이센스를 모두 정리해보려고 한다. 오픈소스 라이센스에 대한 배경 지식 라이센스의 필요성 오픈소스에서 라이센스는 매우 중요하다. 오픈소스에 기여하는데 있어서 라이센스가 없다면 오픈소스라고 보기 어려울 정도다. 사실, 소스 코드 역시 하나의 저작물이고 개인 혹은 법인의 창작물인만큼, 여타 저작물과 마찬가지로 저작권의 영향을 명시적으로 표기해주는 라이센스를 붙이는 것은 좋은 습관이다. 그렇다면 라이센스는 과연 무엇일까? 법리적인 해석을 들 수도 있지만, 개념은 간단하다. 가끔 블로그 글이나 SNS 게시물을 보다보면, 이런 내용이 담긴 글들을 가끔 볼 수 있었다...
개요 출처는 아는 학교 선배로부터이다. 내게 이 정보를 알려준 분의 깃허브를 링크하겠다. 상황에 따라 다르겠지만, 우리는 살면서 적어도 하나 이상의 논문을 읽게 될 확률이 높다. 특히 일하고자 하는 분야를 막론하고, 그 분야의 끝을 탐구하기 위해선 논문을 반드시 읽어야 할 것이다. 또한 논문은 그 끝을 탐구하지 않더라도, 해당 분야의 전체를 개괄적으로 보기 위한 목적에도 훌륭한 도구이다. 무엇이 됐든 논문은 읽을 수 있으면 편하다. 그런데 논문이라고 해서 막연히 어렵지 않은가? 논문이라고 해서 그냥 지루하지 않은가? 나도 논문이라고 하면 막연히 어렵고 지루한 것이라는 인식을 갖고 있었다. 그러다가 얼마 전 한 선배로부터 어떻게 논문을 읽어야 하는 지에 대해서 알게 됐는데, 그 내용이 매우 유익해서 이를 ..