Programming 537

racket의 read-line은 windows에서 newline을 인식하지 못한다. 이 문제가 racket의 보급을 방해하는가?

Racket의 read-line이 Windows의 CRLF(\r\n)를 기본적으로 완벽히 처리하지 못하는 것처럼 보이는 현상은 초보 개발자에게는 분명한 허들이 될 수 있습니다. 하지만 이것이 Racket의 보급을 결정적으로 방해하는 '결격 사유'인가에 대해서는 다각적인 시각이 존재합니다.사용자께서 요청하신 대로, 이 현상이 Racket 생태계에 미치는 영향과 기술적 배경을 정리하여 보고합니다.1. 기술적 배경 및 오해의 소지기본 동작의 엄격성: Racket의 read-line은 기본 인자가 'linefeed로 설정되어 있어 \n만을 줄바꿈으로 인식함. 이는 유닉스 철학에 기반한 설계이나, Windows 사용자에게는 예기치 못한 동작(줄 끝에 \r이 남는 현상)으로 나타남.해결책의 단순성: (read-li..

Programming 2026.02.15

Hugging Face tutorial

**Hugging Face(허깅페이스)**는 한마디로 **'인공지능(AI)계의 깃허브(GitHub)'**라고 불리는 세계 최대의 오픈 소스 AI 플랫폼입니다.전 세계 AI 연구자와 개발자들이 자신이 만든 머신러닝 모델, 데이터셋, 관련 도구들을 자유롭게 공유하고 협업하는 생태계입니다.1. 주요 역할과 특징모델 허브 (Model Hub): 구글, 메타(Meta), 오픈AI(OpenAI) 등 글로벌 기업부터 개인 개발자까지, 수십만 개의 사전 학습된(Pre-trained) AI 모델을 무료로 공유합니다. (언어 모델, 이미지 생성, 음성 인식 등)데이터셋 허브 (Dataset Hub): AI 학습에 필수적인 방대한 양의 텍스트, 이미지, 오디오 데이터를 제공합니다.트랜스포머 라이브러리 (Transformer..

Programming 2026.01.14

c 언어에서 sin함수는 어떻게 구현되어 있나

c 언어에서 sin함수는 어떻게 구현되어 있나일반적으로 C 표준 라이브러리의 sin 함수 내부 구현은 플랫폼/라이브러리마다 조금씩 다르지만, 몇 가지 공통적인 아이디어가 있습니다.[1][8]표준 라이브러리 관점C에서 sin은 math.h에 선언되어 있고, 인자로 라디안 값을 받는 함수입니다.[3][4]실제 구현체는 보통 libc(예: glibc, MSVCRT 등) 안에 들어 있고, C가 아니라 어셈블리나 최적화된 C 코드로 작성되어 있으며, CPU의 부동소수점 명령과 결합되어 동작합니다.[4][6]핵심 아이디어(수학적 구현 방식)실제 구현은 보통 다음과 같은 단계들을 조합해서 만듭니다.[1][8]범위 축소(range reduction):아주 큰 ∣x∣∣x∣ 값에 대해서는 먼저 2π2π의 배수를 빼서 [−..

Programming 2025.12.11

스택 메모리가 힙 메모리보다 빠른 이유

스택 메모리가 힙 메모리보다 빠른 이유스택 메모리가 힙 메모리보다 빠른 이유는 “어떻게, 누가, 어느 위치를” 다루는지가 훨씬 단순하기 때문이며, 이 때문에 할당·해제 비용과 접근 비용이 훨씬 작기 때문이다.[1][2]할당·해제 방식의 단순성스택은 함수 호출 시 컴파일러가 미리 정한 규칙대로 스택 포인터만 위·아래로 움직여 연속된 메모리를 한 덩어리로 잡았다가, 함수가 끝나면 한 번에 되돌린다.[1][3]힙은 실행 중에 필요한 크기를 보고 “어디에 얼마를 줄지”를 관리하는 전용 알고리즘(메모리 관리자)이 동작해야 하고, 빈 블록 검색·분할·병합 같은 추가 작업 때문에 CPU 명령이 훨씬 많이 든다.[1][5]메모리 구조와 캐시 친화성스택은 연속된 메모리 구역에 차곡차곡 쌓이는 구조라서, CPU 캐시에 잘..

Programming 2025.12.07

juliac로 컴파일한 hello world binary size

juliac로 컴파일한 hello world binary sizeJulia로 juliac를 사용해 "Hello, World!"를 컴파일해 생성된 바이너리의 크기는 약 1.6MB(1,652,184바이트)로 보고됩니다[1]. 이는 --trim 옵션을 이용해 크기를 줄인 결과이며, 트림 옵션 없이 빌드할 경우 파일 크기가 약 150MB에 달할 수 있습니다[1][2]. 최근 AOT(Ahead-of-Time) 컴파일러 개선에 따라, 동일한 트림 기능 활용 시 800KB대의 "상대적으로 작은" 바이너리도 보고되고 있습니다[3]. 하지만 일반적으로 juliac/PackageCompiler로 만든 최소한의 Hello World 프로그램은 1~2MB 정도이며, C 등 타 언어 대비 여전히 크기가 큰 편입니다.### 주요..

Programming 2025.10.09