Recent Blog Posts¶
Following is a list of most recent 20 posts, sorted by updated date and created date.
THO 14. Intelligence at the Different Complexity¶
요즘 인공지능의 발전속도가 정말 어마무시합니다. 신경망 모델이 개발된 이래, 바둑 인공지능 AlphaGo, 단백질 구조 예측모델 AlphaFold, 자연스러운 챗봇 ChatGPT, 이미지/동영상 생성모델 Stable Diffusion, 작곡 인공지능 Suno 등의 다양한 모델들이 최근 10년 동안 어마무시하게 쏟아져나오고 발전했습니다.
저는 이러한 인공지능 기술들이 무시무시하게 빠르게 발전하는 것을 보면서 여러 생각을 개인적으로 해왔는데, 이번 기회에 그것들을 블로그에 글로 정리해보고자 합니다.
Disclaimer
저는 인공지능 전문가가 아닙니다. 그래서 제 글의 여러 디테일들에 틀린 부분이 있을 수 있습니다.
ALDS 4. My Codeforces Problemsetting Experiences¶
Migrated
This article is migrated from which I wrote on another website.
안녕하세요. 이 시리즈에서는 저의 생각과 관련된 글을 적어보고자 합니다. 이번 글은 Codeforces라는 프로그래밍 대회 플랫폼에서 대회 출제를 몇 번 해본 경험을 소개하고자 합니다.
ALDS 6. Concatenation Equality Problem¶
안녕하세요. 이번 게시글에서는 Github 갤러리 2025년 신년맞이 문제를 알고리즘적으로 해결하는 방법에 대해 서술해보고자 합니다. 알고리즘을 놓은 지는 꽤 오래 되어서, 오랜만의 각 잡고 문제를 푸는 과정이 재밌게 느껴졌네요.
RUST 3. Some Hurdles on Converting Python Codes into Rust Codes¶
우연히 제가 있던 어떤 퀀트 관련 오픈톡방에서 Python 코드를 Rust 코드로 로직을 유지하면서 언어를 변환하는 문제에 관한 질문이 나왔습니다. Python과 Rust는 여러 관점(typing 등)에서 봤을 때 양쪽 극단에 있는 언어이고 실제로 내부 구조도 많은 차이가 납니다. Python 코드를 Rust 코드로 변환하는 것은 두 언어의 차이점 때문에 그렇게 만만하게 볼 문제가 아니라고 생각합니다. 자세히 서술해보겠습니다.
PY 3. API Rate Limiter¶
안녕하세요. 이번 글에서는 API Limiter에 대해서 다뤄보려고 합니다. Python에 특화된 주제는 아닌데, 그냥 구현을 Python으로 하다보니 Python 시리즈에 글을 쓰게 되었습니다. 만약 나중에 이 글을 넣기 적합한 다른 시리즈가 나온다면 그쪽으로 글을 옮길 수도 있습니다.
RUST 2. Type Hints for Async Closures¶
최근에 자동매매 프로그램을 Rust로 코딩해보면서 몇몇 점들에 부딪혔었는데, 그 삽질 과정을 블로그에 남겨보고자 합니다. 바로 직전에 잠깐 있었던 회사에서 Rust로 코딩했을 때도 있었던 문제였으며(그 회사는 당시 legacy platform에서 이 문제를 피하기 위해 naive한 디자인을 선택했습니다), 굳이 퀀트가 아니더라도 Rust로 서로 다른 네트워킹 프로토콜을 한 컨테이너에 보유하는 것을 런타임에 가능하게 하고자 하는 모든 분들이 아마 어떤 식으로든 마주했을 문제라고 생각합니다.
Info
지금 자동매매 프로그램을 짜는 것은 진지하게 트레이딩을 해보자는 것보다는 개발에 대한 감을 잃지 않고 유지하고자 하는 것에 더 가깝습니다. 만약 자동매매 프로그램을 계속 오랫동안 짜게 될 경우, 이러한 글들을 위한 "QUANT" 시리즈를 따로 만들고 그런 글들을 해당 시리즈에 넣을 가능성이 있습니다.
ALDS 1. Sparse Table¶
Migrated
This article is migrated from which I wrote on another website.
안녕하세요. 이번 시리즈에서는 유용한 알고리즘과 자료구조를 몇 가지 다루어보고자 합니다. 이 시리즈의 첫 번째 타겟으로는 Sparse Table을 다뤄보겠습니다.
이 포스팅은 cp-algorithms를 참고하였음을 알려드립니다.
POKER 7. After Reaching 10k USD of Cumulative Prizes¶
Migrated
This article is migrated from which I wrote on another website.
안녕하세요. 이번 글에서는 제가 키우는 고양이가 전 세계 트래픽 1위의 온라인 포커룸에서 순수 토너먼트로만 누적 상금 1만 달러 이상을 따낸 기념으로 회고를 써보고자 합니다.
Disclaimer
아래의 모든 업적들은 제가 아니라 제가 키우는 고양이가 이루어낸 것들이지만, 편의상 제가 직접 한 것처럼 1인칭으로 줄여서 서술하겠습니다.
POKER 6. Nippon Series 2024 Fukuoka Review¶
Migrated
This article is migrated from which I wrote on another website.
안녕하세요. 이번 글에서는 제가 최근에 해외 토너먼트 Nippon Series와 Fukuoka Super Tournament를 참가한 후기를 써보고자 합니다. 저번에 JOPT를 다녀온 후, 일본에서 바이인이 엄청 저렴한 대회가 또 열리는 걸 알게 되어서 여행을 겸해서 후쿠오카에 다녀오게 되었습니다.
POKER 5. Martingale Betting System is a Trash¶
안녕하세요. 이번 글에서는 마틴게일 베팅 시스템에 대해 이야기를 하고자 합니다.
마틴게일은 "포커"에서 사용할만한 방식은 아니지만, 포커를 하는 사람들이 카지노에서 다른 도박을 건드리거나 혹은 퀀트를 하는 과정에서 마틴게일 베팅 시스템을 맹신하고 사용하는 것을 종종 봤습니다. 하지만 마틴게일 베팅 시스템은 베팅 금액을 매니징하는 정말 안 좋은 방법론입니다. 지금부터 그 이유를 천천히 살펴볼 것입니다.
THO 13. The Social Network Charges on Your Every Activity¶
아직 그렇게 돈을 많이 벌지도 않았지만, 저는 평소에 "돈을 많이 벌면 무엇을 해보는 것이 좋을까?" 하는 상상을 많이 합니다. 여기에는 여러 이유들이 있지만, 가장 큰 이유는 최근 일본여행에서 제 인생에서 돈을 가장 빠르게 많이 썼는데도 그 액수에 비례해 즐거움이 커지지 않았기 때문이었습니다. (아직까지는 돈을 많이 벌면 "그래도 재밌게 할 만한 무언가가 생기겠지" 같은 막연한 기대를 가지고 있지만, 그 기대감이 많이 작아지긴 했습니다.)
그러다가 최근 유투브 덧글 홍보, 주식 관련 문자 등을 비롯한 스팸들을 보면서 문득 스팸을 방지하기 위해서는 어떤 것들이 가장 효과적일까 생각을 해봤습니다. 그 과정에서 저는 사용자의 모든 활동에 "비용 청구"가 되는 SNS 혹은 커뮤니티를 상상해보았습니다. 이 글에서는 해당 SNS에 대해 다뤄보고자 합니다.
CPP 4. My Recent CPP Interviews¶
Migrated
This article is migrated from which I wrote on another website.
이번에는 조금 실무적인 글을 써볼까 합니다. C++, 로우레벨 CS지식에 관련한 티키타카 목록입니다. 어차피 불합격해서 물건너간 회사들이고, 회사 여러 군데에서 테크니컬 인터뷰를 보고 받은 질문들을 기억나는대로 일부 선정해서 최대한 문제가 안 되는 선에서 무작위로 섞어서(=회사 범위 희석) 써보고자 합니다.
THO 12. The Benefits of Good Universities¶
최근에 디스코드에서 알게 된 게임 인맥들과 자주 음성 통화를 했었는데, 그 사람들과 인생에 관한 이런저런 이야기를 하다가 좋은 대학을 가면 얻는 장점들에 대해서 글을 써보고 싶어졌습니다.
Disclaimer
무조건 좋은 대학을 향해야 한다는 것이 아닙니다. 좋은 대학을 나왔다고 해서 그 사람이 무조건 능력자라는 것도 아닙니다.
좋은 학벌을 얻는 것과 성공하는 것에는 양의 상관관계가 있을 지 몰라도, 그것이 무조건적으로 정비례하지는 않습니다. 본인이 생각하는 다른 좋은 진로 설계가 있다면 그걸 따라가도 됩니다. 애초에 저는 당신의 인생의 방향을 강요할 권한이 없습니다.
그리고 저는 이런 학벌주의 현상이 바람직하다고 말하는 것도 아닙니다. 그냥 현실이 그렇다는 겁니다. 호랑이가 아프리카 평원에 조난된 사람들을 잡아먹는 것이 바람직하지 않은 불쾌한 이야기로 들릴 수 있지만, 그런 현상이 가능하다는 것을 말하는 것 자체는 완전히 별개인 것과 같은 맥락입니다.
대한민국에서 학벌 얘기는 아주 민감한 주제이기에 이 경고문을 서두에 써둡니다. 학벌에 관련해서 뭔가 이야기를 하는 것 자체가 불쾌하시다면, 그냥 뒤로가기를 눌러주세요.
기왕이면 왜 네임밸류가 좋은 대학에 가는 것이 좋을까요? 제가 생각하기에 그 이유는 정말 너무 많습니다. 지금부터 알아봅시다.
RUST 1. Rust's Disadvantages in My Opinion¶
안녕하세요. 이번 시리즈에서는 Rust에 관한 이것저것을 다루고자 합니다. 시리즈의 첫 글로는 좀 민망한 주제일 수 있지만, 제가 생각하는 러스트의 단점에 대해 얘기해보고자 합니다.
Rust 관련 커뮤니티를 돌아다니다보면 Rust가 모든 방면에서 만능인 언어라고 생각하는 사람이 많습니다. 어떤 국내 카톡방에서는 Rust가 대한민국에서 개발자 취업을 하는 빠른 길이라고 주장하시는 분도 계셨고.. 최근 회사에서는 회사의 모든 스택들.. Rust가 생산성이 좋기 때문에 심지어 프론트엔드까지 Rust로 만들어야 한다고 주장하는 인턴분도 계셨습니다.
정작 그런 분들하고 자세히 Rust를 얘기하다보면 Rust로 개발하는 과정에서 나타나는 병목들을 잘 모르시더군요. 저라고 뭐 만능 프로그래머는 아니지만, Rust로 개발하다가 불편함이 느껴진 부분이 종종 있었습니다. 이 글에서는 그런 부분들에 대해서 소개하고자 합니다.
Warning
미래에 가끔 또 생각나는 단점들이 있으면 글을 업데이트할 수 있습니다.
ALDS 2. Some Bad CP Code Practices¶
Migrated
This article is migrated from which I wrote on another website.
ICPC 2020 Seoul Regional에서 수상하고 CF Round 633을 주최한 이후, 저는 알고리즘 문제를 거의 풀지 않게 되었습니다. 이후로 퀀트업계에 종사하면서 이런저런 코딩을 많이 하게 되었는데, 그 과정에서 이런저런 개발을 하게 되었습니다. 이번에는 알고리즘 대회나 코딩테스트 등에서 나타나는 안 좋은 코드 습관들에 대해 얘기해보고자 합니다. 그 전에, 이 글이 타겟팅하는 독자는 다음과 같습니다.
- 개발을 직업으로 하고 싶은 사람
- 알고리즘 문제풀이와 개발 사이에서 코드 스타일이나 컨벤션, 마인드셋 등을 크게 바꾸고 싶지 않은 사람
당신이 알고리즘 문제를 푸는데 작성하는 코드가 더러워진다고 상관없다고 생각하는 사람이라면, 저는 그 생각에 별로 관여하고 싶지 않으며 그 생각을 존중합니다. 당신이 그런 코딩 스타일을 실제 현업에서 똑같이 해도 문제가 없다고 생각하지만 않는다면요.
그럼 이제 본격적으로 알아봅시다.
References
이 글은 nor의 덧글을 통해 내용이 보강되었습니다.
THO 11. The World Administrator¶
인류가 생겨난 이래, 인류의 집단의 규모와 그 우두머리가 가지는 힘의 크기는 서서히 증가해왔습니다.
과거에는 마을 사람들 몇 십명 정도가 합심하면 부족장을 몰아내고 새로운 우두머리를 추출해낼 수 있었고, 중세 ~ 근대 시대에 물리적인 다툼으로 권력자를 끌어내리는 일은 굉장히 어려운 일이었습니다. 그런 게 실제로 일어난 프랑스 혁명은 매우 이례적인 일이었고, 역사에 크게 기록되었습니다. 현대 시대에 평화적인 비폭력 시위 이외의 방법으로 시민이 권력자를 교체시키는 것은 사실상 불가능합니다.
저는 미래에는 이러한 경향성이 더욱 심해질 것이라 생각합니다. 이번 게시글에서는 이러한 내용에 관하여 작성해보려고 합니다.
THO 10. Importance of Quality of Hiring Process¶
제가 구직 기간 동안 여러 회사들의 채용 프로세스를 거치면서 느낀 점이 하나 있습니다. 어떤 조직이 사람을 채용하는 프로세스의 퀄리티와 그 조직 자체의 퀄리티 사이에는 양의 상관관계가 있다는 것입니다.
이번 글에서는 이에 대해서 자세히 얘기해보고자 합니다.
THO 6. What Every Korean Should Know About Military¶
제 주변의 한국 남성들은 저를 포함한 거의 대부분이 군대 문제를 해결했습니다. 제가 군대를 아직 다녀오지 않은 사람들하고 대화할 때 자주 하는 말들을, 문제가 되지 않는 선에서 적당히 필터링하여 이 글에도 쓰고자 합니다.
글의 제목은 What Every Programmer Should Know About Memory의 패러디입니다. 정작 이 글은 별로 많은 정보를 담고 있지는 않네요..
POKER 4. JOPT 2024 Grand Final Review¶
안녕하세요. 이번 글에서는 제가 최근에 해외 토너먼트 JOPT를 참가한 후기를 써보고자 합니다. 일본에서 여행 겸 포커를 하면서 정말 많은 것들을 느꼈고, 그 점들을 글로 전달하고 싶었습니다.
ALDS 3. About Ad-hoc Problems¶
애드혹 문제란, 일반적인 방법으로 잘 풀리지 않고 참신한 방식으로 접근해야 풀릴 수 있는 부류의 문제를 말합니다. 좋은 애드혹 문제는 푸는 것은 물론이고 만드는 것 또한 매우 어렵습니다. 이번 게시글에서는 애드혹 문제들에 대한 저의 생각을 써보고자 합니다.