Light Purple Pointer

개발

· 개발
개발자 모드 비활성화 시 접속이 잘 되는데 F12 누른 후 개발자 모드 활성화 시 네트워크 오류 화면이 계속 노출되는 오류가 발생했다.  F12 > 네트워크 탭에서 캐시 사용 중지 오른쪽에 [오프라인] 으로 되어있으면 나타나는 문제이다.'제한 없음' 으로 변경하니 오류가 해결되었다.
· 개발
📌 npm 과 yarn 이란?npm 과 yarn 은 자바스크립트 런타임 환경인 노드(Node.js)의 패키지 관리자이다.전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스에 올리면 npm, yarn과 같은 패키지 관리자를 통해 설치 및 삭제가 가능하다.( npm 온라인 데이터베이스: https://www.npmjs.com/)명령 줄 인터페이스(Command-line interface, CLI)를 통해 패키지 설치 및 삭제 뿐 아니라 패키지 버전 관리, 의존성 관리도 편리하게 할 수 있다. 📌 npm (Node Package Manager)npm 은 노드 패키지 매니저는 Node Package Manager 의 줄임말로 노드를 설치할 때 자동으로 설치되는 기본 패키지 관..
· 개발
📌 제어의 역전이란?프레임워크 없이 개발할 때에는 객체의 생성, 설정, 초기화, 메소드 호출, 소멸 (이하 객체의 생명주기)을 프로그래머가 직접 관리한다. 또한 전통적인 프로그래밍에서는 외부 라이브러리를 사용할 때, 개발자가 직접 외부 라이브러리를 호출하는 형태로 이용한다.프레임워크를 사용하면 객체의 생명주기를 모두 프레임워크에 위임할 수 있다. 즉, 외부 라이브러리가 프로그래머가 작성한 코드를 호출하고, 흐름을 제어한다. 제어의 역전은 기존의 개발 방식에서 개발자가 직접 흐름을 제어하는 것이 아니라, 외부의 프레임워크나 라이브러리가 제어 흐름을 대신하게 되는 것을 말한다.개발자가 작성한 객체나 메서드의 제어를 개발자가 아니라 외부에 위임하는 설계 원칙을 제어의 역전이라고 한다. 즉, 프레임워크는 제어..
· 개발
📌 라이브러리단순 활용가능한 도구들의 집합개발자가 필요에 따라 라이브러리를 선택하여 사용할 수 있다.예시TensorFlow: 머신러닝과 딥러닝을 위한 Python 라이브러리Pandas: 데이터 분석과 조작을 위한 Python 라이브러리Numpy: 수치 계산을 위한 Python 라이브러리jQeury: HTML 문서 탐색 및 조작, 이벤트 처리, 애니메이션, Ajax를 쉽게 처리할 수 있게 하는 Javascript 라이브러리Lodash: JavaScript 유틸리티 라이브러리로서 배열, 객체, 문자열 등 다양한 작업을 편리하게 처리할 수 있게 한다.  📌 프레임워크프레임워크는 코드를 프레임에 맞춰서 개발한다.ex) vue에서는 파일을 만들 때 .vue 라는 형태에 맞춰 사용한다.프레임워크는 프레임을 따라..
· 개발
📌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, 메모리, 파일, 네크워크, 입출력 장치 등- 커널은 항상 컴퓨터 자원만 바라보고 있기 때문에 사용자와의 상호작용은 전혀 지원하지 않는다.(이 때 등장하는 개념이 바로 쉘이다. 사용자는 쉘을 ..
김나나_
'개발' 카테고리의 글 목록