본문 바로가기

분류 전체보기234

[Test] Jest 기본 사용법 https://www.daleseo.com/jest-basic/ Jest로 기본적인 테스트 작성하기 Engineering Blog by Dale Seo www.daleseo.com 1. jest란 Jest는 테스트 과정에서 필요한 Test Runner, Matcher, Mock을 한 번에 해결해 줄 테스팅 프레임워크로 불리운다. npm i -D jest 2. 실행 package.json 스크립트 옵션에서 아래와 같이 작성하여 npm test 라고 입력시 jest가 실행되도록 함 jest는 test.js로 끝나는 파일이나 , __test__ 디렉터리 안에 있는 파일은 모두 테스트 파일로 인식해줌. ( 특정 테스트 파일만 실행하고 싶으면 npm test 입력 "scripts": { "test": "jest".. 2024. 1. 9.
npm에 배포해보기 1. NPM 계정 만들기 https://www.npmjs.com/ npm | Home Bring the best of open source to you, your team, and your company Relied upon by more than 17 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of Java www.npmjs.com 2. 배포 전 패키지명 중복 확인 npm info Javascript-Package-Name 중복 된 이름이라면 해당 패키지의 내용이 뜰 것이.. 2024. 1. 9.
[백준] 12969 ABC 문제 정수 N과 K가 주어졌을 때, 다음 두 조건을 만족하는 문자열 S를 찾는 프로그램을 작성하시오. 문자열 S의 길이는 N이고, 'A', 'B', 'C'로 이루어져 있다. 문자열 S에는 0 ≤ i < j < N 이면서 S[i] < S[j]를 만족하는 (i, j) 쌍이 K개가 있다. 입력 첫째 줄에 N과 K가 주어진다. (3 ≤ N ≤ 30, 0 ≤ K ≤ N(N-1)/2) 출력 첫째 줄에 문제의 조건을 만족하는 문자열 S를 출력한다. 가능한 S가 여러 가지라면, 아무거나 출력한다. 만약, 그러한 S가 존재하지 않는 경우에는 -1을 출력한다. == 솔루선 문자열에 A를 추가하면 s[i] 2023. 12. 18.
[백준] 2056 작업 (파이썬) 문제 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 반드시 먼저 완료되어야 할 작업들이 있다. 이 작업들은 번호가 아주 예쁘게 매겨져 있어서, K번 작업에 대해 선행 관계에 있는(즉, K번 작업을 시작하기 전에 반드시 먼저 완료되어야 하는) 작업들의 번호는 모두 1 이상 (K-1) 이하이다. 작업들 중에는, 그것에 대해 선행 관계에 있는 작업이 하나도 없는 작업이 반드시 하나 이상 존재한다. (1번 작업이 항상 그러하다) 모든 작업을 완료하기 위해 필요한 최소 시간을 구하여라. 물론, 서로 선행 관계가 없는 작업들은 동시에 수행 가능하다. 입력.. 2023. 12. 13.
[1695] 펠린드롬 만들기 (파이썬) 문제 앞에서 뒤로 보나, 뒤에서 앞으로 보나 같은 수열을 팰린드롬 이라고 한다. 예를 들어 {1}, {1, 2, 1}, {1, 2, 2, 1}과 같은 수열은 팰린드롬 이지만, {1, 2, 3}, {1, 2, 3, 2} 등은 팰린드롬이 아니다. 한 수열이 주어졌을 때, 이 수열에 최소 개수의 수를 끼워 넣어 팰린드롬을 만들려고 한다. 최소 몇 개의 수를 끼워 넣으면 되는지를 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 수열의 길이 N(1≤N≤5,000)이 주어진다. 다음 줄에는 N개의 수열을 이루는 수들이 주어진다. 각 수들은 int 범위이다. 출력 첫째 줄에 끼워 넣을 수들의 최소 개수를 출력한다. == 솔루션 처음에는 추가한 갯수를 기준으로 최소 힙을 이용했음. => 메모리 초과 n이 5000 이하.. 2023. 12. 11.
[백준] 2252 줄 세우기 (파이썬) 문제 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다. 일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의미이다. 학생들의 번호는 1번부터 N번이다. 출력 첫째 줄에 학생들을 앞에서부터 줄을 세운 결과를 출력한다. 답이 여러.. 2023. 12. 9.
[aws] ec2 에 배포한 사이트에 ssl 인증서 발급하기 (feat. nginx) https://bitgadak.tistory.com/6 certbot 으로 let's encrypt 인증서 발급받기 certbot 을 통해 let's encrypt 인증서를 발급받아보자. 현재로서는 가장 간단한 방법인 것 같다. 공식 사이트 가이드를 따라 진행한다. 아래 페이지를 참고했다. certbot 가이드: https://certbot.eff.org/instruc bitgadak.tistory.com ssl 발급 전에 개인 도메인부터 있어야 함. (가비아 같은 곳에서 이벤트가에 사면 500원에도 구매 가능) 도메인은 aws route53 에서 ec2 인스턴스의 퍼블릭 ip와 연결해주면 됨 . 1. certbot을 설치하는 과정은 위 링크를 따라하기 certbot certonly --nginx -d .. 2023. 12. 8.
[aws] ec2 인스턴스에 next.js 배포하기 (feat. pm2 nginx ) in Ubuntu 기본적으로 제공하는 next 프로젝트에 대해 배포해보기. 1. npx create-next-app 2. npm run build 3. next.js를 배포하면 build 폴더를 따로 제공하지 않고 .next 폴더 안에 생성 됨. => 숨겨져 있어서 ls 통해서 봐도 안보임. cd .next 하면 입장 가능 4. nginx 를 통해 포트에 대해 우회할것이므로 해당 next 프로젝트의 pacakge 파일안에서 npm start 시 포트 지정해줄 필요 x 5. nginx, pm2는 이미 설치되어있다고 가정 6. 도메인 접속 시(퍼블릭 ip) next 빌드로 우회 하기 위해 root경로에서 /etc/nginx/sites-available 폴더 안에 default 파일 생성 해서 아래와 같이 입력 server {.. 2023. 12. 8.
[aws] 인스턴스에서 build 시 freezing 현상 해결 (프리티어) 프리티어를 사용할 경우 램이 1gb 로 next.js 를 빌드 할 때 멈춰버리는 현상이 있었음 이를 위해 가상메모리를 사용 (-Ec2의 디스크 용량을 램처럼 사용할 수 있다. 리눅스에서는 SWAP 메모리를 지정하여 HDD의 일부를 RAM처럼 사용할 수 있게 해 준다. 램을 증설한 효과를 얻는 것이다.) sudo dd if=/dev/zero of=/swapfile bs=128M count=16 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo vi /etc/fstab /swapfile swawp swap defaults 0 0 해당 블로그를 참조함 AWS EC2 인스턴스에서 build 실패 문제 해결 방법 Ssh로 ec2에 .. 2023. 12. 5.