Light Purple Pointer

전체 글

· Vue3
Evan You 가 2014년에 출시vue.js는 가벼우면서도 쓰기 쉽고 유연한 개발 도구 지향User Interface 개발을 위한 자바스크립트 프레임워크 📌 Vue의 특징높은 유연성: 다른 프레임워크/라이브러리와 쉽게 통합할 수 있는 플러그인 시스템을 제공한다. 뷰 레이어 관리에 집중하되, 상태 관리나 라우팅 같은 다른 기능은 프로젝트 요구 사항에 맞게 선택해서 적용할 수 있다.강력한 반응성 시스템: 상태 변경을 감지해 DOM을 자동으로 업데이트하고 부가적인 동작을 수행하는 반응성(Reactivity)이 뛰어나다. UI 업데이트 관리가 쉽고, 사용자 경험을 향상시키는 데 도움이 된다.컴포넌트 기반 아키텍처: 애플레이션을 작고 독립적인 컴포넌트(Component) 단위로 구성하기 때문에 코드 재사용성..
· 개발
📌Thread (쓰레드)A Thread (or lightweight process) is a basic unit of CPU utilization: 쓰레드는 프로세스의 실행 주체로, 프로세스가 할당받은 자원을 바탕으로 실행하는 실행 단위 이다.Thread 의 구성(쓰레드가 독립적으로 가지고 있는 것)program counterregister setstack spaceThread가 동료 thread와 공유하는 부분(= task)code sectiondata sectionOS resources (각종 자원들)전통적인 개념의 heavyweight process는 하나의 thread를 가지고 있는 task로 볼 수 있다. - 쓰레드는 프로세스 내부에 CPU 수행 단위가 여러 개 있는 경우이다.- program..
· 개발
📌 프로세스의 개념Process is a program in exectuion: 실행 중인 프로그램프로세스의 문맥(context)CPU 수행 상태를 나타내는 하드웨어 문맥Program Counter각종 register 프로세스의 주소 공간 (메모리와 관련)code, data, stack : code, data, stack 에 어떤 내용이 담겨있는가?프로세스 관련 커널 자료 구조PCB(Process Control Block)Kernel stack - 그림 안에서의 PC: Program Counter- R1, R2 ... : Register- 프로그램의 상태를 알 수 있는 것이 문맥이다. (현재 상태를 나타내는 것)- 프로그램이라는 것은 CPU를 잡고 매시간 instruction 을 실행 한다.- 프로그램..
· 개발
저장장치 계층 구조  - 맨 위에는 CPU 가 있는데, 그 안에 레지스터가 있다.- 캐시 메모리도 CPU 안에 있다.- 메인 메모리는 D램으로 구성되어 있다.- 위로 갈 수록 속도가 빠르고, 단위 공간 당 가격이 비싸다 = 용량이 적다- Volatility(휘발성): 레지스터, 캐시메모리, 메인 메모리는 휘발성 매체이다.- Primary: CPU 에서 직접 접근할 수 있다 (=Exectuable 실행 가능하다) = byte 단위로 접근 가능해야 한다.- 하드 디스크는 섹터 단위로 접근이 가능하다.- 밑으로 가면 속도가 느리다.- main memory 는 registers 보다 속도가 느리기 때문에 중간에 Cache Memory가 있다. 캐시 메모리는 용량이 적다. 당장 필요한 것만 적재(이를 캐싱이라고 ..
· 개발
컴퓨터 시스템 구조  - 메모리는 CPU의 작업 공간- device controller: I/O device 를 담당하는 작은 CPU라고 생각- device controller의 작업공간 = local beffer- CPU 는 메모리에서 instruction 을 읽고 실행한다.- CPU 안에는 메모리보다 더 빠르면서 정보를 저장할 수 있는 작은 공간이 있다 = registers- mode bit: CPU 에서 실행되는 것이 운영 체제인지, 사용자 프로그램인지 구분해 주는 것- CPU는 기본적으로 메모리의 instruction 을 실행한다. 순차적으로 실행하는 중에, 키보드 입력이 발생하거나 디스크를 읽을 일이 필요거나 화면 출력이 필요하면 device controller 한테 해당 일을 시킨다- time..
· 개발
📌 운영체제(Operating System, OS)란?- 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층- 협의의 운영체제(커널): 운영체제의 핵심 부분으로 메모리에 상주하는 부분 (좁은 의미)- 광의의 운영체제: 커널 뿐 아니라 각종 주변 시스템 유틸리티 포함한 개념 (넓은 의미)- 좁은 의미로 얘기할 때는 운영체제 = 커널 이라고 생각하면 된다.  📌운영체제의 목적1) 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공운영체제는 동시 사용자 / 프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행2) 컴퓨터 시스템의 자원(resource)을 효율적으로 관리 (=> 핵심적 기능..
· 개발
운영체제(Operating System, OS)는 컴퓨터 시스템에서 핵심적인 역할을 하는 소프트웨어이다.운영체제의 구조는 크게 커널과 쉘로 나눌 수 있따. 운영체제는 커널과 셸 및 여러가지 기능(라이브러리, 시스템 프로그램 등등)이 추가된 상태를 통칭해서 운영체제(OS)라고 부른다.   커널( kernel )- 사전적 의미: 알맹이, 핵심- 운영체제의 90%를 차지하는 핵심부분으로, 운영체제 내부에서 컴퓨터의 하드웨어를 제어한다.- 컴퓨터 자원(System Resource)들을 관리하는 역할* 컴퓨터 자원: CPU, 메모리, 파일, 네크워크, 입출력 장치 등- 커널은 항상 컴퓨터 자원만 바라보고 있기 때문에 사용자와의 상호작용은 전혀 지원하지 않는다.(이 때 등장하는 개념이 바로 쉘이다. 사용자는 쉘을 ..
· 개발
터미널(terminal) = terminal emulator- 소프트웨어(호스트와 통신하는 소프트웨어)- 서버의 로컬 또는 원격으로 접속할 수 있는 콘솔을 구현한 소프트웨어- 커맨드를 입력하는 쉘을 실행하기 위한 포장(wrapper) 프로그램- 터미널 = TV / 쉘 = 방송 콘솔(console)- 하드웨어(물리적으로 직접 호스트에 붙어있는 장치)- 서버의 로컬 장치에서 직접 명령어를 작성할 수 있는 입출력 장치- 옛날 컴퓨터를 사용할 때 컴퓨터에 직접 연결하던 장치 - 물리적 터미널- 지금은 옛날처럼 물리적 터미널이라고만 정의하지 않고 터미널을 콘솔이라 부르기도 한다. 쉘(shell)- 유저와 커널사이를 이어주는 명령어 해석기- 실제로 명령어를 전달하고 결과를 전달 받는 프로그램- 사용자가 명령어를 입..
· 개발
📌 인증서를 사용하는 이유는?우리가 특정 서버에 요청을 주고 받을 때 수 많은 라우터와 스위치를 거치게 되는데, 그 중간에서 누군가가 우리의 패킷을 훔쳐 (Sniffing) 볼 수 있다. 패킷을 훔쳐 본다는 것은 비밀번호와 같이 민감한 정보를 제 3자가 열람 할 수 있다는 뜻이다.만약 네트워크 데이터가 암호화 된다면, 중간에 공격자가 패킷을 열람하더라도 데이터가 유출되는 것을 막을 수 있다.오늘날 가장 널리 쓰이고 있는 암호화 방식이 SSL/TLS1 라는 것인데, 이 방식은 '인증서'라고 하는 일종의 서명을 사용한다.* TLS (Transport Layer Security): 인터넷에서 정보를 암호화 해서 송수신하는 프로토콜넷스케이프 커뮤니케이션스사가 개발한 SSL 에 기반한 기술로, 국제 인터넷 표준..
· JavaScript
null 타입 null 타입의 값은 null 이 유일하다. 자바스크립트는 대소문자를 구별하므로 null, Null, NULL 등과 다르다. 프로그래밍 언어에서 null은 변수에 값이 없다는 것을 의도적으로 명시(의도적 부재, intentional absence)할 때 사용한다. 변수에 null을 할당하는 것은 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미이다. 함수가 유효한 값을 반환할 수 없는 경우 명시적으로 null을 반환하기도 한다. 예를 들어, HTML 요소를 검색해 반환하는 document.querySelector 메서드는 조건에 부합하는 HTML 요소를 검색할 수 없는 경우 에러 대신 null 을 반환한다. 심벌 타입(Symbol) 심벌은 ES6에서 추가된 7번째 타입으로, 변경..
김나나_
김나나 코딩일기