본문 바로가기

노드14

[Node.js] REPL 1. REPL 처음부터 영단어가 나와서 놀라실수도 있겠지만, 별 거아닙니다. 그냥 콘솔 상에서 노드를 실행할 수 있게 해주는 것입니다. REPL는 Read Eval Print Loop의 줄임말로, 읽고 해석하고 보여주고 반복한다는 의미입니다. 사용법은 윈도우라면 cmd 맥이나 리눅스는 터미널을 열고 node를 입력합니다. (노드를 설치해야 작동) 그러면 위의 사진과 같이 현재 경로가 사라지고 꺾쇠만 남느데 이러면 사용이 준비가 완료된 것입니다. 이 상태에서 자바스크립트 코드를 입력하면 실행이 되고, 이것이 REPL입니다. 추가적으로 REPL 상태가 아닌 일반 콘솔, 터미널 상태에서 node [js파일 경로]를 입력하면 해당 js파일을 콘솔상에서 실행시켜 볼 수도 있습니다. 2021. 11. 28.
[Node.js] Node.js의 소개와 특징 1. Node.js Node.js(이하 노드)는 Chrome V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임입니다. 종종 어떤 사람들은 프레임워크라고 보기도 하지만 공식문서에서는 런타임이라고 이야기 합니다. 런타임이란 특정 언어로 짜여진 프로그램들을 실행할 수 있는 환경을 의미합니다. 자바스크립트 런타임 이라는 것은 자바스크립트로 짜여진 프로그램을 실행할 수 있는 환경이라는 의미가 됩니다. 노드는 런타임이기때문에 자바스크립트 프로그램을 실행할 수도 있고, 단순히 서버를 실행시켜버릴 수도 있습니다. 또는 우리가 익히 알고있는 웹 프라임 워크도 노드를 기반으로 돌아가기도 합니다. 서버도 간단히 이야기 하고 넘어가자면 서버는 네트워크 통신으로 클라이언트에 서비스를 제공하는 것을 의미합니다. 서버는 컴퓨터.. 2021. 11. 28.
연결 리스트 Linked List 선형 리스트는 일반적인 배열과 다를바 없으므로 다시 작성하는 자료구조에서는 넘어가고 바로 연결 리스트부터 공부를 시작하겠습니다. 0. 연결 리스트 연결 리스트는 선형 리스트와는(순차 자료구조) 다르게 자료의 순서가 존재하지 않는 자료구조 입니다. 순서가 없는 자료구조를 저장하는 방식은 노드(포인터)를 이용하는 방식입니다. 자료는 데이터 필드와 링크 필드 한 쌍으로 구성되어 있는데 데이터에는 실질적으로 사용될 데이터가 있고 링크 필드는 다음 데이터의 주소를 가리키는 정보가 담겨있습니다. 그래서 이것을 그림으로 풀어보면 다음과 같은 모양으로 구성되어있습니다. 이런식으로 연결되있어서 연결 리스트라고 불리우게 됩니다. 그러면 지금부터 노드 구현, 삽입, 삭제를 구현해보도록 하겠습니다. 1. 노드 정의 노드를 구.. 2021. 9. 3.
[Data Structure] 연결 리스트(Linked List) 지난번에 선형 리스트에 대해서 소개를 했습니다. 그러나 선형 리스트는 배열이기 때문에 크기가 정해져있다는 큰 문제점을 가지고 있었습니다. 이점을 보완한 구조가 연결 리스트입니다. 1. 연결 리스트 연결 리스트는 노드로 이루어진 리스트 입니다. 선형 리스트와 다르게 자료의 물리적 순서와 논리적인 순서가 일치하지 않아도 된다는 점이 있으며, 각 자료들은 노드를 통해 저장되고 연결되어있습니다. 연결 리스트는 단순, 원형, 이중 연결과 같은 여러 방식이 있으며 여러 포스트에 걸쳐서 차차 소개해나가도록 하겠습니다. 2. 노드의 구조 리스트 첫 시간에도 설명했지만 노드는 다음과 같은 구조를 가지고 있습니다. 링크 필드가 다음 노드를 가리키고 있고 이것들이 이어져서 리스트를 구성하는 방식이었죠. 이러한 노드를 구현해.. 2021. 6. 25.
[Data Structure] 리스트 (List) 1. 리스트 리스트는 자료(데이터)를 순서대로 나열한 자료구조 입니다. 순서대로 나열되어있다는 점 때문에 순차 자료구조라고 부르기도 합니다. 리스트에는 선형 리스트와 연결 리스트 두 가지가 존재합니다. 두 가지는 순서대로 자료가 나열되어있다는 점은 같지만 다음과 같은 차이점이 있습니다. 선형 연결 구현 배열 포인터 메모리 저장 선언시 필요한 메모리 크기만큼 할당한다. 할당된 메모리의 시작 위치 부터 빈자리 없이 연속해서 저장한다. 노드 단위를 갖는데, 이 단위로 메모리를 할당한다. 저장 위치를 상관하지 않고 노드의 필드에 노드가 가르키는 다음 노드의 주소를 기록한다. 삽입/삭제 연산 연산 후에도 자료가 빈자리 없이 순서대로 저장된다. 이때 자료의 물리적 순서와 논리적 순서가 일치한다. 연산 후에 논리적 .. 2021. 6. 24.
[Javascript] 노드 변경과 삭제 이번에는 노드를 변경할건데, 특정 노드를 지정하고 그 노드의 자식노드를 교체하고 삭제하는 방법입니다. 1. 노드 교체 - replaceChild 이름에서 느껴지듯이 자식 노드를 교체해주는 메소드입니다. 요소.replaceChild(변경해줄 노드, 변경하는 노드);//(after, before) 사용법은 여태 나온 메소드들과 유사합니다. 첫번째 인자로 교체해줄 노드를 적고, 두번째 인자로 교체시킬 자식 노드를 선택합니다. 이때 주의점은 반드시 변경하는 노드는 지정된 노드의 자식 노드여야만 합니다. 2. 노드 삭제 - removeChild 이번에는 노드를 삭제하는 메소드입니다. 이때도 마찬가지로 지정한 노드의 자식 노드만 삭제할 수 있습니다. 요소.removeChild(삭제할 노드); 참고로 removeCh.. 2021. 3. 30.
300x250