출간일(Release) : 2024/03/13
종이책 출간일(Print Release) : 2024/03/11
전자책 종류(Format) : ePub
Price : KRW 26,400
미리보기(Preview)
책소개(Overview)
코드를 실행하면 컴퓨터 내부에서는 어떤 일이 벌어질까?
운영 체제부터 CPU, 동기화, 입출력을 구현하는 원리까지, 내 코드를 바꿔줄 컴퓨터 밑바닥의 비밀을 들여다보자!
“어? 이 코드가 왜 돌아가지?”라고 생각해 본 경험이 다들 있을 것이다. 코드가 잘 실행되더라도 이 코드가 어떻게 작동하는지, 컴퓨터가 코드를 실행할 때 내부에서 무슨 일이 벌어지는지, 다양한 문제들이 왜 발생하며 이를 어떻게 최적화해야 할지는 모르는 경우가 많다. 이 책은 단순하게 눈앞의 코드 몇 줄이 오류 없이 돌아가는 것에 만족하기보다는 그 안에서 무슨 일이 벌어지고 있으며, 코드에 어떤 영향을 미치는지를 고민하는 개발자들을 대상으로 한다.
이 책에서는 계층별로 추상화되어 있는 컴퓨터 시스템의 구조를 하나씩 뜯어본다. 프로그래밍 언어와 컴파일러로 시작하여 운영 체제와 프로세스, 스레드와 코루틴, 동기화, 메모리에 대해 살펴보고, CPU와 캐시, 입출력을 구현하는 원리에 대해서도 설명한다. 어렵게 느껴질 수도 있는 컴퓨터 시스템 내부를 일상 속 다양한 비유와 300개 이상의 그림으로 설명하여 비교적 쉽게 접근할 수 있게 구성했다. 초보 개발자라면 컴퓨터 기본 지식을 체계적이고 쉽게 배울 수 있으며, 숙련된 개발자라면 이미 알고 있는 내용을 정리하면서 새로운 아이디어를 얻을 수 있을 것이다.
What happens inside the computer when you run the code?
From the operating system to the CPU, synchronization, and principles of implementing input/output, let’s look into the secrets underneath the computer that will change your code!
You may have had the experience of thinking, “Huh? Why is this code working?” Even if the code runs well, there are many cases where we don’t know how the code works, what happens internally when the computer runs the code, why various problems occur, and how to optimize them. This book is aimed at developers who are concerned about what is happening inside and how it affects the code, rather than simply being satisfied with a few lines of code running without errors.
In this book, we take a look at the structure of a computer system, which is abstracted by layer, one by one. Starting with programming languages and compilers, we look at operating systems and processes, threads and coroutines, synchronization, and memory, and also explain the principles of implementing CPU, cache, and input/output. The inside of a computer system, which may seem difficult, is explained with various metaphors from everyday life and more than 300 pictures to make it relatively easy to access. Beginner developers can learn basic computer knowledge systematically and easily, and experienced developers will be able to get new ideas by organizing what they already know.
저자(Author)
루 샤오펑(Lu Xiaofeng)
베이징 항공우주대학에서 컴퓨터과학부를 졸업하고 석사 학위를 받았다. VM웨어와 징동(https://jd.com/)에서 근무하며 소프트웨어 시스템 연구 및 개발 분야에서 다년간의 경험을 쌓았고, 컴퓨터 기술을 알기 쉬운 언어로 설명하는 데 능숙하다. 위챗에서 ‘프로그래머의 무인도 서바이벌’이라는 이름의 공개 계정을 운영하고 있다.
He graduated from the Department of Computer Science at Beijing University of Aeronautics and Astronautics and received a master’s degree. He has worked at VMware and Jingdong (https://jd.com/) and has gained many years of experience in software system research and development, and is good at explaining computer technology in easy-to-understand language. He runs a public account named ‘Programmer’s Desert Island Survival’ on WeChat.