나의 올타임 베스트 10 영화들
1922년부터 매 10년마다 Sight & Sound지에서는 전 세계 영화인들에게 10편의 영화를 추천받아서 Greatest Films of All Time 리스트를 만든다. 나라면 어떤 영화를 출품했을지 궁금해서, 나의 올타임 베스트 10편을 뽑아봤다. [...]
Go로 알고리즘 문제 풀기
요즘 다시 백준에 취미를 붙이면서 내가 좋아하는 언어 중 하나인 Go로 문제를 풀고 있다. 항상 파이썬과 C++ 그 어디 사이에 있는 언어를 원했는데, Go가 딱 그 빈 자리를 채워주는 느낌이다. 이 글에서는 Go로 PS 문제를 푸는데 유용한 여러 팁과 스니펫을 정리하고자 한다. [...]
MIT 졸업생 95%가 못 푼다는 문제 풀기
인터넷에서 어그로를 열심히 끌던 다음 문제를 기억하는 사람이 있을 것이다. 국내 인터넷에는 MIT 졸업생 95%가 못 푸는 문제라는 이름으로 돌아다니는 것 같다. 나무위키에도 잘 설명이 되어 있듯이, 이 문제는 전형적인 디오판토스 문제이다. [...]
다항 근사, 체비셰프 정리와 레메즈 알고리즘
이 글에서 다룰 문제는 아주 간단하다. 임의의 연속 함수를 어떻게 하면 다항식으로 “잘” 근사할 수 있을까? 애초에, “잘” 근사한다는 것은 무엇일까? 문제를 조금 더 엄밀하게 써 보자. [...]
kramdown에서의 KaTeX 서버 측 렌더링 구현기
얼마 전 블로그를 새로 개발했다. 원래는 Pixyll 테마를 적당히 수정해서 쓰고 있었는데, HTML과 CSS를 더 배우고 싶기도 했고, 나만의 공간을 직접 꾸며보고 싶다는 생각에 밑바닥부터 다시 개발한 것이다. [...]
애플 실리콘용 sage와 pwntools 설치 에러 해결
TL;DR pip install unicorn pip install pwntools conda install sage 순으로 하면 된다. CTF에서 crypto 문제를 풀 때, 수학 계산을 위해선 보통 sage를 쓰고, 소켓 통신을 위해선 pwntools를 쓴다. 나 같은 경우에는 conda 환경을 만들어서 사용하는데, 애플 실리콘이 들어간 맥을 사용하고부터는 두 개를 함께 설치하려고 하니 문제가 생겼다. [...]
LLL 알고리즘으로 정수 문제 풀기
Integer Problems 정수 문제는 일반적으로 아주 어렵다. 그렇기 때문에 수학자들은 아주 오래 전부터 정수 문제를 풀기 위한 방법을 고안해냈다. 예를 들어서, 다음의 아주 일반적인 문제를 살펴보자. [...]
고도 엔진에서 yield 사용하기
코루틴 (Coroutine) 코루틴이란, 함수의 실행을 잠시 일시 정지시켰다가 재개할 수 있는 기능이다. Python을 쓰던 사람이라면, generator의 개념에 익숙할 텐데, 제너레이터가 바로 코루틴의 일종이다. Godot 3에서는 yield 키워드를 통해 코루틴을 사용할 수 있다. [...]