
[한빛미디어] 도서서평 - 자바스크립트로 배우는 SICP 컴퓨터 프로그램의 구조와 해석
2023. 2. 24. 23:14
일상/책읽기
책정보 저자: 해럴드 에이블슨, 제럴드 제이 서스먼, 마틴 헨즈, 토비아스 브릭스타드, 줄리 서스먼 공저 / 류광 역 출판사: 한빛미디어 출간: 2022년 12월 30일 원서 : Structure and Interpretation of Computer Programs: JavaScript Edition 책소개 모든 프로그래머는 마법사다 난해한 프로그래밍 언어로 만들어진 컴퓨터 프로그램. 프로그램은 일정한 패턴을 따라 주어진 과제를 해결해 나간다. 즉, 프로그래머는 프로그램이라는 주문을 외워 컴퓨터에 깃든 영혼을 부리는 마법사인 셈이다. 여기 모든 마법사를 위한 마법사 책이 찾아왔다. 이 책은 모든 프로그래밍 언어에서 유용한 사고법과 그 표현법을 소개해 프로그램을 효율적으로 조직화하는 법을 알려준다. 이제..

[Node] NVM으로 Node 버전 관리하기
2023. 2. 19. 23:46
개발/Javascript
NVM? Node Version Manger의 약자로 여러 버전의 Node.js 설치 및 버전을 관리해주는 도구다. 여러 프로젝트에서 다른 노드 버전을 사용할 때 NVM으로 관리하면 편하게 프로젝트마다 버전을 설정할 수 있다. Mac을 사용할때는 brew를 사용해 NVM을 설치했다. 윈도우에서 NVM을 사용하려면 Releases · coreybutler/nvm-windows A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows github.com 위 깃헙에 들어가서 다운로드 하면된다 주의사항 NVM 설치 전 꼭 프로그램추가/제거에서 Node.js 를 삭제해야한다. 안그러면 충돌..

[Node] 'NODE_ENV'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.
2023. 2. 19. 00:30
개발/Error note
회사 맥에서 하던거를 집에있는 노트북에서 하려했더니 에러가 났다. 이유를 몰라서 일단 rm .\node_modules\ rm .\package-lock.json 을 해준후 다시 npm install 을 해줬다. 그래도 에러가 떴다. 짜증난다. 에러내용은 'NODE_ENV'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. 해결방법은 node-env를 글로벌로 설치해주는것이었다. npm install -g win-node-env 히히 잘된다

[Javascript] Promise; 프로미스
2023. 2. 17. 08:38
개발/Javascript
프로미스? 어떤 연산. 비동기 연산이 최종적으로 완료 혹은 성공했는지 실패했는지 알려주는 객체 요청을 보내 다른위치에서 데이터를 받을 때 주로 사용 (IMDB API, Nexflix API 등..) 시간이 오래걸리거나 접속이 안될 때, 접근권한이 없거나 URL을 잘못쓰거나 API 또는 인터넷이 다운됐을때 등등 여러가지 상황에서 실패할 수 있는데, 그럴 때 자주 사용한다. 프로미스의 상태 pending: 대기 resolved: 성공 rejected: 실패 resolved, rejected에 따라 다른 기능을 수행하게된다. const fakeRequestPromise = (url) => { return new Promise((resolve, reject) => { const delay = Math.floor..

[Node] ['ERR_INVALID_ARG_TYPE'] The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined
2023. 2. 16. 22:23
개발/Error note
Node를 사용해서 폴더 및 파일을 생성하는 코드 작성중 오류가 발생했다. data인자에는 스트링이 들어가야 한다는 에러였다. const fs = require('fs'); const folderName = process.argv[2] || 'Project'; // 동기 방식 try { fs.mkdirSync(folderName); fs.writeFileSync(`${folderName}/index.html`); fs.writeFileSync(`${folderName}/app.js`); fs.writeFileSync(`${folderName}/styles.css`); } catch (error) { console.log('///////////////////////////////////'); console..