컴퓨터 구조와 운영 체제에 관한 동영상 강의를 들으며 전체적인 개관을 학습하려고 한다. 강의를 듣다 보니 책에 있는 내용을 이야기하는 것 같아 이 강의와 본 강의를 합쳐서 공부하기로 했다.
대부분 개발자 지망생들은 프로그래밍 공부를 시작할 때 프로그래밍 언어부터 접한다. 나도 그랬던 것 같다. 개발 공부를 시작한 지 1년이 조금 넘은 지금에서야 컴퓨터 구조와 운영체제에 대해 공부할 필요성을 느꼈다.
프로그래밍 문법만큼 컴퓨터의 근간을 아는 것이 중요하다.
컴퓨터의 근간을 알게 되면 이 두 가지를 습득하게 된다.
문제 해결
프로그래밍 언어의 문법만 알고 있는 개발자들은 어찌 해야 할지 알지 못한다. 프로그래밍 강의나 책에 나오는 코드를 똑같이 따라 작성했는데도 코드가 제대로 작동하지 않는 경우가 있다. 어떤 컴퓨터에서는 코드가 제대로 작동하고, 어떤 컴퓨터에서는 제대로 작동하지 않는 상황이 의외로 빈번하게 발생한다.
이런 경우는 분명 코드상의 문법적인 오류만이 원인은 아닐 것이다.
하지만 컴퓨터의 구조에 대해 알고 있는 개발자는 문제 상황을 빠르게 진단할 술 있고, 문제 해결의 실마리를 다양하게 찾을 수 있다. 이는 컴퓨터를 미지의 대상이 아닌 분석의 대상으로 바라볼 수 있기 때문이다.
컴퓨터의 구조를 아는 개발자는 채용에 있어서도 큰 이점이 된다. 기술면접에서 컴퓨터 구조에 관한 소양을 검증하거나 반드시 알아야 하는 분야로 명시하기도 한다.
컴퓨터 구조 지식은 문법에 맞는 코드만 작성할 줄 아는 개발자를 넘어 다양한 무제를 스스로 해결할 줄 아는 개발자로 만들어 준다.
성능, 용량, 비용
성능, 용량, 비용을 고려하지 않고 개발하는 개발자는 단 한 사람도 없을 것이다.
자신이 웹사이트를 개발했다고 가정해보자. 우리가 개발한 웹사이트는 여느 프로그램과 마찬가지로 컴퓨터에서 작동하기 때문에 사용자에게 선보이려면 이를 실행할 컴퓨터, 즉 서버 컴퓨터가 필요하다.
이렇게 검색을 하면 비용도 저장 용량도 천차만별인 서버 컴퓨터가 검색된다. 개인용이라는 별 문제가 되지 않으나 프로그램을 실행할 서버 컴퓨터를 고를 때는 문제가 된다. 무작정 저렴한 컴퓨터를 고르면 턱없이 부족한 성능으로 인해 곤란한 상황에 처할 수 있다.
이럴 때 우리는 어떤 컴퓨터를 선택해야 할까? 내가 지금 개발한 코드가 어느 정도의 성능, 용량, 비용의 컴퓨터가 필요한지 개발자 스스로 판단할 수 있어야 한다.
클라우드 컴퓨터인 경우에도 직접 선택해야 한다. 사용자가 많은 프로그램은 필연적으로 성능, 용량, 비용이 고려된다. 그래서 컴퓨터의 구조를 아는 것은 매우 중요하다. 컴퓨터의 구조에서 배우는 내용은 결국 성능, 용량, 비용과 직결되기 때문이다.
단원 마무리하기
학습을 마치고
컴퓨터 구조를 왜 배워야 하는지 확실히 이해할 수 있었고, 컴퓨터 구조를 알게 되면 알게 되는 이점에 대해서 학습했다. 오늘은 아침에 집중이 잘 되지 않고 공부하는데 시간이 평소보다 많이 걸리는 것 같다.
확실히 집에서 공부할 때와 인사교에 나와서 할 때는 큰 차이가 있다. 집에서 하면 놀고 싶은 유혹만 이기면 조용히 공부에 집중할 수 있는 최적의 환경이 만들어진다. 하지만 밖에 나와 사람들과 함께 있으면 많이 소란스럽고 집중도 훨씬 잘 되지 않는다.
그래도 개발은 혼자할 수 없으니 이런 환경에 적응은 해야 할 것이다.
'알고리즘 및 자료 관리 > 컴퓨터 구조 & 운영체제' 카테고리의 다른 글
컴퓨터 구조 시작하기 4 - 컴퓨터 구조의 큰 그림 2 : 컴퓨터의 4가지 핵심 부품 이어서 (0) | 2024.10.14 |
---|---|
컴퓨터 구조 시작하기 3 - 컴퓨터 구조의 큰 그림 1 : 컴퓨터가 이해하는 정보 및 컴퓨터의 4가지 핵심 부품 (0) | 2024.10.14 |
컴퓨터 구조 시작하기 1 - 혼공컴운으로 공부를 시작하기 전에 (0) | 2024.10.14 |
소프트웨어 2 - 데이터 형태와 처리 (0) | 2024.10.14 |
소프트웨어 1 - 소프트웨어에 대하여 (0) | 2024.10.13 |