@joonnotnotJoon tsc로부터 자유로워지시면 어떡해요ㅠㅠㅠ
notJoon
@joonnot@hackers.pub · 70 following · 84 followers
Uncertified Quasi-pseudo dev
@2chanhaeng초무 자유는 쟁취하는 것이니까요
책 샀음. 공부의 목적이라기 보단 존재하길래 샀다.
라이프타임의 추론에 대해서 정리를 하고 walkthrough를 작성해봐야겠다
@joonnotnotJoon any를 쭊입시다 any는 나에원쑤
@2chanhaeng초무 ts-ignore을 하니 자유로워졌어요
로컬 LLM용 GPU 클러스터를 만들고 싶어짐. 이유는 낭만있어보여서
오늘은 any 타입과 싸웠다
졌음
오늘은 any 타입과 싸웠다
@joonnotnotJoon 저도 저장소에는 기계적으로 재생성 가능한 데이터는 담지 않는 게 이상적이라고 생각해서 별로라고 생각합니다. 사실 그래서 로크파일(lockfile)도 처음에는 좀 거부감이 들었었어요.
@hongminhee洪 民憙 (Hong Minhee) 파일들을 쌓아두다 보니까 관리가 잘 안되는 느낌도 있는 것 같아요. 이건 조만간 한번 회사 쪽에 얘기를 해봐야겠습니다
회사의 다른 레포들 보고 있는데 zero install 방식을 사용하고 있는 곳이 보인다. 근데 아무리봐도 캐시에다가 패키지 파일을 쌓아두는게 썩 좋은 방법 같아보이지는 않는데 내가 모르는 뭔가가 있는건가
러스트의 ICE 관련 이슈는 파보면 확실히 난이도가 높다. 이번에 본건 조기 종료 때문에 에러가 전파되지 않는 것이 문제인 줄 알았는데, Higher-Rank Trait Bound와 concrete 타입 간의 불일치를 처리하지 못해서 equality 검사를 하기 직전에 뻗는 것이였음.
<최초의 역사 수메르>라는 책을 읽고 있는데 두께에 비해 난이도 쉬워서 금방 읽게된다. 근래 읽은 것 중에서 가장 재밌음.
또 글쓰다가 막바지에 힘빠져서 날림으로 씀
Par 언어 테스트 프레임워크 구현 -- Iterative Box Choice 패턴 적용
notJoon @joonnot@hackers.pub
Par 언어에 테스트 프레임워크를 구현하면서 `box choice` 타입의 소비 동작으로 인해 하나의 테스트 함수에서 여러 assertion을 처리하는 데 어려움을 겪었습니다. 기존 `box choice` 타입은 값을 한 번 사용하면 소비되어 재사용이 불가능했기 때문입니다. 이를 해결하기 위해 `iterative box choice` 타입을 도입하여 반복적인 사용이 가능하도록 개선했습니다. `iterative box choice` 타입은 `iterative`, `box`, `choice` 타입들을 조합하여 여러 번 사용 가능하고, 메서드 선택을 제공하며, 외부 구현과 연동할 수 있는 장점을 제공합니다. 새로운 타입 구조에 맞춰 테스트 실행 함수를 재귀적으로 수정하여 메서드 체이닝 방식과 순차적 명령문 방식 모두를 지원할 수 있게 되었습니다. 이로써 Par 언어는 더욱 유연하고 강력한 테스트 환경을 제공할 수 있게 되었습니다.
Read more →
@kodingwarriorJaeyeol Lee 근데 브런치만 미리보기 링크에 undefined가 추가되네요. 나머지는 괜찮은듯요
https://brunch.co.kr/@<user_id>/2#:~: // 일반적인 링크
https://brunch.co.kr/@<user_id>/undefined/@<user_id>/2#:~:text // 미리보기 링크
미리보기 이미지를 클릭하면 404가 뜨는데 링크를 클릭하면 잘 표시가 된다. 이슈 생성하러 가야지
블로깅의 쇠퇴, AI의 끝없는 학습, 비공개 플랫폼(Discord 등)으로의 이주, 짧고 중독성만을 강조하는 피드와 BM, 한 번 보면 다시 찾기도 힘든 SNS 포스트, 범람하는 가짜뉴스와 개소리와 혐오... 웹은 정보의 망망대해도 아닌 소행성대로 변해가고 있다.
Hacker’s Pub/Sub
관련은 없지만 뭔가 특정 주제에 대해서 자유롭게 만나고 나눌 수 있는 환경이 더 확대되면 좋겠다
오늘도 CI와 싸웠다
https://github.com/rust-lang/rust/pull/145602 오늘의 기여
r#"test"#suffix 같이 raw 문자열 리터럴에 유효하지 않은 접미사가 있을 때, 적절한 오류 메시지를 출력하지 못하는 문제를 수정했다. 이것저것 테스트 해본 결과 접미사 바로 뒤에 다른 토큰이 따라오는 경우에만 이 현상이 발생했다.
처음에는 렉서 단에서 유효하지 않은 접미사가 있는지 감지하도록 했지만, LitKind::from_token_lit에서도 접미사를 검사하고 있어서 중복으로 오류 메시지가 생성되는 문제가 발생했고, 추가로 attribute를 파싱할 때 시원하게 다 터지는 문제가 발생해서 이건 좋은 접근 방법이 아니였다.
그래서 대안으로 parse_expr_lit 함수를 수정하고 LitKind::from_token_lit을 사용해 파서 쪽에서 리터럴을 검증하고 적절하게 오류를 생성하도록 했다.
https://github.com/rust-lang/rust/blob/8365fcb2b840c95eeb0bc377af8bd498fad22245/compiler/rustc_parse/src/parser/expr.rs#L1561-L1570
바로 regression 발생해서 3차 시도 중
https://github.com/rust-lang/rust/pull/145602 오늘의 기여
r#"test"#suffix 같이 raw 문자열 리터럴에 유효하지 않은 접미사가 있을 때, 적절한 오류 메시지를 출력하지 못하는 문제를 수정했다. 이것저것 테스트 해본 결과 접미사 바로 뒤에 다른 토큰이 따라오는 경우에만 이 현상이 발생했다.
처음에는 렉서 단에서 유효하지 않은 접미사가 있는지 감지하도록 했지만, LitKind::from_token_lit에서도 접미사를 검사하고 있어서 중복으로 오류 메시지가 생성되는 문제가 발생했고, 추가로 attribute를 파싱할 때 시원하게 다 터지는 문제가 발생해서 이건 좋은 접근 방법이 아니였다.
그래서 대안으로 parse_expr_lit 함수를 수정하고 LitKind::from_token_lit을 사용해 파서 쪽에서 리터럴을 검증하고 적절하게 오류를 생성하도록 했다.
https://github.com/rust-lang/rust/blob/8365fcb2b840c95eeb0bc377af8bd498fad22245/compiler/rustc_parse/src/parser/expr.rs#L1561-L1570
키보드 샀음. 키 누르는 맛이 좋다
확실히 any를 방치하면 순식간에 코드베이스 전체로 번져나간다
@joonnotnotJoon 엥 랩톱 안 사시고요?
@hongminhee洪 民憙 (Hong Minhee) 들고다니기가 번거로워서 그냥 두고 쓸까 생각 중이에요
빌드 한번 할 때마다 노트북이 뜨끈뜨근 해지고 느려진다. 걍 오늘 애플 가서 맥 미니 사고 와야겠다
I wrote an op-ed on the world-class STEM research ecosystem in the United States, and how this ecosystem is now under attack on multiple fronts by the current administration: https://newsletter.ofthebrave.org/p/im-an-award-winning-mathematician
영어는 논리적으로 글 쓰는 것만 배웠다 보니 다 쓰고 읽어보면 뭔가 LLM이 써준 것 같아서 단어나 문장을 한두 개씩 바꾸게 되는 듯
gpt 한테 심심해서 비슷한 이슈 있는지 분석시켰는데 아주 오랫동안 묻혀있던 이슈도 용케 찾아서 들고왔다
네이버플러스 멤버십 해지가 잘 안되어서 고객센터에 전화했다. 몇 차례의 좌절 끝에 비밀통로를 발견했다.
오늘은 진짜 고퍼콘 신청용 발표자료 만듦
정신차리니까 12시간을 자버린 뒤였다
전주 JUMF 처음 가봤는데 메탈 밴드들을 때려박아서 만족스럽게 달리고 왔다
규칙 빡쎄게 정하고 스켈레톤 만드니까 LLM도 잘 인식하는군
작성된 유닛테스트들의 유지보수성이 심각하게 떨어져서 DSL을 구축하고 BDD 방식을 부분 적용하기로 했다
CLAUDME.md 상단에 "나는 언제나 맞아"를 넣고 시작해 확실하게 간신배를 만들었다.
Rust 컴파일러 개발 관련 명령어 모음집
notJoon @joonnot@hackers.pub
이 글은 러스트 컴파일러에 기여할 때 자주 사용하는 명령어와 작업 흐름을 소개합니다. 기본적인 빌드 명령어부터 특정 컴포넌트만 빌드하는 방법, 테스트 실행 및 `--bless`, `--force-rerun` 플래그 활용법을 설명합니다. Stage 시스템(Stage 0, 1, 2)을 구분하여 각 Stage의 역할과 사용법을 안내하고, UI 테스트 작성 규칙과 에러 주석 문법을 상세히 다룹니다. 또한, 직접 컴파일러 실행, 디버그 어설션 활성화, 백트레이스 활성화 등 디버깅 명령어와 컴파일러 버그 수정 워크플로우를 예시와 함께 제시합니다. 마지막으로, 자주 발생하는 문제와 해결법, 빌드 시간 단축 방법, 디버깅용 환경 변수 설정까지 다루어 러스트 컴파일러 개발에 실질적인 도움을 제공합니다. 이 글을 통해 러스트 컴파일러 기여자들이 효율적으로 개발하고 디버깅하는 데 필요한 지식을 얻을 수 있습니다.
Read more →다시 러스트 기여 시작함
오픈소스 처음 했을 때는 문서 기여를 해도 되는건지 긴가민가 했었는데, 시간이 지나서 생각해보니
- 방심하면 순식간에 outdated 됨
- 아무튼 결국 누군가는 해야 함
같은 이유 때문에 아주 중요한 기여인거 같음
현재 실행 중인 위치 정보를 런타임에 캡처하는 방법을 찾아야 한다
신경쓰였던거 뜯어고치니까 만족스럽다
시간 처리할 때 지금 dayjs 쓰고 있는데 temporal로 옮길지 평가해봐야겠다
신경쓰였던거 뜯어고치니까 만족스럽다
오늘부터는 회사 다른 레포를 타입 안전하게 만들 예정
메모앱 좋은거 없나?
@joonnotnotJoon 고퍼콘 참가신청 한적이 없는데 선생님 덕분에 정모하겠네요
@kodingwarriorJaeyeol Lee 이런 완전 마이너한 주제로 발표를 바꿔야겠어요
발표자료 후다닥 만든 다음에 지원 넣어야지
이번에 역시 고퍼콘에서 발표를 해봐야겠다
메모: Intellectual understanding → disciplined and organized practice → integration into technique → emotions shape expressive content of idea → communication of idea
관련 이슈들 다 추가하니까 내용이 화려해짐
@joonnotnotJoon 사소하지만 코멘트 살짝 남겼습니다. 이 훌륭한 자료를 번역해주셔서 감사합니다 🥰
@evenharder이하 코멘트들 확인했고 아주 큰 도움이 되었습니다. 정말 감사합니다 👍
번역 훈수는 언제나 환영합니다



