(see also: https://xkcd.com/2083/)
Bubbler
@bubbler@hackers.pub · 2 following · 17 followers
코딩과 개발을 거의 취미로 하는 사람입니다. 다양한 기술을 접하고 찍어먹어 보는 것을 좋아하고, 또한 퍼즐이나 어려운 프로그래밍 문제를 깊이 고민하여 해결하는 것을 즐깁니다.
GitHub
- @Bubbler-4
Stack Exchange
- stackexchange.com/users/5831620/bubbler
debugging a diff is a hell of a trip because you get to look at a diff between your diff and their diff
your mileage may diff..
NP-complete reduction을 다룬 논문을 보면 뜬금없는 building block들을 제시한 다음 이걸로 뚝딱뚝딱 하면 된다!로 끝나는 경우가 많은데, 그런 building block들을 찾아낸 사람은 사람이 아닌 것 같다는 생각이 든다. 문제는 이런 논문이 세상에 xyzw개쯤 있다는 것이다.
굉장히 오랜만에 들어와서 쓰는 근황입니다.
- TIS-100의 모든 레벨을 클리어했습니다. 다음 목표는 아마 Opus Magnum 아니면 A=B가 될 것 같습니다.
- 올해 여름부터 지금까지 7문제를 백준에 출제했습니다. 여기의 맨 아래에서 보실 수 있습니다. 개인적으로 가장 재밌었던 문제는 SWAP-C Sort인데 그만큼 어렵습니다.
- 웹 기반으로 뭔가 만들 게 생겨서 프레임워크를 알아보다가 Solid를 써보기로 결정했습니다. 웹 UI는 Flowbite, 그래픽 요소는 Konva를 쓰게 될 것 같습니다.
- 그런데 이쪽을 첫삽을 뜨기도 전에 갑자기 굉장히 어려운 퍼즐틱한 문제 하나의 풀이가 완성되어서(....) 논문(?!)을 하나 쓰기 시작했습니다. 이런 거 받아주는 저널 어디 없을까요(????)
@bubbler 혹시 LLM 옵션을 체크하셨나요?
@kodingwarriorJaeyeol Lee LLM 번역?이라고 되어있던 거는 체크하긴 했어요
아까 쓴 글이 메인에 뜰 때 나오는 AI 요약을 지금 봤는데, 퍼즐 풀이를 스포해 버리는군요 이런..
퍼즐: 1번 칸에 말 올려! 2번 칸에서 말 내려!
Bubbler @bubbler@hackers.pub
이 글은 1부터 20까지 번호가 매겨진 게임판에서 특정 규칙에 따라 말을 움직여 모든 칸에 말을 채우는 퍼즐 문제를 소개합니다. 핵심은 $k$번 칸에 말을 올리기 위해 필요한 최소 동작 횟수가 $2^{k-1}$임을 밝히는 것입니다. 이를 통해 20번 칸까지 말을 채우는 데 필요한 총 동작 횟수를 계산하는 방법을 설명합니다. 이 퍼즐은 BOJ 29225 문제에서 아이디어를 얻었으며, 문제 해결 과정에서 발견되는 패턴과 논리적 추론이 흥미로운 인사이트를 제공합니다.
Read more →메뉴 이름: 순살감자탕 식당 안내문: 작은 뼈가 들어있을 수 있어요 실제 음식: 손가락 마디만한 뼈가 나옴 ....
최근 한 달 동안 분석한 이슈의 결론이 물리 세계 때문이라는 결론이 나기 직전입니다. 측정값이 예상보다 오차가 훨씬 크게 날 수 있다 + 랜덤 생성기가 사실 충분히 랜덤이 아니었다의 환장의 콜라보... 모든 것이 예상 가능하게 돌아가는 컴퓨터 세상에서 살고 싶어요... 🤬🤬
@bubbler 문서를 읽어보인 jj에서 브랜치는 git에서와 같이 끝점이 하나인거 같은데 맞을까요? darcs와 같이 브랜치에 '시작' 리비전도 있는 경우와 비교해서 질문드렸습니다.
@bglbgl gwyng 네, git 브랜치의 head 포인터가 jj의 bookmark라고 보시면 됩니다. 애초에 연속된 커밋의 묶음으로서의 브랜치 개념이 아니기 때문에 시작 리비전 같은 개념이 존재할 수 없다고 보는 게 맞을 거 같아요.
어제부터 Jujutsu라는 버전 관리 시스템을 써보고 있습니다. git의 branch는 연속적인 단일 작업을 표현하는 느낌이 강하게 드는데 사실 그저 어느 commit을 가리키는 포인터일 뿐이라는 걸 느끼게 해주네요. Jujutsu에서는 같은 커밋에서 다음 커밋을 여러 개 만들면 그게 브랜치이고, 여러 커밋을 parent로 하는 커밋을 하나 만들면 그게 머지이고, 수정이 다 끝나면 그냥 원하는 브랜치 이름의 포인터를 적절히 옮기면 됩니다. 부분 변경을 커밋 간에 자유롭게 옮길 수 있는 것까지 합치면 재미있는 사용 방법이 많이 있을 것 같습니다. 특히 megamerge workflow를 쓰면 git 쓰다가 생겼던 "지금 하는 작업을 끝내야 다음 변경사항을 작업"하는 강박이 해소될 것 같아 기대가 많이 됩니다.
프로그래밍을 할 줄 아는 그냥 회사원입니다. 대부분의 코딩과 개발은 취미로 합니다. 언어는 Rust 좋아하는데 주로 취미 개발용으로 쓰고, 회사에서는 Python과 C/C++만 씁니다. 요즘은 Zig를 찍먹해보려고 노력하고 있고, 그 외에 Haskell, Lean, APL, Picat 등등을 조금 다룰 수 있습니다. (이 글을 보시는 분들 중 뒤의 두 개를 다 아시는 분은 0명일거라고 감히 짐작해 봅니다.) 언어 외의 기술 중에는 combinatorial optimization이 현재 최대 관심사입니다.
퍼즐이나 PS(Problem solving, 프로그래밍 문제해결) 등 머리를 깊게 써서 문제를 해결하는 것을 좋아하고, 그만큼 문제를 만드는 것도 좋아합니다. 백준 온라인 저지에서 5000+ 문제를 풀고 50+ 문제를 출제하였고, 요즘은 거의 활동하지 않지만 Project Euler에도 299번 문제를 출제하였습니다.
