목록전체 글 (211)
And Brain said,
오늘은 지인이 나와 성격이 매우 닮은 사람이라고 추천해준 책, 본인이 책을 읽다가 내 주위에 이런 사람이 한 명 있는데? 하면서 나에게 한 번 읽어보라고 추천해준 도서인 '세이노의 가르침'을 리뷰해보겠습니다. 책 소개 은 순자산 천억 원대 자산가, 세이노가 2000년부터 발표된 그의 글들을 한 곳에 모아놓은 책으로, 독자들이 자발적으로 만든 제본서와 여러 판본을 모아 저자의 확인을 거쳐 최근 생각을 추가로 수록하였다고 한다. 더 많은 사람이 이 책을 보고 힘을 얻길 바라기에 인세도 안 받고 700쪽이 넘는 분량에도 7천 원 안팎에 책을 구매할 수 있도록 했다고 하며, 정식 출간 전자책 또한 무료이다. *필명 ‘세이노(Say No)’는 당신이 믿고 있는 것들에 ‘No!’를 외치고 제대로 살아가라는 뜻이다...
엔디언(Endian) 행진곡 0. 멀티바이트의 질서있는 행진 1. 빅이냐 리틀이냐 그것이 문제로다 2. Rust로 다시 쓰여지다 3. 제1장: Network 4. 제2장: FIle 5. 행진이 끝나고 예제 코드 이제 Rust를 이용해 실제로 엔디언 변환을 해보도록 합시다. Rust에서는 'byteorder' 라는 crate를 이용해 간편하게 엔디언 변환을 할 수 있습니다. 이 crate를 사용하여, 쉽게 데이터 바이트의 순서를 변경해보도록 합시다. 먼저, Cargo.toml 파일에 라이브러리를 추가해줍시다. [dependencies] byteorder = "1.4.3" 자, 이제 간단한 엔디언 변환 예제를 작성해봅시다. use byteorder::{BigEndian, ByteOrder, LittleEnd..
엔디언(Endian) 행진곡 0. 멀티바이트의 질서있는 행진 1. 빅이냐 리틀이냐 그것이 문제로다 2. Rust로 다시 쓰여지다 3. 제1장: Network 4. 제2장: FIle 5. 행진이 끝나고 예제 코드 > '빅 엔디언'과 '리틀 엔디언'은 데이터를 메모리에 어떻게 배치할지를 결정하는 엔디언 방식의 두 가지 주요 유형입니다. 먼저 빅 엔디언과 리틀 엔디언의 차이점을 다시 한 번 살펴볼까요? 빅 엔디언 방식을 먼저 살펴봅시다. 이 방식에서는 가장 중요한 바이트(Most Significant Byte, MSB)가 낮은 메모리 주소에 위치하게 됩니다. 이것은 숫자를 읽거나 쓸 때 일반적으로 사용하는 방식과 유사합니다. 즉, 12345678이라는 숫자를 읽을 때 1이 가장 먼저 오는 것처럼, 빅 엔디언 ..
엔디언(Endian) 행진곡 0. 멀티바이트의 질서있는 행진 1. 빅이냐 리틀이냐 그것이 문제로다 2. Rust로 다시 쓰여지다 3. 제1장: Network 4. 제2장: FIle 5. 행진이 끝나고 예제 코드 여기 멀티바이트 데이터들이 행진을 준비하고 있습니다. 그들은 메모리 도로 위에 서서, 시작을 기다리고 있습니다. 한쪽 끝에서 다른 쪽 끝까지, 그런데 우리는 문득 궁금증이 생깁니다. 이들은 대체 어떤 순서로 메모리에 위치할까요? 엔디언(Endianness, 줄여서 Endian)은 바로 이 데이터 바이트들이 어떤 순서로 메모리에 위치할지를 결정하는 규칙입니다. 엔디언은 크게 두 가지 유형이 있습니다. 빅 엔디언과 리틀 엔디언입니다. 두 방식 모두 동일한 멀티바이트 데이터에 적용되지만, 데이터 바이트..
LLVM (Low Level Virtual Machine)은 컴파일러와 툴체인 프로젝트의 모음으로, 이는 고수준 언어에서 저수준 언어로의 변환과 최적화를 관리하는 프레임워크입니다. 이름은 Virtual Machine 이지만, LLVM은 기술적으로 가상 머신은 아닙니다. LLVM은 각각의 컴파일 단계에서 프로그램의 소스 코드를 최적화할 수 있는 기능을 제공하고, 이를 가능하게 하는 중간 표현 방식(MIR; Middle Intermediate Representation)을 사용합니다. 이 중간 표현 방식은 고수준 소스 코드를 저수준 머신 코드로 변환하는 과정에서 중간 단계를 형성하며, 이를 통해 컴파일러는 다양한 최적화 기법을 적용할 수 있습니다. 이러한 최적화 기법은 코드의 실행 속도를 빠르게 하거나, ..