부동소수점수는 작은 것 부터 연산하자

선요약: 부동소수점은 0에 멀어질 수록 정확도가 감소한다.  부동소수점수(Floating Point nuberm, 이하 FP)는 0에서 멀어질 수록 정확도가 감소한다. 매우 큰 FP에 매우 작은 FP를 더하면 위와 같이 수가 변화하지 않는 것을 볼 수 있다. 따라서 성능에 손해를 보더라도 매우 정확한 계산 결과를 원하는 경우 BigDecimal과 같은 특별한 클래스를 사용하는 것이 좋으며, 조금 신경쓰고 싶다면 절댓값이 […]

Bootstraping

수요일에 Programming Language 과목의 중간고사를 준비하면서 열심히 공부한 부트스트래핑이 시험에 나오지 않았기 때문에, 공부한 게 아까워 정리해서 올려봅니다. T-Diagram T-Diagram은 간단한 표기법입니다. Python으로 짜여진 Sort 프로그램, x86 위에서 돌아가는 Python 인터프리터, 그리고 x86 자체를 T-Diagram에서는 위와 같이 표기합니다. 인터프리터를 봤으니 컴파일러도 봐야겠죠? x86에서 C 코드를 x86 어셈블리로 바꿔주는 컴파일러는 위와 같이 표기합니다. x86에서 C 코드를 […]

나의 할 일 & 메모 처리 방법

제가 사용하는 툴은 OmniFocus, OneNote, IFTTT, SimpleNote, Pocket, Notion입니다. OmniFocus, Onenote, IFTTT는 ToDo를 처리하는 데에 이용하며, IFTTT는 약간의, 진짜 아주 약간의 도움만을 주는 수준. 나머지 툴들로는 메모를 처리합니다. To Do 1. OneNote 아이패드에 애플펜슬로 연 계획, 분기 계획, 월 계획, 주 계획을 끄적입니다. 계획 말고도 아이패드로 뭔가를 끄적끄적 거릴 때도 OneNote를 사용합니다. 특히 위아래로 빈 […]

블로그 복구 후기

20일부터 25일까지 블로그가 터졌다는 걸 뒤늦게 확인 알게된 것은 월요일(25일), 블로그를 들어가려고 하니 빈 화면만 출력되는 상황 서버가 에러를 내거나, 그런건 아니고 HTTP Response 정상적으로 뜨니 WordPress UpDown Bot이 메일도 안 보내줬던 상황으로 추정 이 때까지만 해도 언제부터 서버가 내려갔는지 모르는 상황이라, 대충 짐작해보면 docker로 outline이라는 VPN을 깔았을 떄 부터가 아닌가.,, WordPress 또한 docker로 돌아가고 […]

Introduction to LLVM (3)

12. Static Single Assignment (SSA) Form 어디서 어떤 변수가 선언/사용되고 있는지 추척하는 것이 최적화의 주된 질문 중 하나. 위와 같은 상황에서는 if를 전후로 x의 역할이 바뀐다. Line 1의 x와 Line 7의 x는 전혀 연관이 없다. 이런 경우에는 두 변수를 구분해줘야 LLVM이 변수의 선언/사용을 추적하는 게 더 쉽지 않을까? 극단적인 상황을 가정해보자. 하나의 int 변수로 서로 […]