openlang
04 /검색

대화 찾기

모든 대화

  1. fetch 하나가 실패할 때의 asyncio.TaskGroup

    언어끼리 동시성을 비교할 때는 보통 문법부터 봐요. 저는 뭔가 실패했을 때 계산에 무엇이 필요한지부터 보고 싶어요. 작은 Python 애플리케이션이 측정값과 가중치를 동시에 가져와서 점수 하나로 합쳐요. 그런데 fetch 하…

    답글 15최근 활동 pythonjuliago
  2. -O2 리스트에서 카나리 검사 읽기

    작은 C 함수 세 개를 x86-64 Linux에서 gcc -O2 -fstack-protector-strong -S -masm=intel로 빌드했다. read_line과 read_count는 같은 프롤로그를 받는다. mov r…

    답글 1최근 활동 assemblyc
  3. CPU 한도를 따라가는 컨테이너 안의 GOMAXPROCS

    Go 1.25 전에는 GOMAXPROCS 기본값이 머신의 논리 CPU 개수였어요. 논리 CPU가 32개인 호스트에서 CPU 두 개로 제한된 컨테이너도 32를 받았어요. P 32개가 고루틴을 돌리는데 쿼터는 주기마다 CPU 두…

    답글 8최근 활동 go
  4. 불완전한 레코드 뒤에 커서는 어디에 남나요?

    스트리밍 파서의 호출자는 Result로 레코드가 나왔는지 알 수 있습니다. 하지만 파서가 커서를 옮겼는지, 임시 저장소를 건드렸는지, 입력을 그대로 두었는지는 알 수 없습니다. 레코드가 덜 들어왔을 때 중요한 것은 바로 그…

    답글 9최근 활동 rustocamlzig
  5. init의 setq가 fill-column을 버퍼 하나에서만 바꿨다

    init에 (setq fill-column 72)를 오래전부터 넣어 뒀는데, 새 버퍼에서 M-q를 누르면 여전히 70에서 줄이 바뀐다는 걸 이제야 알았어요. (*scratch*에서는 72에서 바뀌어서 그동안 스스로를 속였어요…

    답글 3최근 활동 emacs-lisp
  6. 원인을 잃지 않고 예외 감싸기

    가져오기 도구가 저수준 실패를 잡아 다른 예외로 바꾸고 나면, 진단 로그에 남는 건 new ImportFailure("Import failed")뿐입니다. 호출자가 로컬 파일 정보를 볼 이유는 없습니다. 하지만 실패를 조사하…

    답글 7최근 활동 java
  7. 이 CPS 합계는 왜 Debug에서만 스택이 넘칠까요?

    제가 이해한 게 맞는지 봐 주실 수 있을까요? 연습 삼아 짠 continuation-passing 방식 합계예요. dotnet run -c Release는 1000000을 출력해요. 그냥 dotnet run, 즉 Debug는…

    답글 5최근 활동 fsharp
  8. 순환 참조 리뷰 코멘트에는 소유자가 들어가야 한다

    “그냥 다 weak로 쓰세요” 같은 리뷰 코멘트에는 작성자가 딱히 대답할 게 없어요. 흔한 경우는 자식 객체가 자기를 소유한 부모를 delegate로 다시 가리키는 구조예요. 작성자가 실제로 붙잡고 이야기할 수 있는 코멘트는…

    답글 1최근 활동 swift
  9. 저장됨이 두 번 읽히는 상태 영역

    저장 한 번에 스크린 리더가 "저장됨"을 두 번 읽었어요. 뒤에 있는 상태는 saved로 가는 전이가 하나뿐이고, 리듀서 테스트도 그걸 보여 줘요. 두 번 바뀐 건 DOM이었어요. 상태 컴포넌트가 메시지가 있을 때만 영역을…

    답글 3최근 활동 typescriptjavascript
  10. 버퍼 이름에 한글이 들어가면 모드 라인 열이 밀린다

    모드 라인에서 버퍼 이름을 고정 폭으로 채워서 뒤에 오는 것들이 줄 맞게 해 뒀는데, 꽤 오랫동안 잘 됐어요(정확히는 제가 우연히 열어 본 버퍼들에서는요). 그러다 회의록.org를 열었더니 그 오른쪽이 전부 세 칸 밀렸어요.…

    답글 1최근 활동 emacs-lisp
  11. round(2.5)가 2라는 걸 학습자들은 안 믿는다

    학습자들은 자꾸 round(2.5)가 3일 거라고 짐작하는데, 제가 주로 쓰는 두 언어는 다 2라고 해요. Python은 정수 2를, Julia는 2.0을 줘요. 둘 다 동점을 짝수 쪽 이웃으로 보내서 round(0.5)는…

    답글 3최근 활동 juliapython
  12. Kotlin DSL로 옮기자 서브프로젝트가 implementation을 못 찾는다

    오래된 멀티 프로젝트 빌드를 Groovy DSL에서 Kotlin DSL로 옮기는 중입니다. 루트 build.gradle에는 이런 블록이 있었습니다. 루트는 기계적으로 옮겼습니다. 순서대로 정리하겠습니다. 루트 스크립트는 컴파…

    답글 2최근 활동 kotlingroovy
  13. sleep 없이 Go 채널 인계 테스트하기

    제가 보는 핸드오프 테스트는 대부분 sleep 하나와 희망 섞인 단언으로 끝나요. 이건 그게 없어도 돼요. 요청에는 식별자가 붙어 있어요. 워커는 버퍼 없는 채널에서 요청을 받아 그 식별자를 요청의 결과 슬롯에 쓰고, 같은…

    답글 23최근 활동 go
  14. 옛 CoffeeScript를 손으로 옮기는 JavaScript 연습

    유행은 지났지만 생각보다 훨씬 잘 먹히는 연습이 있습니다. 배우는 사람에게 작고 오래된 CoffeeScript 파일을 하나 주고, 컴파일러를 돌리지 말고 현대 JavaScript로 다시 쓰게 하는 것입니다. 거의 모든 설탕…

    답글 6최근 활동 coffeescriptjavascript
  15. getline은 실패해도 버퍼를 호출자에게 남긴다

    POSIX getline은 넘겨받은 포인터를 통해 버퍼를 할당하거나 키우며, 그 버퍼는 첫 호출부터 호출자의 것입니다. -1을 반환하는 호출도 예외가 아닙니다. 명세는 해제를 애플리케이션에 맡기고, Linux 매뉴얼 페이지는…

    답글 4최근 활동 c
  16. C 콜백에서는 설정해 둔 아레나가 사라진다

    C 라이브러리가 내 Odin 코드로 콜백을 부르는데, 콜백은 등록 전에 설정해 둔 context를 보지 못한다. proc "c"에는 암묵적 context가 없어서 직접 만들어야 하고, runtime.default_contex…

    답글 5최근 활동 odinc
  17. 빈 리덕션은 항등원을 돌려준다

    빈 벡터를 리덕션한다. APL은 답한다. 프리미티브마다 항등원이 있다. 더하기는 0. 곱하기와 논리곱은 1. ⌈/⍬는 인터프리터가 가진 가장 작은 음수다. 호출하는 쪽에 특수 처리가 없다. 리덕션 전에 길이를 확인하지도 않는…

    답글 3최근 활동 apl
  18. 3 + 4 * 2가 14라는 건 쉬운 쪽이다

    Smalltalk을 처음 배우는 사람은 누구나 일찍 3 + 4 * 2를 만나고 그게 14라는 말을 들어요. 이항 메시지는 산술 우선순위 없이 왼쪽에서 오른쪽으로 가니까요. 이 부분은 한 번 보여 주면 기억에 남아요(정말 그냥…

    답글 1최근 활동 smalltalk
  19. for_each 키는 이름표가 아니라 주소다

    for_each 키를 이름표로 보면 안 된다. 리소스 주소의 절반이다. terraform_data.queue["prod-orders"] 같은 주소로 state가 객체를 추적한다. 키를 바꾸면 plan은 이름이 바뀌었다고 보지…

    답글 5최근 활동 hcl
  20. build.gradle에는 반복문과 조건문을 두지 않는다

    build.gradle 하나를 봤는데 로직의 절반이 실행 중에 delegate를 바꿔 끼우는 클로저 안에 있었어요. 뭐가 뭘 뜻하는지 알아내는 데 한참 걸렸어요. Groovy에서는 이게 너무 쉬워요. 클로저는 기본적으로 한정…

    답글 5최근 활동 groovy