본문 바로가기

node.js19

[node.js, 라이브러리]UUID와 'uuid' 라이브러리 알아보기 목차   UUID란 무엇인가?UUID(Universally Unique Identifier)는 전 세계적으로 고유한 식별자를 생성하기 위해 사용되는 표준이다. 이는 시스템 간에 고유한 ID를 보장해야 하는 다양한 상황에서 유용하다. UUID는 주로 데이터베이스의 기본 키, 트랜잭션 ID, 디바이스 식별자 등 다양한 용도로 사용 된다.UUID는 128비트 길이의 숫자로, 32개의 16진수 문자로 표현된다. 예를 들어, `123e4567-e89b-12d3-a456-426614174000`과 같은 형태를 가진다. UUID의 버전UUID에는 여러 버전이 있으며, 각 버전은 특정한 생성 방식을 따른다. 주요 버전은 다음과 같다.UUIDv1 : 시간과 노드(일반적으로 MAC 주소)를 기반으로 생성된다.UUIDv3 .. 2024. 6. 3.
[puppeteer,node.js] 웹 자동화 라이브러리 Puppeteer 목차   개요Puppeteer는 구글이 만든 Node.js 라이브러리로, Headless Chrome 또는 Chrominum 브라우저를 제어할 수 있는 기능을 제공한다. 이 라이브러리는 브라우저를 프로그래밍적으로 제어하고, 다양한 브라우저 작업을 자동화하는데 사용된다.  주요 기능 웹 스크래핑(Web Scraping)Puppeteer는 웹 페이지의 내용을 가져오거나 특정 데이터 요소를 추출하는 데 사용된다.JavaScript가 렌더링한 콘텐츠를 포함하여 브라우저에서 볼 수 있는 모든 것을 캡처할 수 있다.자동화된 테스트(Automated Testing)프론트엔드 테스트 자동화 도구로, 브라우저 환경에서 애플리케이션을 테스트 할 수 있다.다양한 사용자 상호작용을 시뮬레이션하여 애플리케이션의 동작을 검증할 .. 2024. 5. 29.
[node.js, 백준]9663 - N-Queen 목차 문제링크https://www.acmicpc.net/problem/9663문제N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다.N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. (1 ≤ N  출력첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 주저리로직은 이해했으나 시간 초과가 일어나서 최적화하는데 애를먹었고 결국 최적화코드는 답을봐서 한번더 풀어야할 것같다. Queen을 N x N칸에 N개 배치할때 핵심은 한 줄에 하나씩 퀸이 꼭들어가야하는점을 생각해야했다.(경우의 수 줄이기) 그리고 반복문으로 해결하였는데 하나의 퀸을 배치하면 그 공격 대상에 다른 퀸이있는지 체크를 해줘서 .. 2024. 5. 21.
[node.js,백준]2580 - 스도쿠 목차 문제링크https://www.acmicpc.net/problem/2580문제스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루어진 정사각형 판 위에서 이뤄지는데, 게임 시작 전 일부 칸에는 1부터 9까지의 숫자 중 하나가 쓰여 있다. 나머지 빈 칸을 채우는 방식은 다음과 같다.각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 한다.굵은 선으로 구분되어 있는 3x3 정사각형 안에도 1부터 9까지의 숫자가 한 번씩만 나타나야 한다.위의 예의 경우, 첫째 줄에는 1을 제외한 나머지 2부터 9까지의 숫자들이 이미 나타나 있으므로 첫째 줄 빈칸.. 2024. 5. 21.
Next.js 프로젝트를 bat파일로 실행하기(개인기록) 목차   왜 bat파일로 Next.js를 실행하려고 하나요?사용자는 웹이라는 형태에 익숙합니다. 하지만 웹에선 행동할수 있는 것에 제약이있습니다 어떠한 폴더에 내용을 저장하거나 자동화 브라우저를 열거나 등등 웹으로는 해당 행동들을 제어할 수가 없습니다. bat파일 구성@echo off:: 스크립트 위치를 기반으로 Node.js와 npm 경로 설정set NODE_PATH=%~dp0node\node.exeset NPM_PATH=%~dp0node\node_modules\npm\bin\npm-cli.js:: Next.js 애플리케이션 디렉토리로 이동 (현재 위치)cd %~dp0:: 필요한 패키지 설치echo Installing dependencies...%NODE_PATH% %NPM_PATH% install::.. 2024. 5. 15.
[node.js, 백준]14501 - 퇴사 목차 문제링크https://www.acmicpc.net/problem/14501문제상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다.오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다.백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다.각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다.N = 7인 경우에 다음과 같은 상담 일정표를 보자. 1일2일3일4일5일6일7일TiPi35112421020102015402001일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일에 잡혀있는 상담은 총 2일이 걸리며.. 2024. 5. 13.
[node.js,백준]6603 - 로또 목차   문제링크https://www.acmicpc.net/problem/6603문제독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다.로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다.예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34])집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오.입력입력은 여러 개의 테스트 케이.. 2024. 5. 12.
[node.js, 백준]14225 - 부분수열의 합 목차   문제링크https://www.acmicpc.net/problem/14225문제수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오.예를 들어, S = [5, 1, 2]인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들 수 있다. 하지만, 4는 만들 수 없기 때문에 정답은 4이다.입력첫째 줄에 수열 S의 크기 N이 주어진다. (1 ≤ N ≤ 20)둘째 줄에는 수열 S가 주어진다. S를 이루고있는 수는 100,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 출력한다.  주저리부분수열의 합으로 부분수열의 합이 아닌것 중 제.. 2024. 5. 12.
[node.js,백준] 15658 - 연산자 끼워넣기 (2) 목차 문제링크https://www.acmicpc.net/problem/15658문제N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 연산자의 개수는 N-1보다 많을 수도 있다. 모든 수의 사이에는 연산자를 한 개 끼워넣어야 하며, 주어진 연산자를 모두 사용하지 않고 모든 수의 사이에 연산자를 끼워넣을 수도 있다.우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다.예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 3개, 뺄셈(-) .. 2024. 5. 12.
[node.js,백준]14888 - 연산자 끼워넣기 목차 문제링크https://www.acmicpc.net/problem/14888문제N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다.우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다.예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다.1+2+3-4×5÷61÷2+3+4-5×.. 2024. 5. 12.