본문 바로가기

CS 공부60

컴퓨터의 기본구조 최종 수정 : 24.12.26컴퓨터의 기본구조컴퓨터시스템은 크게 하드웨어(hardware)와 소프트웨어(software)로 구성된다. 하드웨어는 기계적인 장치이고 소프트웨어는 프로그램이다.핵심적 하드웨어로는 중앙처리장치가 있고 그 외에 주변장치인 메모리장치, 입력장치, 출력장치가 있다. 이 장치들은 시스템버스에 연결되어 있다. 소프트웨어는 하드웨어장치를 제어하며 시스템 프로그램과 응용 프로그램이 있다. 1. 구성요소중앙처리장치(CPU ; Central Processing Unit)연산장치(arithmatic & logic unit) : 사칙연산이나 논리연산을 담당레지스터(register) : CPU 내의 기억장치제어장치(control unit) : 프로그램을 처리하는 가장 중심적인 장치보통 CPU를 공부.. 2024. 12. 26.
컴퓨터 구조를 공부해야 하는 이유 최종 수정 : 24.12.25컴퓨터 구조컴퓨터는 컴퓨터 하드웨어 위에서 실행되기 때문에, CPU가 명령어를 어떻게 처리하는지, 메모리가 어떻게 관리되는지, 캐시가 어떻게 작동하는지 이해하는 것이 중요하다. 이러한 이해를 바탕으로 더 효율적인 코드를 작성할 수 있고, 성능 문제가 발생했을 때 그 원인을 더 쉽게 파악하고 해결할 수 있다. 공부해야 하는 이유프로그램의 실제 동작 원리를 이해하고 이를 바탕으로 더 효율적이고 안정적인 소프트웨어를 개발하기 위해서다. 모든 프로그램은 결국 CPU, 메모리, 입출력 장치와 같은 하드웨어 위에서 실행되기 때문에, 이러한 하드웨어의 동작 원리를 이해하는 것은 프로그래밍의 깊이를 더해주는 핵심 요소가 된다. 예를 들어, CPU가 명령어를 어떻게 처리하는지, 캐시가 어떻게.. 2024. 12. 25.
컴퓨터 과학에 대하여 최종 수정 : 24.12.25컴퓨터 과학컴퓨터 과학(Computer Science)를 줄여 CS라고 부른다. 개발자에게 필요한 핵심 역량은 뭘까? 그것은 '근거'를 설명하는 능력일 것이다. 어떻게 작동하고, 왜 특성 능성을 내는지에 대한 '근거'를 말하고 '설명'할 수 있는 것이야말로 진정한 역량이라 생각한다. 그런 근거를 설명하는 능력은 상당 부분 컴퓨터 과학에서 찾을 수 있다. 컴퓨터 과학은 대단히 깊고 방대하며, 흥미로운 학문입니다.개발자가 반드시 알아야 할 배경지식임에도 불구하고, 학습의 범위와 로드맵이 명확하지 않은 경우가 많아 기술 면접에만 필요한 단순 감기 과목쯤으로 오해받거나 아예 학습을 생략하는 경우도 많습니다._이것이 컴퓨터 과학이다.(p.4)  공부해야 하는 이유실무적 역량기술 면접과.. 2024. 12. 25.
CS 지식 공부 순서 최종 수정 : 25.1.5CS 공부는 지름길이 없다. 기본서가 되는 책을 사서 여러 번 정독하고 계속 꼬리를 물어가는 형태로 질문하면서 학습하고 반복해야 한다. 비전공자인만큼 CS를 자발적으로 공부해야 한다. 단단한 CS 지식은 많은 면접들의 기본이 될 뿐만 아니라 빠르게 변화하눈 IT 산업 흐름 속에서도 흔들리지 않게 만들어주는 기둥 역할을 할 것이다. CS는 앞으로 개발자로서 길을 걷는 좋은 발판이 되어준다. '기본기'라고 할 수 있기에 풍부하고 정확한 CS지식을 갖추는 것은 좋은 개발자가 되는 척도이다. 기업에서도 이 기본기를 가장 중요하게 보고 면접에서도 반드시 질문으로 나온다.5대 과목 : 자료구조, 알고리즘, 운영체제, 데이터베이스, 네트워크CS 공부 순서A. 점점 깊이 들어가는 방식실용적이고.. 2024. 12. 25.
캐시(Cache) 캐시는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. - 위키백과 모든 데이터를 캐시에 담기에는 저장 공간이 그리 크지 않다. 그래서 보통 지역성을 나우어 캐시를 분류한다. 지역성에는 크게 두 개가 있다. 1) 시간적 지역성 - 특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은 것 - 이런 경우 캐시에 한번 가져와서 저장한 후, 여러 번 사용하게 되면 메모리에 접근하는 횟수가 줄어든다. 따라서 캐시는 반복적으로 사용되는 데이터가 많을수록 높은 효율성을 낸다. 2) 공간적 지역성 - 특정 데이터와 가까.. 2023. 8. 9.