본문 바로가기

전체 글25

[기획 연재 25편] 인공지능 시대의 C언어: 화려한 AI 뒤에 숨겨진 진짜 엔진 서론: 파이썬은 핸들, C언어는 엔진 "요즘은 AI가 대세니까 파이썬만 배우면 되지 않나요?" 많은 학생이 묻습니다. 맞습니다. 인공지능 모델을 '조작'하는 건 파이썬입니다. 하지만 그 인공지능을 '돌리는' 건 무엇일까요? 텐서플로우(TensorFlow), 파이토치(PyTorch) 같은 거대 AI 라이브러리의 핵심 코어는 대부분 C++와 C언어로 작성되어 있습니다. 파이썬은 그 엔진에 명령을 내리는 리모컨일 뿐입니다. 대망의 25편 마지막 보너스 트랙에서는, 왜 최첨단 AI 시대에도 C언어가 사라지지 않고 '히든 챔피언'으로 남아있는지 분석합니다.본론 1: 행렬 연산의 속도전 딥러닝은 본질적으로 수십억 번의 행렬 곱셈(Matrix Multiplication)입니다. 파이썬: 쉽.. 2026. 2. 7.
[기획 연재 24편] 알고리즘의 왕, 퀵 정렬(Quick Sort): 무질서 속에서 질서를 찾는 법 서론: 100만 개의 데이터를 정리하라 NASA 위성이 하루에 보내오는 사진은 수만 장입니다. 날짜별로, 혹은 중요도 별로 빠르게 정리(Sorting)하지 않으면 분석 자체가 불가능합니다. 사람이 카드를 정리하듯 하나씩 비교하면 며칠이 걸립니다. 하지만 컴퓨터 과학에는 '퀵 정렬(Quick Sort)'이라는 마법 같은 알고리즘이 있습니다. 이름 그대로 엄청나게 빠릅니다. 오늘 24편에서는 이 알고리즘이 어떻게 작동하는지 '피벗(Pivot)'의 개념으로 알아봅니다.본론 1: 기준점(Pivot)을 정하고 쪼개라 퀵 정렬의 핵심은 '분할 정복(Divide and Conquer)'입니다. 운동장에 100명의 학생이 무작위로 서 있습니다. 선생님이 임의로 한 명(기준, Pivot)을 지.. 2026. 2. 6.
[기획 연재 23편] 네트워크 소켓: 우주 끝까지 데이터를 보내는 파이프 (TCP/IP 통신) 서론: 보이저 호와 통화하는 법 지구 반대편에 있는 서버나, 태양계 끝자락에 있는 보이저 호와 어떻게 데이터를 주고받을까요? 물리적인 거리는 다르지만, 소프트웨어적인 원리는 똑같습니다. 바로 '소켓(Socket)'이라는 구멍을 통해서입니다. C언어는 이 네트워크 소켓을 다루는 표준 언어입니다. 오늘 23편에서는 전 세계 인터넷 통신의 근간이 되는 TCP/IP 통신의 원리를 '전화기'에 비유하여 설명해 드립니다.본론 1: IP주소와 포트(Port) 번호 데이터를 보내려면 두 가지 정보가 필요합니다. IP 주소: "어느 아파트 단지(컴퓨터)로 갈 것인가?" (예: 192.168.0.1) 포트 번호: "그 아파트의 몇 호(프로그램)로 갈 것인가?" (예: 80번은 웹, 21번은 파일.. 2026. 2. 5.
[기획 연재 22편] 소수의 거짓말: 컴퓨터는 0.1을 모른다 (부동소수점의 오차) 서론: 로켓을 폭발시킨 0.000001의 오차1991년, 미군의 패트리어트 미사일이 요격에 실패하여 아군 기지에 떨어지는 참사가 있었습니다. 원인은 놀랍게도 0.000000095초의 계산 오차 때문이었습니다.우리는 0.1 + 0.2 = 0.3이라고 확신합니다. 하지만 컴퓨터에게 시켜보면 0.30000000000000004라는 기괴한 답을 내놓습니다. 컴퓨터는 완벽하지 않습니다. 특히 소수(Decimal)를 다룰 때 그렇습니다.오늘 22편에서는 NASA 엔지니어들이 가장 두려워하는 적, '부동소수점(Floating Point)의 오차'와 그 해결책에 대해 알아봅니다.본론 1: 0과 1로 소수를 표현하는 한계컴퓨터는 모든 것을 2진법(0과 1)으로 저장합니다. 정수는 완벽하게 변환되지만, 소수는 다릅니다.1.. 2026. 2. 4.
[기획 연재 21편] NASA의 코딩 십계명: 절대 고장 나지 않는 코드를 짜는 법 (JPL 코딩 표준) 서론: 우주에서는 수리 기사를 부를 수 없다지난 20부작 시리즈를 통해 컴퓨터 공학의 기초를 다졌습니다. 오늘은 그 이론들이 실제 현장, 그것도 실수가 용납되지 않는 극한의 현장에서 어떻게 적용되는지 보여드리려 합니다.웹사이트가 다운되면 새로고침을 하면 됩니다. 게임이 멈추면 재접속하면 됩니다. 하지만 화성으로 가는 로켓의 코드가 멈춘다면? 수조 원의 세금이 증발하고 인명 피해가 발생합니다. 그래서 NASA 제트추진연구소(JPL)는 '절대 고장 나지 않는 코드'를 작성하기 위해 엄격한 '코딩 십계명(The Power of Ten)'을 만들었습니다.오늘 특별 부록에서는 이 전설적인 규칙 중 핵심적인 3가지를 소개합니다. 여러분의 코드를 '우주급' 안정성으로 업그레이드할 비결입니다.규칙 1: 모든 반복문에는.. 2026. 2. 3.
[기획 연재 20편] 개발자의 자질: 코딩은 언어가 아니라 '생각하는 훈련'이다 서론: 위대한 여정의 끝에서우리는 1편에서 int a = 10;이라는 작은 변수 하나로 시작했습니다. 그리고 메모리의 우주를 지나, 자료구조의 별들을 거쳐, 운영체제라는 거대한 은하계까지 탐험했습니다.NASA에서 로켓을 발사할 때 가장 중요한 순간은 카운트다운이 아니라, 궤도에 진입한 후 "시스템 정상(Nominal)"을 외치는 순간입니다. 오늘 20편은 지난 19편의 기술적 여정을 마친 여러분에게 보내는 '미션 완료 보고서'이자, 앞으로 펼쳐질 더 넓은 우주를 위한 '엔지니어의 나침반'입니다.마지막으로, 프로그래밍 언어라는 도구를 넘어 '개발자'라는 사람이 갖춰야 할 진짜 자질에 대해 이야기하며 이 시리즈를 마치려 합니다.본론 1: 코딩은 '번역'일 뿐이다많은 분들이 "어떤 언어를 먼저 배워야 하나요?.. 2026. 1. 19.