목록전체 글 (116)
gpffh1011

서버(server)란? 메인보드와 CPU, RAM 등으로 구성된 컴퓨터이다. 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 프로그램 또는 장치(device)을 말한다. 보통 서버 하면 위와 같은 대형컴퓨터를 떠올리는데, 수- 많은 클라이언트에게 서비스와 정보를 제공 해야하고, 또 수-많은 정보를 저장해 놓아야하는 기업이 아니라면 서버를 위한 하드웨어는 컴퓨터이면 된다. 고성능 고안정성의 컴퓨터, 내 앞의 똥컴, 핸드폰 등 어떤 형태의 컴퓨터이든 정보&서비스 제공 역할을 하는 주체이면 위와 같은 대형 컴퓨터가 아니더라도 '서버컴퓨터'로 불릴 수 있다. 서버는 프린터 제어나 파일 관리 등 네트워크 전체를 감시·제어하기도 하며, 메인프레임이나 공중망을 통한 다른 네트워크과의 연결, 데이터·프로..
@컴파일(compile) 가나다...abc...123...%();등 다양한 문자를 사용하는 사람과 달리 컴퓨터는 0과 1로 구성된 2진코드로만 모든 명령을 이해하고 실행하기에, 컴퓨터에게 명령을 내리기 위해서는 우리의 언어를 컴퓨터가 이해할 수 있도록 번역이 필요하다. 이 번역 과정을 컴파일이라 한다. (프로그래밍언어,고급언어) (기계어) (ex-java) @컴파일러(compiler) java, C언어 등의 특정 프로그래밍 언어로 쓰여있는 문서를 컴퓨터가 이해할 수 있는 기계어,어셈블리어 등 다른 프로그래밍 언어로 번역해 주는 프로그램을 말한다. (a.k.a. 번역기)
-- 동적할당 -- 메모리 동적할당이란, 프로그램을 실행하는 중 필요한 메모리 공간을 할당하는 것을 말한다. 사용이 끝나면 운영체제가 사용 할 수 있도록 반납하고 다음 요구시 재 할당을 받을 수 있다. 동적으로 할당된 메모리 공간은 프로그래머가 직접 해제하거나 가비지 컬렉터에 의해 해제된다. -- 정적할당 -- 메모리 정적할당은, 메모리의 크기가 하드 코딩되어 있기 때문에, 프로그램이 시작 될 때 필요한 메모리의 크기를 예상해서 미리 할당(확보) 한다는 특징을 갖는다. 정적할당된 메모리의 경우 프로그램을 실행하는 도중에는 해제되지 않고 있다가, 프로그램 종료 시 운영체제가 회수해 간다. -- 가비지컬렉터(Garbage Coolector) -- '주소를 잃어버려서 사용할 수 없는 메모리', '정리되지 않은..

프로그램 실행 순서 메모리의 구조 사용자가 프로그램을 실행하면 운영체제(OS)는 먼저 프로그램을 메모리(RAM)에 로드(load) 한다. 이때 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. OS는 코드(code) / 데이터(data) / 스택(stack) / 힙(heap) 4영역에 프로그램에서 사용되는 변수들을 저장 할 메모리를 할당 한다. 코드(Code) 영역 메모리의 코드 영역은 우리가 작성한 소스코드가 들어가는 부분. 즉, 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부른다. 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수, 제어문, 상수 등이 여기에 저장된다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리한다. 데이터(Data) 영..

숫자 123을 표현하는 방식에는 아래와 같이 여러가지가 있다. 16진수 : 7B 10진수 : 123 8진수 : 173 2진수 : 1111011 이 중 우리가 일상적으로 사용하는 숫자 표현 방식은 10진수 이다. 그러나 컴퓨터는 기본적으로 2진수를 사용한다. 13 => 1101과 같이 이진수로 표현하기 쉬운 수도 있지만, 0.3 => 0.0100110011......(0011의 무한 반복) 과 같이 이진수로 표현하지 못하는 소수가 발생한다. 이와 같은 경우 어쩔 수 없이 컴퓨터에는 가장 근사치의 값이 저장된다. 이 근사 값을 저장하는 방법에는 고정 소수점과 부동소수점 두가지가 있다. 고정 소수점 정수를 표현하는 비트 수와 소수를 표현하는 비트 수를 미리 정해 놓고 해당 비트 만큼만 사용해서 숫자를 표현하는..
프로그램은 인간이 이해 할 수 있는 고급언어와 기계가 이해 할 수 있는 기계어의 번역(컴파일)을 통해 만들어 진다. @고급언어 일반적으로 언급되는 프로그래밍 언어 Java C언어, Python등 추상화 되어 있는언어 고급언어를 컴파일러가 어셈블리어로 번역 ▼ ▽ 컴파일러 ▼ @어셈블리어(assembly language) 컴파일러로 부터 생성된 기계가 이해할 수 있는 형태로 번역된 언어 기계어와 일대일 대응이 되는 낮은 사고방식의 언어 CPU의 종류에 따라 서로 다른 코드를 가짐 어셈블러는 어셈블리어를 기계어로 번역 ▼ ▽ 어셈블러 ▼ @기계어 0과 1로 이루어진, 컴퓨터가 직접 해독하고 실행 할 수 있는 언어 프로그램을 나타내는 가장 낮은 단계의 언어 CPU의 종류에 따라 서로 다른 코드를 가짐(=CPU..

1. 팅커캐드에 들어가 아래 그림과 같이 Arduino Uno R3와 작은 브레드보드에 저항과 LED를 연결하고, 코드를 작성한다. (아두이노를 사용하기전에 사전 확인) 2. 아두이노 키트를 이용하여 팅커캐드에서와 같이 만든다. 3. 본체에 usb를 연결하여 아두이노 키트와 연결한다. (본체를 배터리로 사용) 4. 아래 그림과 같이 포트를 설정한다. 5. 아두이노창에 팅커캐드에서와 같이 입력한다. 6. ctrl + u 를 눌러 실행한다.