![네이버플러스 멤버십 고객센터 ARS 통화 절차 흐름도.
첫 안내: “[ARS] 해지 문의는 1번, 페이 문의는 2번을 누르세요.” — 사용자는 1번 선택.
다음 안내: “[ARS] 해지는 온라인으로 가능합니다. 문자로 링크를 받으려면 1번을 누르세요.”
1번을 누르면 ‘통화 종료’로 이동(빨간 박스).
입력 없이 약 5초 대기 시 다음 단계로 진행.
다음 안내: “[ARS] 해지 문의는 2번, 페이 문의는 3번을 누르세요.” — 사용자는 2번 선택.
다음 안내: “[ARS] 해지는 온라인으로 가능합니다. 문자로 링크를 받으려면 1번을 누르세요.”
1번을 누르면 ‘통화 종료’(빨간 박스).
입력 없이 약 5초 대기 시 다음 단계로 진행.
마지막 안내: “[ARS] 상담원과 통화하려면 0번을 누르세요.” — 사용자는 0번 선택.
최종 결과: ‘상담원 연결’(초록 박스).
노란색 박스는 기다려야 하는 안내 구간, 빨간색 박스는 통화 종료 지점, 초록색 박스는 상담원 연결 지점을 의미.](https://mstdn-cdn.e14forest.net/media_attachments/files/115/030/745/878/402/043/original/e54b3427833bc8c6.png)
