본문 바로가기

Computer Science6

바인딩(binding) 바인딩(binding)이란? - 컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것 - 프로그램 내에서 변수, 배열, 라벨, 절차 등의 명칭, 즉 식별자(identifier)가 그 대상인 메모리 주소, 데이터형 또는 실제 값으로 배정되는 것 - 원시 프로그램의 컴파일링 또는 링크 시에 확정되는 바인딩을 정적 바인딩(static binding) - 프로그램의 실행되는 과정에서 바인딩 되는 것을 동적 바인딩(dynamic binding) - 프로그래머가 코딩을 해서 컴파일을 하게 되면 프로그래머가 값을 변경할 수 없는 상태가 된는 것 - 메모리에 값을 할당하는 것 또한 바인딩이라고 할 수 있다. => 바인딩 이란 프로그램의 어떤 기본 단위가 가질 수 있는 구성.. 2023. 2. 28.
PATH 환경 변수(environment variable) 선행개념 - 윈도우에서 파일을 찾을때 가장 먼저 찾는 곳이 현재 디렉토리이다. - 터미널을 열면 가장 먼저 있는 장소가 현재 디렉토리이다. - cmd창에서 현재 위치에서 파일을 검색해도 내가 실행하려는 파일이 없으면 컴퓨터는 찾지 못한다. - 이런 불편함을 줄이기 위해서 설정하는것이 환경 변수 설정이다. 환경 변수 - 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임 - 운영체제에서 제공하는 키-값 쌍이다. - 윈도우나 리눅스나 같은 방식으로 동작하며, 아주 적은 양의 데이터를 저장하는데 유용하다. PATH - 특정한 파일이 있는 위치를 나타내는 주소이다. - Windows 에 존재하는 PATH라는 이름의 환경변수 - 어떤 디렉토리에서도 실행할 수 있는 파일들을 찾기 위한 경로를 .. 2023. 2. 22.
스크럼(애자일 개발 프로세스) 스크럼(Scrum)이란? 프로젝트 관리를 위한 상호, 점진적 개발방법론 이며, 애자일 소프트웨어 개발 중의 하나이다. 스크럼(Scrum)은 소프트웨어 개발 프로젝트를 위하여 고안됨. 애자일 스크럼은 특정 개발 언어나 방법론에 의존적이지 않는다. 제품 개발 뿐만 아니라 일반적인 프로젝트 관리에도 사용 가능한 프로세스 프레임워크이다. 스크럼은 작은 주기로 개발 및 검토를 하며 효율적인 협업 방법을 제공한다. 스크럼 역사 일본의 노다카 이쿠지로와 타케우지 히로타카가 1986년 1~2월 Harvard Business Review에 올린 "The New New Product Developement Game" 에서 시작된다. -> 그 후 1991년 디그라스(DeGrace)와 슈탈(Stahl)이, "Wicked Pr.. 2023. 2. 16.
CPU, 메모리, 레지스터 2022. 10. 31.
컴퓨터'언어' 역사 컴퓨터 "언어"는 2진수(0, 1)로 되어있다. 명령어(2진수로 되어있는 데이터)를 컴퓨터가 받아들여 실행한다. 2진수를 사용하는 이유 - 컴퓨터라는 장치 자체는 전기적 신호로 되어있다. - 전류의 차단, 흐름이란 두가지 상태케이스의 개념을 0, 1에 부여했다. - 컴퓨터에게 있어서 0, 1은 전기적 신호이다. - 특정 신호가 들어오면 특정 동작을 실행 하는 회로로 구성 되어있다. 언어 초창기에는 우리가 컴퓨터의 명령을 직접 알고있어야 했다. 특정 명령어를 넣어주면 CPU가 특정 동작을 취한다는 방식이다. 하지만 CPU의 제조사마다, 버전마다 명령어가 달랐다. 각자 다른 명령어를 전부 암기할 수 없으므로 명령어가 통일되며 만들어진게 "운영체제(OS)"이다. 우리는 OS가 요구한 명령어를 넣어주면 각 제조.. 2022. 7. 12.
트리(tree)와 이진트리(binary tree) concepts 1. TREE - 모양이 뒤집어 놓은 나무와 같다고 해서 이름 붙혀짐 - 계층적인 구조를 표현할 때 사용할 수 있는 자료구조 - "루트노드를 제외한 모든 노드는 단 하나의 부모노드만을 가진다" ● 임의의 노드에서 다른 노드로 가는 경로(path)는 유일하다. ● 회로(cycle)가 존재하지 않는다. ● 모든 노드는 서로 연결되어 있다. ● 엣지(edge)를 하나 자르면 트리가 두 개로 분리된다. ● 엣지(edge)의 수 |E| 는 노드의 수 |V|에서 1을 뺀 것과 같다. - 노드(node) = 검정색 동그라미(데이터가 담김) - 엣지(edge) = 노드와 노드 사이를 이어주는 선 - 경로(path) = 인접한 노드들로 이뤄진 시퀀스, 경로의 길이는 경로에 속한 엣지의 수 - 트리의 높이.. 2022. 7. 11.