컴퓨터 과학컴퓨터 과학이라는 단어만 들어도 두려움이 들지 않나요?말란 교수님 조차도 컴퓨터 과학이라는 과목에 대한 두려움으로 2학년이 되어서야 들었으니 말이죠.하지만 말란 교수님의 말씀처럼 이 강의를 듣기 전과 비교하여 자신이 얼마나 성장했는지가 중요합니다.차근차근 강
컴퓨터는 단순하게 말하자면 하드웨어와 소프트웨어가 합쳐진 형태이다. 하드웨어란 전자 회로 및 기계 장치로 되어 있어 입출력 장치, 중앙처리장치(CPU), 기억장치 등으로 구성되어 있다. 소프트웨어는 그 하드웨어 위에서 하드웨어를 제어하며 작업을 수행하는 프로그램이다.컴
컴퓨터 시스템을 이루는 구성요소로 CPU, 주기억장치인 메모리 그리고 보조 기억 장치인 디스크와 씨디 등임을 앞서 학습했다. 여기에 I/O((입출력장치)까지 추가 된다면 그것을 컴퓨터를 이루는 기본 골격이라고 할 수 있는데, 이것을 제안한 사람이 폰 노이만이다.폰 노이
일반적으로 메모리라고 하면 기억이라는 개념이다. 컴퓨터에서 말하는 메모리는 기억소자 즉 반도체를 의미하는데, 반도체는 특성상 전류를 흐르게도 하고 흐르지 않게도 하는 특징이 있어 이를 이용해서 임시적인 내용들을 기억하게 만드는 것이다.기억장소라는 개념에서 확장하면 저장
컴퓨터나 스마트폰의 기기 그 자체(하드웨어)는 스스로 할 수 있는 일이 없다. 하드웨어의 설계를 바탕으로 하드웨어에게 일을 시켜야만 그 의미가 있다. 하드웨어에게 일을 시키는 주체가 바로 운영체제이다. 드웨어는 단지 그 하드웨어의 특정 기능을 수행 할 뿐인데, 이 컴퓨
프로세스는 프로그램이 실행 중인 상태로 특정 메모리 공간에 프로그램의 코드가 적재되고 CPU 가 해당 명령어를 하나씩 수행하고 있는 상태를 의미한다. 운영 체제에서는 프로세스를 사용하여 프로그램을 수행하게 되는데 실행 중인 하나의 애플리케이션을 프로세스라고 부른다. 사
스레드는 명령어가 CPU 를 통해서 수행되는 객체의 단위이다. 하나의 프로세스 내에는 반드시 1개 이상의 스레드가 존재하며, 이러한 스레드는 같은 프로세스에 있는 자원과 상태를 공유한다.같은 프로세스 내에 있는 스레드는 같은 주소 공간에 존재하게 되며 동일한 데이터에
2010년도 이후, 우리는 유니코드라고 불리는 인코딩 방식이 통일된 시대를 살아가고 있다. 문자열을 다루는 디테일한 방식에 대해 전부 알 필요는 없지만, 프로그래밍 언어마다 문자열을 다루는 자료형의 차이를 이해하기 위해 문자열을 다루는 기본적인 방식은 알고 있어야 한다
개발 프로세스, 즉 소프트웨어 개발 프로세스 모델은 소프트웨어 개발 생명주기(SDLC, Software Develpment Life Cycle)을 기반으로 만들어졌습니다.요구분석 및 시스템 명세 작성 : 문제분석 단계라고도 하며, 개발할 소프트웨어의 기능과 제약조건,
전통적인 IT 조직 구조로는 개발팀(Dev)과 운영팀(Ops)이 소프트웨어의 개발과 관리 및 유지보수를 담당해왔습니다.개발팀이 잦은 업데이트를 통해 제품에 변화를 만들어야 한다면, 운영팀은 이런 서비스의 구성의 변경을 최소화해 안정성을 확보하는데, 이 부분은 꽤 상충이
CI/CD는 약어로, 몇 가지의 다른 의미를 가지고 있습니다. CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기
서버는 ‘제공하는 주체’ 클라이언트는 ‘서버’의 반대 개념으로, 서버가 제공자의 관점이라면 클라이언트는 ‘제공 받는 대상’이다. 웹 서버: 웹 서비스를 제공하기 위한 서버 컴퓨터: Apache, IIS, NginX와 같은 웹 서버 소프트웨어를 사용하여 웹 서비스 할
SRS (Software requirements specification)은 다음과 같이 정의되어 있습니다. 소프트웨어가 무엇을 할 것이며 어떻게 작동할 것으로 예상되는지를 설명하는 문서입니다. 또한 제품이 모든 이해 관계자(비즈니스, 사용자)의 요구를 충족시키는데 필
RFP(Request For Proposal)를 통해 제안요청을 하고 프로젝트 계약이 완료되면 SRS(Software requirements specification)를 통해 프로젝트의 큰 그림을 설계합니다. 이때 프로젝트 관리자는 인력, 시간, 돈의 관점에서 성공적인
회사원 처럼 일을 처리하는 역할(중앙처리장치)이다.구성요소Core: 각종 연산을 수행하는 핵심요소 (Tread 단위)Cache MemoryContoroller컴퓨터 안에 데이터를 저장하는 장소그래픽 처리를 용이하도록(단순반복 작업): 실행가능한 파일 (코드로 작성한
요청 및 응답 메시지 모두에서 사용 가능한 일반 목적의(기본적인) 헤더 항목HTTP 메시지를 생성한 일시 (RFC 1123에서 규정)Date: Sat, 2 Oct 2018 02:00:12 GMT클라이언트와 서버 간 연결에 대한 옵션 설정(다소 모호한 복잡성 있음)Ex)