API Design in C++
TL;DR
TL;DR
TL;DR
## TL;DR
TL;DR
TL;DR
TL;DR
1. ํ ํ๋ฆฟ ๋งค๊ฐ๋ณ์์ ์ข ๋ฅ: ํ์ vs. ๋น-ํ์
1. Types of Template Parameters: Type vs. Non-Type
TL;DR
TL;DR
Metaโs Hyperscale Infrastructure: Overview and Insights
Metaโs Hyperscale Infrastructure: Overview and Insights
An independent, personal tech blog
An independent, personal tech blog
Software Engineering
Software Engineering
Performance Engineering on Hard Mode
Performance Engineering on Hard Mode
Story-time: C++, bounds checking, performance, and compilers ๋ฅผ ์ฝ๊ณ .
My thoughts after reading Story-time: C++, bounds checking, performance, and compilers.
Suggest readings: โข What Every Computer Scientist Should Know About Floating-Point Arithmetic โข Do Developers Understand IEEE Floating Point? โข Yet ano...
Suggest readings: โข What Every Computer Scientist Should Know About Floating-Point Arithmetic โข Do Developers Understand IEEE Floating Point? โข Yet ano...
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
Overview
Linux ํ๊ฒฝ์์ C/C++ ๋ฑ์ผ๋ก ๋น๋๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ๋จ์ํ ์คํ ํ์ผ์ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ CPU์ ๋ฐ๋ก ์ ์ฌ๋์ด ์คํ๋๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ํ์ง๋ง ๊ทธ ์ด๋ฉด์๋ ์ปดํ์ผ๋ฌ, ๋ง์ปค, ์ด์์ฒด์ ์ปค๋, ๊ทธ๋ฆฌ๊ณ ๋์ ๋ก๋(ld.so)๊ฐ ํ๋ ฅํ์ฌ ์๋ํ๋ ๋ณต์กํ ๊ณผ์ ์ด ์กด์ฌํฉ๋๋ค.
When you run a compiled C/C++ program in a Linux environment, it might seem as though the machine code of the executable is simply loaded directly into the C...
Basics of Bazel
Basics of Bazel
์๊ฐ
Introduction
Optiver
Optiver
## TL;DR
TL;DR
Performance Engineering on Hard Mode
Performance Engineering on Hard Mode
Jane Street on GPUs, Trading, and Hiring
Jane Street on GPUs, Trading, and Hiring
Overview
Linux ํ๊ฒฝ์์ C/C++ ๋ฑ์ผ๋ก ๋น๋๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ๋จ์ํ ์คํ ํ์ผ์ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ CPU์ ๋ฐ๋ก ์ ์ฌ๋์ด ์คํ๋๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ํ์ง๋ง ๊ทธ ์ด๋ฉด์๋ ์ปดํ์ผ๋ฌ, ๋ง์ปค, ์ด์์ฒด์ ์ปค๋, ๊ทธ๋ฆฌ๊ณ ๋์ ๋ก๋(ld.so)๊ฐ ํ๋ ฅํ์ฌ ์๋ํ๋ ๋ณต์กํ ๊ณผ์ ์ด ์กด์ฌํฉ๋๋ค.
When you run a compiled C/C++ program in a Linux environment, it might seem as though the machine code of the executable is simply loaded directly into the C...
Overview
Linux ํ๊ฒฝ์์ C/C++ ๋ฑ์ผ๋ก ๋น๋๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ๋จ์ํ ์คํ ํ์ผ์ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ CPU์ ๋ฐ๋ก ์ ์ฌ๋์ด ์คํ๋๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ํ์ง๋ง ๊ทธ ์ด๋ฉด์๋ ์ปดํ์ผ๋ฌ, ๋ง์ปค, ์ด์์ฒด์ ์ปค๋, ๊ทธ๋ฆฌ๊ณ ๋์ ๋ก๋(ld.so)๊ฐ ํ๋ ฅํ์ฌ ์๋ํ๋ ๋ณต์กํ ๊ณผ์ ์ด ์กด์ฌํฉ๋๋ค.
When you run a compiled C/C++ program in a Linux environment, it might seem as though the machine code of the executable is simply loaded directly into the C...
Overview
Linux ํ๊ฒฝ์์ C/C++ ๋ฑ์ผ๋ก ๋น๋๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ๋จ์ํ ์คํ ํ์ผ์ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ CPU์ ๋ฐ๋ก ์ ์ฌ๋์ด ์คํ๋๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ํ์ง๋ง ๊ทธ ์ด๋ฉด์๋ ์ปดํ์ผ๋ฌ, ๋ง์ปค, ์ด์์ฒด์ ์ปค๋, ๊ทธ๋ฆฌ๊ณ ๋์ ๋ก๋(ld.so)๊ฐ ํ๋ ฅํ์ฌ ์๋ํ๋ ๋ณต์กํ ๊ณผ์ ์ด ์กด์ฌํฉ๋๋ค.
When you run a compiled C/C++ program in a Linux environment, it might seem as though the machine code of the executable is simply loaded directly into the C...
Overview
Linux ํ๊ฒฝ์์ C/C++ ๋ฑ์ผ๋ก ๋น๋๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ๋จ์ํ ์คํ ํ์ผ์ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ CPU์ ๋ฐ๋ก ์ ์ฌ๋์ด ์คํ๋๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ํ์ง๋ง ๊ทธ ์ด๋ฉด์๋ ์ปดํ์ผ๋ฌ, ๋ง์ปค, ์ด์์ฒด์ ์ปค๋, ๊ทธ๋ฆฌ๊ณ ๋์ ๋ก๋(ld.so)๊ฐ ํ๋ ฅํ์ฌ ์๋ํ๋ ๋ณต์กํ ๊ณผ์ ์ด ์กด์ฌํฉ๋๋ค.
When you run a compiled C/C++ program in a Linux environment, it might seem as though the machine code of the executable is simply loaded directly into the C...
Overview
Overview
Overview
Overview
์์ฆ C++ ์ ํ์ตํ ์ ์๋ ์๋ฃ๋ ๊ต์ฅํ ๋ค์ํ๋ฐ์. ๊ทธ ์ค์์ ๋ช ๊ฐ์ง๋ฅผ ์ถ๋ ค๋ณด์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
These days, there are many resources available for learning C++. Here is a curated list of some of them:
Useful Repo
Useful Repo
์ด ๊ธ์ Teach Yourself Programming in Ten Years, Peter Norvig์ ์์ฝํ ๊ธ์ ๋๋ค.
This article summarizes Teach Yourself Programming in Ten Years, Peter Norvig.
์คํฐ๋ธ ์ก์ค๋ A๊ธ ์ธ์ฌ์ B๊ธ, C๊ธ ์ง์์ ์ฐจ์ด๋ฅผ ๊ฐ์กฐํ๋ฉฐ, ์ต๊ณ ์ ์ธ์ฌ์ ํจ๊ป ์ผํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ค์ํ์ง๋ฅผ ์ค๋ช ํฉ๋๋ค. ๊ทธ๋ ์๊ธฐ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ ์ธ์ฌ๋ค์ด ๋ชจ์ฌ์ผ ์กฐ์ง์ด ์ฑ์ฅํ๊ณ ๋ฐ์ ํ ์ ์๋ค๊ณ ๋ฏฟ์ผ๋ฉฐ, ์ธ์ฌ ์ฑ์ฉ์ ์ค์์ฑ์ ๊ฐ์กฐํฉ๋๋ค. ๊ฒฐ๊ตญ, ๋ฐ์ด๋ ์ธ์ฌ๋ค์ด ๋ชจ์ฌ ์๊ธฐ ์ค...
Steve Jobs emphasizes the difference between A-players and B- or C-players, explaining the crucial importance of working with top talent. He believes that or...
Implementing Matrix Multiplication on CPU from Scratch
Implementing Matrix Multiplication on CPU from Scratch
Meta์ AI ํ๋์จ์ด ๋ฉ ์ธํฐ๋ทฐ๋ฅผ ๋ฐํ์ผ๋ก GPU ๋, ์ก์ฒด ๋๊ฐ, ์ ์กฐ ๋์ด๋, ๊ด ์ธํฐ์ปค๋ฅํธ, ์ ๋ ฅ ๋ณ๋ชฉ๊น์ง ํ ๋ฒ์ ์ ๋ฆฌํ๋ค.
Based on interviews from Metaโs AI Hardware Lab, we compile and analyze GPU racks, liquid cooling, manufacturing complexity, optical interconnects, and power...
Meta์ AI ํ๋์จ์ด ๋ฉ ์ธํฐ๋ทฐ๋ฅผ ๋ฐํ์ผ๋ก GPU ๋, ์ก์ฒด ๋๊ฐ, ์ ์กฐ ๋์ด๋, ๊ด ์ธํฐ์ปค๋ฅํธ, ์ ๋ ฅ ๋ณ๋ชฉ๊น์ง ํ ๋ฒ์ ์ ๋ฆฌํ๋ค.
Based on interviews from Metaโs AI Hardware Lab, we compile and analyze GPU racks, liquid cooling, manufacturing complexity, optical interconnects, and power...
Meta์ AI ํ๋์จ์ด ๋ฉ ์ธํฐ๋ทฐ๋ฅผ ๋ฐํ์ผ๋ก GPU ๋, ์ก์ฒด ๋๊ฐ, ์ ์กฐ ๋์ด๋, ๊ด ์ธํฐ์ปค๋ฅํธ, ์ ๋ ฅ ๋ณ๋ชฉ๊น์ง ํ ๋ฒ์ ์ ๋ฆฌํ๋ค.
Based on interviews from Metaโs AI Hardware Lab, we compile and analyze GPU racks, liquid cooling, manufacturing complexity, optical interconnects, and power...
Meta์ AI ํ๋์จ์ด ๋ฉ ์ธํฐ๋ทฐ๋ฅผ ๋ฐํ์ผ๋ก GPU ๋, ์ก์ฒด ๋๊ฐ, ์ ์กฐ ๋์ด๋, ๊ด ์ธํฐ์ปค๋ฅํธ, ์ ๋ ฅ ๋ณ๋ชฉ๊น์ง ํ ๋ฒ์ ์ ๋ฆฌํ๋ค.
Based on interviews from Metaโs AI Hardware Lab, we compile and analyze GPU racks, liquid cooling, manufacturing complexity, optical interconnects, and power...
Meta์ AI ํ๋์จ์ด ๋ฉ ์ธํฐ๋ทฐ๋ฅผ ๋ฐํ์ผ๋ก GPU ๋, ์ก์ฒด ๋๊ฐ, ์ ์กฐ ๋์ด๋, ๊ด ์ธํฐ์ปค๋ฅํธ, ์ ๋ ฅ ๋ณ๋ชฉ๊น์ง ํ ๋ฒ์ ์ ๋ฆฌํ๋ค.
Based on interviews from Metaโs AI Hardware Lab, we compile and analyze GPU racks, liquid cooling, manufacturing complexity, optical interconnects, and power...
Meta์ AI ํ๋์จ์ด ๋ฉ ์ธํฐ๋ทฐ๋ฅผ ๋ฐํ์ผ๋ก GPU ๋, ์ก์ฒด ๋๊ฐ, ์ ์กฐ ๋์ด๋, ๊ด ์ธํฐ์ปค๋ฅํธ, ์ ๋ ฅ ๋ณ๋ชฉ๊น์ง ํ ๋ฒ์ ์ ๋ฆฌํ๋ค.
Based on interviews from Metaโs AI Hardware Lab, we compile and analyze GPU racks, liquid cooling, manufacturing complexity, optical interconnects, and power...
Jane Street on GPUs, Trading, and Hiring
Jane Street on GPUs, Trading, and Hiring
Performance Engineering on Hard Mode
Performance Engineering on Hard Mode
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
MM101: Introduction to Linux Memory Management
Performance Engineering on Hard Mode
Performance Engineering on Hard Mode
Performance Engineering on Hard Mode
Performance Engineering on Hard Mode