
🔍fs 모듈이란? 파일 시스템에 접근하는 모듈 파일 생성, 삭제, 읽기, 쓰기, 폴더도 만들거나 지울 수 있다. 🔍동기 메서드와 비동기 메서드 //readme.txt 저를 여러 번 읽어보세요. 비동기방식으로 파일 하나를 여러 번 읽어보기 실행 결과 비동기메서드들은 백그라운드에 해당 파일을 읽으라고만 요청하고 다음 작업으로 넘어감 => 따라서 파일 읽기 요청만 세 번 보내고 console.log('끝')을 찍는다. 수백 개의 I/O 요청이 들어와도 메인 스레드는 백그라운드에 요청 처리를 위임, 얼마든지 추가 요청을 받을 수 있음. 동기방식으로 순서대로 읽어보기 실행 결과 readFile 대신 readFileSync 메서드 사용 동기방식의 경우 수백 개 이상의 요청이 들어올 때 성능에 문제가 생김(이전 작업..

노드는 자바스크립트보다 더 많은 기능을 제공함. (운영 체제 정보 접근, 클라이언트 요청 url 정보 가져오기 등등...) -> 모듈 제공 노드의 모듈은 버전마다 차이가 있음. 자주 사용하는 모듈 위주로 알아보도록 한다. 🔍os 운영 체제의 정보를 가져옴. os.arch() : process.arch와 동일 os.platform() : process.platform과 동일 os.type() : 운영 체제 종류를 보여줌 os.uptime() : 운영체제 부팅 이후 흐른 시간(초)을 보여줌. os.hostname() : 컴퓨터 이름을 보여줌 os.release() : 운영체제 버전을 보여줌. os.homedir() : 홈 디렉터리 경로를 보여줌 os.tmpdir() : 임시 파일 저장 경로를 보여줌 os.c..

REPL 사용하기 자바스크립트는 스크립트 언어이므로 미리 컴파일을 하지 않아도 즉석에서 코드 실행이 가능함. REPL : 입력 코드를 읽고(Read), 해석하고(Eval), 결과물을 반환하고(Print), 종료할 때까지 반복(Loop) REPL을 종료하려면 ctrl+c 2회 누르거나 .exit 입력하면 됨. 모듈로 만들기 Node.js는 코드를 모듈로 만들 수 있다는 점에서 자바스크립트와 다르다. 🔍모듈 : 특정한 기능을 하는 함수나 변수들의 집합 모듈로 만들어놓으면 여러 프로그램에서 해당 모듈 재사용이 가능함. var.js const odd = '홀수입니다'; const even = '짝수입니다'; module.exports = { odd, even }; func.js var.js에 변수 두 개를 선언..

2015년에 자바스크립트 문법에 매우 큰 변화가 있었음. => ES2015(ES6) 🔍const, let 보통 var로 변수를 선언하는 방법부터 배우지만 이제부터 var은 const, let이 대체함. if(true){ var x = 3; } console.log(x);//3 if(true){ const y = 3; } console.log(y);//error x는 정상적으로 출력, y는 에러가 발생하는 이유는 var은 함수 스코프를 가지므로 if문의 블록에 영향을 받지 않는다. 하지만 const와 let은 블록 스코프를 가지므로 블록 밖에서는 변수에 접근할 수 없다. (블록의 범위는 if, while, for 등에서 볼 수 있는 중괄호임.) const는 한 번 값을 할당하면 다른 값을 할당할 수 없고 ..

Node.js 개발 환경 설정하기 내 컴퓨터에는 이미 Node가 설치되어 있었는데 공부할 겸 삭제하고 다시 설치해 보았다. 1. 홈페이지 접속 후 왼쪽 LTS로 설치해 준다. 2. 쭉쭉..동의하고...Next... 3. 설치가 끝나면 요런 창이 나오는데 아무키나 눌러준다. 4. 그럼 파워쉘 창으로 넘어간다. 아니 이거밖에 안 했는데 벌써 에러가 난다고.....? 내 컴퓨터에 chocolatey 뭐시기가 이미 설치되어 있어서..그런 듯하다.... 책에 설명을 보니까 🔍초콜리티 윈도우 명령 프롬포트를 통해 노드를 설치하고 싶을 때 초콜리티를 고려해볼 수 있음. 노드 외의 다른 프로그램도 명령 프롬포트를 통해 설치할 수 있어 편리함. choco install nodejs 명령어를 사용하면 됨. 라고 하는데....

노드 핵심 개념 이해하기 -Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임이다. 🔍서버와 런타임 서버 노드는 다양한 자바스크립트 애플리케이션 중 서버 애플리케이션 실행 시 제일 많이 사용함. 서버는 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 or 프로그램을 말함. 클라이언트 : 브라우저, 데스크톱 프로그램, 모바일 앱... 자바스크립트 런타임 런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 말한다. 노드는 자바스크립트 런타임 -> 노드는 자바스크립트 프로그램을 컴퓨터에서 실행 가능 -> 쉽게 말해 노드는 자바스크립트 실행기라고 볼 수 있음. (기존에는 자바스크립트 프로그램을 웹 브라우저 위에서만 실행 가능했다.) 🔍이벤트 기..

💡2914번 저작권 https://www.acmicpc.net/problem/2914 2914번: 저작권 창영이는 노래 여러 개를 이어서 부르는 가수이다. 유명한 노래의 비슷한 멜로디를 이어서 부르면서 언제 곡이 넘어갔는지 모르게 만드는 것이 창영이 노래의 특징이다. 이런 노래로 상업적으 www.acmicpc.net 몇 곡인지 구하려면 곡의 개수와 평균을 곱하면 됨. 올림을 한다고 했으므로 평균값이 24일 경우 적어도 24.01이 되어야함. -> 곱한 값에 1을 더하면 된다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int ..

💡1271번 엄청난 부자 https://www.acmicpc.net/problem/1271 1271번: 엄청난 부자2 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) www.acmicpc.net long보다 큰 범위를 위해 BigInteger 사용. BigInteger : java.math 안에 존재하며 BigInteger는 문자열 형태로 이루어져서 숫자의 범위가 부한대임. 계산은 BigInteger안의 메소드(divide...)를 사용하면 됨. import java.math.BigInteger; import java.util.Scanner; public class Main { public static ..