CS 썸네일형 리스트형 개발자처럼 사고하기: 시작하기 전에 '이것'만 알아두세요 전공 서적보다 의외로 쓸모 있을지도? "코드를 잘 치는 법"이 아니라, 코드 전에 알아야 할 사고방식에 대한 이야기입니다.Part 1. 개발, 시작하기 전에 알아야 할 것인간의 가장 강력한 지적 능력은?퀴즈를 하나 내보겠습니다. 인간의 가장 강력한 지적 능력은 뭘까요?창의력? 상상력? 언어?아닙니다. 이런 능력들을 원천적으로 파고 들어가면 하나로 귀결됩니다. 답은 추상화(Abstraction)입니다. 추상화란, 복잡한 현실에서 핵심만 뽑아내 단순한 구조로 만드는 능력입니다. 우리는 매일 추상화를 합니다. 사과 하나하나를 볼 때 Braeburn, Fuji, Gala 같은 개별 품종을 일일이 구분하지 않죠. 그냥 "사과"라는 개념으로 묶습니다. 여러 동물들을 보고 "포유류"라는 분류를 만드는 것도 마찬가지입.. 더보기 [CS 공부 #4] 알고리즘: 가장 효율적인 길을 설계하는 사고의 기술 지난 글에서 우리는 운영체제(OS)를 통해 **“한정된 자원을 어떻게 나눌 것인가”**를 살펴봤습니다.이제 그 다음 질문이 남았습니다.“그 자원을 가장 효율적으로 활용하는 법은 무엇일까?”그 해답을 찾는 학문, 바로 **알고리즘(Algorithm)**입니다.알고리즘은 단순히 코드를 빠르게 만드는 기술이 아니라,복잡한 세상 속에서 효율적인 길을 설계하는 사고의 기술입니다.1️⃣ 효율은 ‘속도’가 아니라 ‘사고의 구조화’다‘알고리즘’ 하면 대개 복잡한 수식, 그래프, 백준 문제가 먼저 떠오르죠.하지만 알고리즘의 본질은 코드가 아닙니다.그것은 문제를 가장 적은 노력과 비용으로 해결하기 위한 구조적 사고의 틀입니다.컴퓨터과학은 이 사고를 수식으로 표현합니다.시간 복잡도(Time Complexity) — 즉, ‘.. 더보기 [CS 공부 #3] 운영체제 : 한정된 자원을 어떻게 나눌 것인가? 지난번 네트워크를 통해 연결의 중요성을 논했다면, 오늘은 그 연결된 세상 속에서 가장 근본적인 문제,바로 '한정된 자원을 어떻게 나눌 것인가'에 대해 이야기해 보려 합니다. 이 질문은 비단 컴퓨터 시스템에만 국한되지 않습니다.우리의 하루, 조직의 시간, 그리고 나 자신의 에너지까지 모두 '유한한 자원'이기 때문이죠. 저는 한때 프로젝트를 동시에 일곱 개 맡아 진행한 적이 있습니다.그때의 제 하루는 마치 과열된 CPU 같았습니다. 회의 알림은 인터럽트처럼 쉴 새 없이 들어왔고, 가장 중요한 문서 작업은 언제나 ‘대기열’(Queue)에 밀려 있었습니다. 그때 처음으로 깨달았습니다."이건 단순한 업무 과부하가 아니라, 근본적인 자원 관리 문제구나."1. 보이지 않는 관리자: 운영체제의 기본 원리운영체제(OS).. 더보기 [CS 공부 #2] 네트워크 : 연결되지 않으면 문제도 풀리지 않는다 네트워크(Network): 끊김을 극복하고 문제를 해결하는 구조의 철학 오늘은 우리가 너무나 당연하게 여기는 것, 바로 연결에 관한 이야기를 해보려 합니다. 문제를 해결한다는 것은 결국 '원인을 찾고 관계를 이해하는 일'이지만, 사실 모든 문제는 '끊어진 곳'에서 시작됩니다. 전기가 끊기면 불이 꺼지듯, 명령이 전달되지 않으면 프로그램은 멈춥니다. 이 모든 현상의 공통분모는 명확합니다.“연결이 끊기면, 문제도 풀리지 않는다.” 그래서 이번 성장의 기록에서는, 이 끊김을 극복하기 위해 태어난 과학, 네트워크(Network)를 통해 "연결이 어떻게 문제를 해결하게 되는가"를 탐구해 보겠습니다.1. 연결이 없던 시절의 절박함: 속도가 아닌 '생존'을 위한 설계네트워크는 처음부터 '속도' 경쟁을 위해 태어난 기.. 더보기 [CS 공부 #1] 코딩 학원 등록 전에, 진짜 알아야 할 것 코딩 학원 등록 전에, 진짜 알아야 할 것혹시 ‘컴퓨터과학’ 하면 ‘코딩’부터 떠오르시나요? 사실 저 또한 그랬습니다.서비스를 만드는 기획자로 일하면서도, 컴퓨터과학은 개발자들만의 전문 영역이라고 생각했죠. 하지만 시간이 지날수록 깨닫게 된 것이 있습니다.우리가 쓰는 혁신적인 서비스들이 세상을 바꾸는 진짜 비밀은 화려한 코딩 기술이 아니었습니다.그것은 바로 문제를 체계적으로 분석하고, 가장 효율적인 해결책을 설계하는 사고의 힘이었습니다.그리고 그 힘의 근원이 바로 컴퓨터과학이었죠. 이 시리즈는 코딩 기술을 가르쳐주지 않습니다. 대신, 그보다 훨씬 근본적인 것, 바로 세상을 움직이는 가장 강력한 생각의 도구인 ‘문제 해결을 위한 사고방식’에 대해 이야기하려고 합니다. 문제를 '찾는 힘'과 '푸는 힘' .. 더보기 이전 1 다음