본문 바로가기

전체 글

(45)
Jest를 통해 unit테스트 진행하기 Jest 설치npm install --save-dev jestyarn add --dev jest 스크립트 추가 (package.json 파일에 추가)테스트파일이름은 example.test.js의 형태로 사용{ "scripts": { "test": "jest" }} 실행 명령어npm testyarn test  코드 예시describe('Path Components 관련', () => { test('경로에 요소를 추가하는 메소드 UNIX: appendComponent()', () => { const path = new Path('/home/user/documents/file.txt'); path.appendComponent('newfolder');..
URL URL(Uniform Resource Locator) URL의 구조 scheme://userinfo@host:port/path?query#fragment schemehttp, https, ftp, malto, fileURL이 사용되는 프로토콜파일 URL의 경우에는 file을 사용파일 URL의 구조 : file://host>/path>userinfo사용자 이름과 비밀번호 포함요즘은 보안상의 이유로 사용하지 않음hostwww.example.com, 192.168.1.1자원을 호스팅하는 서버의 도메인 이름 또는 IP 주소도메인 이름은 사람이 읽을 수 있는 형태의 주소이고, IP 주소는 네트워크 상에서 실제 자원을 찾기 위한 주소port호스트에서 사용되는 네트워크 포트 번호생략할 경우, 프로토콜의 기본 포트 사..
타입스크립트 컴파일 with readline 타입스크립트로 작성한 코드를 컴파일을 하려면 어떻게 될까? 컴파일이 되지 않는다.타입스크립트 파일을 자바스크립트 파일로 바꿔줘야 한다.npm install typescript --save-devnpm install --save-dev @types/nodetsc main.tsnode main.js 1. typescript를 먼저 설치해준다.2. readline을 사용하는 경우 필요한 모듈을 설치해 준다. 위와같은 예시이다.나의 경우는 설치를 했음에도 불구하고 에러표시가 났다. 그러나 실행결과는 잘 작동됨3. tsc main.jstsc 명령어를 사용하게 되면 타입스크립트 파일을 컴파일이 가능한 자바스크립트 파일로 변환하여 새로 생성함4. node main.js생성된 main.js를 node를 이용해 컴파일을..
[객체지향 프로그래밍] 객체지향 클래스와 오브젝트, 인스턴스정의클래스 (Class): 객체를 정의하기 위한 설계도나 틀클래스는 객체의 상태(속성)와 동작(메소드)을 정의예를 들어, Car 클래스는 자동차의 속성(예: 색상, 모델)과 동작(예: 가속, 제동)을 포함함오브젝트 (Object): 객체는 클래스로부터 생성된 구체적인 실체클래스가 설계도라면 객체는 그 설계도로부터 만들어진 실제 제품예를 들어, Car 클래스의 객체는 특정 색상과 모델을 가진 실제 자동차이다.인스턴스 (Instance): 인스턴스는 객체와 동일한 의미로 사용되며, 특정 클래스의 실제 예시Car 클래스의 인스턴스는 특정한 속성 값을 가진 자동차 객체를 의미 상속과 다형성상속 (Inheritance)정의: 상속은 기존 클래스(부모 클래스)의 속성과 메소드를 새로운 클..
[네이버 부스트캠프] 챌린지 과정 1주차 회고 240715 ~ 240719 1일차난이도도 높지 않고 편한 마음가짐으로 공부한것을 기록하며 앞으로의 나날이 평화로울 것이라고 생각하게 만드는 날이었다. 2일차갑자기 난이도가 최상으로 나왔던 날처음 보는 에러도 많이 나오고 블로그, stack overflow, 챗지피티, github 등 각종 사이트를 다 뒤져가면서 에러를 해결하느라 힘들었던 날 이때부터, 학습정리를 제대로 하기 힘들다는 생각을 했다. 3일차사실 챌린지가 멤버십 이전의 단계라 난이도가 높지 않을 것이라는 나의 우매한 판단을 완전히 부셔버리는 날이었다.2일차 때 진행했던 내용이 CS적으로는 양이 절대 적은 양이 아닌데 하루만에 완전 새로운 주제로 넘어 가는 것을 보고 대략 16개 분야의 핵심 CS가 배치되있지 않을까 하는 생각을 하게 되었다...
[Node.js] Process 노드 모듈 Process 노드 모듈Node.js의 process 모듈은 현재 실행 중인 Node.js 프로세스에 대한 정보를 제공하고, 제어할 수 있는 다양한 메서드와 속성을 포함함주요 속성process.argv:Node.js 프로세스의 실행 시 전달된 명령줄 인수 배열예: process.argv[0]는 Node.js 실행 경로, process.argv[1]는 실행된 파일 경로process.env:현재 프로세스의 환경 변수를 포함하는 객체예: process.env.NODE_ENV는 현재 환경 설정(예: development, production)을 나타냄process.pid:현재 프로세스의 PID(Process ID)process.platform:현재 실행 중인 플랫폼(운영체제)을 나타내는 문자열예: win32, ..
[Node.js] 메모리 관리 일반적인 프로세스 메모리 구조  일반적인 프로세스 메모리 모델은 프로그램이 실행되는 동안 사용하는 메모리의 구조 코드(텍스트) 섹션실행할 프로그램 코드가 저장되는 영역보통 읽기 전용으로 설정되어 있어 실행 중에 코드가 변경되지 않도록 함데이터 섹션초기화된 전역 변수 및 정적 변수가 저장되는 영역프로그램 시작 시 초기값을 가지고 있음초기화된 데이터 섹션: 초기값을 가진 변수초기화되지 않은 데이터 섹션(BSS: Block Started by Symbol): 초기값이 없는 변수. 실행 시 0으로 초기화힙(Heap)동적으로 할당되는 메모리 영역런타임 시 동적으로 크기가 변경될 수 있음메모리 할당 및 해제를 관리하기 위해 malloc, free 등의 함수를 사용스택(Stack)함수 호출과 관련된 지역 변수 및 매..
웹 브라우저 DOM 파서 웹 브라우저의 DOM 파서는 HTML 문서를 읽고, 이를 DOM(Document Object Model) 트리로 변환브라우저가 문서를 렌더링하고 상호작용할 수 있도록 만듦1. HTML 파싱 과정토크나이징(Tokenizing): HTML 문서를 읽어들여 토큰으로 분리하는 단계트리 구성(Tree Construction): 토큰을 기반으로 DOM 트리를 구성하는 단계 2. 토크나이징(Tokenizing)토크나이징 단계에서는 HTML 문서를 문자 단위로 읽어들이고, 이를 의미 있는 토큰으로 변환HTML5 사양에 정의된 토크나이저를 기반으로 수행됨데이터 상태(Data State)HTML 문서를 처음부터 끝까지 읽음각 문자를 읽어들이며, 현재 상태에 따라 다음 상태로 전환주요 상태데이터 상태: 기본 상태로, 일반 ..