react 12

쇠막대기(스택)

여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에 서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레 이저의 배치는 다음 조건을 만족한다. 1. 쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹 치지 않도록 놓는다. 2. 각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다. 3. 레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다. 아래 그림은 위 조건을 만족하는 예를 보여준다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향이다. 이러한 레이저와 쇠막대기의 배치는 다음과 같이..

알고리즘 2022.12.07

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/tokenize' is not defined by "exports" in /package.json

리액트 프로젝트를 클론받고 실행했을때 해당 에러가 떳다. 필자는 node 버전을 16으로 다운그레이드 하고 해결했다. MAC OS - node 버전 다운그레이드 하기 현재 노드 버전 확인 node -v 사용가능한 노드버전 확인하기 brew search node 현재 버전 연결 해제하기 brew unlink node 노드 16버전 설치 brew install node@16 노드 16버전 연결하기 brew link node@16 상단 노드 설치 및 연결이 정상적으로 안된다면 환경설정 파일에 (~/.zshrc) 에 path를 추가해준다. echo 'export PATH="/opt/homebrew/opt/node@16/bin:$PATH"' 태클은 언제나 환영입니다. 잘못된 정보가 있으면 언제든 알려주세요 :)

React 2022.11.22

React 프로젝트에 emailjs 적용하기

개인 포트폴리오나 회사 사이트에 이메일을 보내는 폼양식 페이지를 본적이 있을것이다. 이메일 보내는 폼을 emailjs 라는 라이브러리를 통해 리액트 프로젝트에 적용시켜보고자 한다. 먼저 https://www.emailjs.com/ 에 접속 한다. 회원가입을 한후 리액트 프로젝트에 yarn add @emailjs/browser npm install @emailjs/browser --save emailjs 라이브러리를 설치 해준다. 다시 아까 회원가입한 계정으로 email js 로그인 후 왼쪽 사이드 메뉴바에 위치한 Email Services 를 클릭해서 들어간다. Add New Service 를 클릭해 서비스를 등록해준다. 서비스 추가를 완료 하게 되면 아래 이미지처럼 나온다. ServiceId 를 기억해..

React 2022.10.30

자바스크립트 콜백함수란? (Callback Function)

콜백함수란 인자값으로 전달받은 함수를 뜻한다. 인자값으로 전달받은 콜백함수는 매개변수로 함수내부에서 필요할때 호출이 가능하다. function func(a, b, callback) { console.log(a,'+',b ,'= 의 값은?'); callback(a, b); } function func2(a, b) { console.log(a + b); } func(1, 2, func2); // 1 + 2 = 의 값은? // 3 예제를 살펴보면 매개변수를 a , b , callback을 사용하는 func 라는 함수를 생성하고 매개변수 a, b 를 더해서 출력해주는 func2라는 함수를 생성한다. func함수에 인자값으로 1 , 2 , func2 를 넘겨주면 callback이라는 매개변수를 통해 a,b 매개변..

Javascript 2022.09.14