목록공통 (5)
몽탁이의 개발일기
프로세스란? - 컴퓨터 위에서 연속적으로 실행되고 있는 프로그램 혹은 운영체제위에서 독립적으로 메모리에서 실행되는 프로그램이라고 합니다. 즉, 컴퓨터에서 실행되는 프로그램의 단위라고 할 수 있습니다. 그리고 프로세스 안에는 리소스(자원)들이 정해져 있습니다. 프로세스는 다음 그림과 같이 구성되어있습니다. 위 그림의 자원들은 각자만의 역할이 있습니다. code - 프로세스 안에 작성된 코드 저장 stack - 함수들이 어떤 순서로 실행되어야 하는지와 이 함수가 실행이 끝나면 어디로 다시 돌아가야 되는지에 대한 정보 heap - 오브젝트를 생성하거나 데이터를 생성할 때 저장되는 공간(동적으로 할당되는 변수들) data - 전역 변수와 static 변수를 저장 이러한 역할들을 가지고 있습니다. 쓰레드란? - ..
우선 인터넷이란 모두 함께 통신하는 대규모 컴퓨터 네크워크입니다. 컴퓨터 네트워크는 두대 이상의 컴퓨터를 연결하고 서로 통신하는것을 이야기합니다. 글로벌시대에 사는 우리 컴퓨터는 어떤식으로 연결이 되어있을까요? 물리적으로 선을 연결할수도 있고 와이파이나 블루투스와 같이 주파수로 무선연결하는 방식이 있습니다. 물리적인 연결은 컴퓨터가 만약 10대가 각각 서로 연결 되려면 45개의 플러그가 필요합니다. 하지만 글로벌적인 관점에서 보면 컴퓨터는 몇십억대가 훌쩍 넘어버리기 때문에 엄청난수의 플러그의수가 필요합니다. 이점을 보완하기 위해 라우터를 사용하게됩니다. 라우터는 컴퓨터에서 보낸 메세지가 올바른 대상 컴퓨터에 도착했는지 확인해주는 장치입니다. 이 장치를 활용하여 여러대의 컴퓨터를 각각 따로 연결하는것이 아..
모듈과 비슷한 개념이라고 볼 수 있습니다. 라이브러리는 특정 목적을 두고 해당 목적에 쉽게 달성할 수 있도록 만들어 놓은 로직이라고 생각합니다. 예를들어 javascript에서 jQuery를 사용하게 되면 좀더 간결하게 코딩을 할 수 있습니다. javascript에서 DOM에 접근 할때는 document.getElementById("id명") 이런식으로 접근을 하는데 jQuery에서는 $('#id명') 접근을 하게 됩니다. 이와 같이 개발자가 좀더 사용하기 편하고 간결하게 해주는 것이 라이브러리의 큰 목적이라고 볼 수 있습니다. 하지만 라이브러리에 너무 의존하게되면 안됩니다. 라이브러리도 원시코드를 기반으로 만들어져 있기 때문에 해당 라이브러리가 어떻게 동작되는지 모르게 되면 에러 발생시 근본적인 원인을..
UI는 User Interface의 약자로 사용자와 시스템이 상호작용을 할 수 있게 해주는 것입니다. 예를 들어 일반 사용자가 컴퓨터 화면에 문자를 출력할때 키보드라는 인터페이스를 통해 컴퓨터로 전달하여 컴퓨터가 이를 인식하고 그대로 출력하는 것을 UI라고 볼 수 있습니다. API는 Application Programming Interface의 약자로 개발자가 개발환경에 따라 사용하는 언어, 브라우저, 운영체제 등을 활용하여 제어하고 응용하여 개발을 가능하게 해주는것 입니다. UI와 API를 비교했을때 UI는 일반적인 사용자가 사용해야 되기 때문에 한눈에 봐도 알아보기 쉽고 사용하기 쉽게 만들어져 있습니다. 그에 비해 API는 소프트웨어를 제어하고 응용하여 게임을 만든다던가 웹을 만드는 등 전문적인 지식..
모듈(Module)은 소프트웨어적으로 기능을 하나의 단위로 나누는 것입니다. 쉽게 예를 들자면 각 기능들을 부품으로 만든다고 볼 수 있습니다. 모듈화는 여러가지의 기능을 부품처럼 나누는 것이라고 할 수 있습니다. 모듈화를 하는 이유는 1. 자주 사용되는 코드를 별도의 파일로 만들어서 필요할때마다 재활용할 수 있습니다. (재활용성) ex) 하나의 기능을 별도의 파일로 만들지 않을 경우 해당 코드를 사용하는 파일에 일일이 코딩을 해줘야 됩니다. 하지만 따로 별도의 파일을 사용하면 필요한 부분에서만 첨부시켜 다시 사용할 수 있습니다. 2. 코드를 수정 시에 필요한 로직을 빠르게 찾을 수 있습니다.(유지보수 ↑) ex) 여러 가지 기능들을 한 파일 안에 코딩을 해놓았다고 생각해보면 해당 부분을 고치기 위해 위에..