728x90
728x90
package.json은 프로젝트에 대한 정보를 가지고 있다. 이를 통해서 협업할 때 같은 버전의 모듈들로 프로젝트를 함께 진행한다. 이것으로 협업때 다른 모듈 버전을 사용함으로써 생길 오류를 방지한다. 우리들은 선배들이 먼저 만들어 놓은 모듈을 사용하여 빠르고 검증된 라이브러리를 사용할 수 있다. node.js에서 외부 라이브러리를 받는 가장 대표적인 방법이 npm(Node Package Manager)를 사용하는 것이다. 그리고 프로그램이 실행되기 위해서 어떤 패키지가 필요한지 적어둔 것이 바로 package.json이라고 할 수 있다. package.json에는 여러 속성이 있다. name, version, desciption은 프로그램의 정보를 담고 있다. scripts를 통해서 CLI에서 사용 ..
DOM : Document Object Model javascript를 통해서 DOM을 조작하여 HTML을 변경할 수 있다. js -> DOM -> HTML 조작 script의 위치에 따라서 실행결과가 달라질 수 있다. script 요소를 만나면 웹브라우저는 HTML 해석을 잠시 멈춘다. script 요소는 등장과 함께 실행되기 때문에 만약 head 부분에 script가 존재하고, 이 script가 HTML의 body의 내용을 수정한다면, 오류가 발생할 수 있다. 따라서 이럴경우 script는 반드시 body의 마지막 부분에 존재해야 한다. JS에서 DOM은 document 객체에 구현되어 있다. -> DOM 구조를 조회할 때는 console.dir()을 통해서 확인할 수 있다. (Object처럼 볼 수..
정렬 알고리즘으로 버블, 선택, 삽입, 퀵, 합병 정렬을 배웠었다. 하지만, C언어로만 이 코드들을 작성했었기에 자바스크립트로도 정렬 알고리즘을 기록하기로 하였다. 물론, 자바스크립트에서는 arr.sort((a, b) => a - b) 알고리즘으로 손쉽게 배열을 정렬할 수 있다. 🍇 버블 정렬 가장 쉽게 생각할 수 있는 정렬 방법으로 앞뒤의 숫자를 비교하여 정렬이 필요하다면, 앞뒤의 숫자를 바꾼다. 이미 정렬된 상태라면, 중간에 반복문을 중단할 수 있다. 평균적으로 O(N^2) 시간복잡도를 가진다. (큰 배열을 정렬할 때 부적합하다) const bubbleSort = function (arr) { let sorted; for(let i = 0; i < arr.length; i++){ sorted = fa..
조합은 배열에서 n개를 선택하는 것으로 순서가 바뀌어도 같은 것으로 취급한다. 순열은 배열에서 n개를 선택해 나열하는 것으로, 순서가 바뀌면 다른 것으로 취급한다. 자바스크립트 조합 알고리즘 const combination = (arr, select) => { const answer = []; const dfs = (idx, num, tmp, visited) => { if(idx === arr.length){ return; } if(num === 0){ answer.push(tmp); } for(let i = idx; i < arr.length; i++){ if(!visited[i]){ // 미방문 visited[i] = true; dfs(i, num - 1, tmp.concat([arr[i]]), vi..
ky는 브라우저, got은 node.js 환경에서 사용된다. axios에 비해서 가볍다. (다만, axios는 서버/클라이언트 모두 호환된다.) import React, {useEffect, useState} from 'react'; import ky from 'ky'; export default function App() { const [data, setData] = useState(null); useEffect(() => { ky.get('url 주소').then((response) => (setData(response))) }, []); return ( {JSON.stringify(data)} ); } React에서 ky를 사용하여 post 요청을 보낼 수 있다. json 객체 내부에 json 데이..
Redux는 자바스크립트 어플리케이션에서 예측 가능한 상태의 관리를 해주는 container이다. 상태 관리를 위한 전역 상태의 저장소를 제공한다. Redux는 react의 하위 라이브러리가 아니고, 자바스크립트 어플리케이션이라면 사용이 가능하다. 컴포넌트간의 정보 공유가 필요할 때, 복잡성을 줄이기 위해서 상태관리 라이브러리인 redux를 사용한다. // NPM 으로 설치 npm install redux // Yarn 으로 설치 yarn add redux 참고 자료 : https://ko.redux.js.org/introduction/getting-started Redux 시작하기 | Redux 소개 > 시작하기: Redux를 배우고 사용하기 위한 자료 ko.redux.js.org Redux의 세 가지..