Root
👉 Java란? 어떤 CPU 에서라도, 실행가능하도록 만들어진 프로그래밍 언어 Java의 특징 가상 머신 사용 객체를 사용 ( 객체 지향 프로그래밍 ) 코드를 바로 바로 실행가능 - 인터프리터 메모리 자동 관리 - C++은 안됨 쓰레드 관리 API 제공 - 멀티 쓰레드 구현 쉬움 필요한 클래스만 로드 - 동적 로딩 TCP/IP 라이브러리 지원 http, htp 프로토콜 지원 👉 JVM이란? Java로 쓰여진 프로그램을 실행할 수 있는 가상머신 (Java Virtual Machine) C언어는 기계어로 바로 컴파일 하므로, CPU마다 각각의 컴파일러가 필요하지만, Java는 컴파일러가 Java클래스 파일로 번역( 바이트 코드 )하고, JVM의 excution이 클래스파일을 기계어로 ( 바이너리 코드 )로 ..
C언어란? 하나의 언어로 작성된 프로그램이, 여러개의 CPU에서 실행될 수 있도록 만든 프로그래밍 언어 ( CPU마다 프로그램을 따로 작성해주지 않아도 됨 ) 컴파일러란? C언어, 파스칼 등으로 구현된 프로그램 코드를 어셈블리어 혹은 기계어로 바꿔주는 프로그램 ( C언어에서 컴파일러란 말을 처음쓰기 시작했다. ) 링커란? 같은 CPU를 사용하더라도, 다른 운영체제를 사용하고 있다면 프로그램을 실행할 수 없다. ( OS마다 다른 커널을 가지고 있기에, 사용해야 하는 명령어가 달라진다. ) 링커는 기계어를 운영체제의 커널과 연결해, 운영체제가 실행할 수 있는 파일로 만들어준다. C언어 프로그램 실행과정 사람이 C언어로 명령어 작성하고 파일 저장 ( .c ) 컴파일러가 C소스파일을 CPU에 맞게 바꾼다. ( ..
👉 프로그램이란? 컴퓨터의 CPU에게 시킬 명령들을, 프로그래밍 언어로 적어놓은 파일 ( 실행 : 프로그램 속 명령어들을, 컴퓨터에게 시키는 것 ) 👉 프로세스란? 지금 컴퓨터에서 실행되고 있는 프로그램
기계어란? 컴퓨터의 CPU가 읽을 수 있는 "0과 1로 이루어진 명령어" CPU마다 기계어가 다른 이유 - 0과 1의 이진데이터 조합으로 명령어들을 만든다. ( CPU 제조사가 만든다. ) [ 예시 ] ( 010100001을 받으면, '키보드가 입력되게 하자' ) ( 10001010을 받으면, ''모니터 화면이 출력되게 하자' ) - 이 명령어에 맞게 작동하는 CPU를 만든다. CPU마다 똑같은 이진데이터를, 다른 명령으로 받아들이므로 서로 다른 CPU들은, 서로의 기계어를 명령어로 해석할 수 없다. CPU가 하는 일 이진데이터로 쓰여진 명령어를 해석하고, 해석된 명령어를 수행한다. CPU의 명령어 수행과정 사람이 컴퓨터에게 시킬, 명령어들을 작성하고 파일로 저장한다. ( 소스코드 작성 ) 작성된 소스파..
인터프리터란? 프로그래밍 언어를 바로바로 실행할 수 있는 환경 인터프리터들 jupyter notebook - python 실행 환경 jre - java 실행 환경
this란? 객체의 메서드가, 객체에 저장된 다른 속성에 접근할 수 있도록 하는 메모리주소 (포인터) ( 객체 자신의 메모리 주소 )
null undefined 뜻 비어있음, 알 수 없음, 존재하지 않음 ( null 이 할당되어 있음 ) 값이 할당되지 않음 (null 조차) 역할 비어있거나 알 수 없는 상태를 나타냄 값이 할당되지 않은 변수를 초기화 할때 사용 undefined는 시스템이 변수를 자동으로 초기화 해줄때 사용하고, null은 사용자가 변수가 비어있음을 직접 설정하고자 할때 사용한다.
Prototype이란? JS에서 객체를 만들기 위해 사용하는 객체 ( Prototype : 근원, 근원이 되는 ) Prototype을 만든 이유 Javascript는 클래스 개념이 없다. 그래서 기존의 객체(Prototype)를 참조해, 새로운 객체를 만드는 방식을 사용한다. 기본 Prototype 생김새 ( 최상위 객체 - 프로토타입이 없는 객체 ) const Object = { constructor: ƒ Object() // 자식 객체 만들때 사용하는 함수 hasOwnProperty: ƒ hasOwnProperty() isPrototypeOf: ƒ isPrototypeOf() propertyIsEnumerable: ƒ propertyIsEnumerable() toLocaleString: ƒ toLoc..
유닉스는 프로세스에 다섯 가지 번호를 부여했다. 리눅스도 유닉스 기반이므로, 위와 동일하게 번호를 가진다. PID - 프로세스 식별자 RUID - 실제 사용자 ID EUID - 유효 사용자 ID RGID - 실제 사용자 그룹 ID EGID - 유효 사용자 그룹 ID 사용자 계정관리에 사용 - RUID, RGID 접근 권한 관리에 사용 - EUID, EGID