스프링 부트 앱, 도커로 빌드하고 EC2에 배포하기
·
Dev
이번 게시글은 스프링 부트(Spring Boot) 프로젝트를 도커(Docker) 이미지로 만들고, 이를 Docker Hub에 푸시한 다음, EC2 인스턴스에 배포하는 과정을 기록해 두려고 합니다.1. Spring boot 프로젝트 빌드 및 .jar 파일 생성먼저, 스프링 부트 프로젝트를 빌드하여 실행 가능한 .jar 파일을 생성해야 합니다. 프로젝트 루트 디렉터리에서 다음 명령어를 실행합니다../gradlew clean build 성공적으로 실행되면, 프로젝트의 build/lib 디렉토리 안에 [프로젝트 이름].jar와 같은 실행 가능한 JAR 파일이 생성됩니다.2. Docker 이미지 빌드 및 태그 저장이제 생성된 JAR 파일을 기반으로 도커 이미지를 만들어 보겠습니다. 도커 이미지는 애플리케이션과 모..
[BOJ]1929 - 소수 구하기
·
Dev/BOJ
https://www.acmicpc.net/problem/1929  코드import sysM, N = map(int, sys.stdin.readline().split())prime_num = []for i in range(M, N+1): condition = True if i == 1: continue for j in range(2, int(i**0.5) + 1): if i % j == 0: condition = False break if condition: prime_num.append(i)print(*prime_num, sep='\n') 처음 코드를 작성할 때 소수를 판별하는 조건을 작성하는데 꽤 머리를 썼습..
[Python] 파이썬 리스트 출력 방식 정리
·
Dev/BOJ
코딩 테스트 언어로 파이썬을 선택했다. 하지만 오랜만에 다시 사용하다 보니 헷갈리는 부분이 많았다. 특히 리스트를 활용한 출력 방식이 자주 등장하는데, 문제를 풀 때마다 헷갈리는 경우가 많아 정리해두면 좋겠다고 생각했다. 이번 글에서는 파이썬 리스트 출력 방식을 깔끔하게 정리해보려고 한다.1. for문을 이용한 출력가장 기본적인 출력 방식이다.list_ex = [1, 2, 3, 4, 5]for i in list_ex: print(i, end=' ')파이썬의 print()에는 두 가지 중요한 옵션이 있다.sep : 출력문 사이에 해당하는 내용을 넣을 수 있다. 기본값은 공백 (' ')end : 출력이 끝난 후 붙일 내용을 지정할 수 있다. 기본값은 개행 ('\n')end=' '를 이용하면 리스트 요소..
[Hadoop] Ubuntu에 Hadoop 설치하기(Java/SSH/Hadoop)
·
Dev/Hadoop
Notebook: M1 Macbook ProVM machine: UTMOS: Ubuntu 22.04 (LTS)hadoop: 3.4.0 맥 환경에서는 터미널에서 하둡을 설치가 가능하지만 리눅스 환경에 익숙해지기 위해서 우분투로 진행해보려고 한다. 맥에서 바로 하둡 설치하다가 막힌 건 비밀..진행 순서1. 자바 1.1. 자바 설치 1.2. 자바 환경변수 설정 2. ssh 연결 2.1. openssh-sever & pdsh 설치 2.2. ssh 공개키 & 개인키 생성 2.3. ssh 키 접속 3. 하둡 3.1. 하둡 설치 3.2. 하둡 환경변수 설정 3.3. 하둡 파일 변경 3.4. 하둡 실행 시작 전)sudo dhclientputty 등을 쓰지 않고 가상 머신 위에 우분투 하나로 실행할 때는 인터넷 ip 획..
[Linux/Ubuntu] DHCP Client/sudo dhclient
·
Dev/Hadoop
문제 발생 순서)- ifconfig로 우분투 서버 ip 확인 시도맨 처음 우분투를 설치하고 실행했을 때 ip를 확인해보려고 ifconfig로 보면 ifconfig 명령어가 없다. ifconfig 명령어를 사용하려면 net-tools를 설치해야 한다. $ sudo apt install net-tools- sudo apt install net-tools로 설치 시도 -> 에러 발생. apt를 업데이트 하고 다시 설치 시도하라고 함 $ sudo apt-get update- sudo apt-get update 입력. 업데이트 완료$ sudo apt install net-tools- 다시 net-tools 설치 시도 -> 또 apt 업데이트 하라고 뜸 = apt 업데이트가 제대로 이뤄지지 않음 - net-too..
[Hadoop] rcmd socket permission denied
·
Dev/Hadoop
문제)원인은 pdsh 기본 rcmd가 ssh가 아닌 rsh로 되어 있다. 즉, ssh 원격 로그인 인증이 동일하지 않을 때 발생한다. 해결)~/.bashrc 파일에 아래의 환경변수 내용을 추가한 뒤, 적용해 준다.$ export PDSD_RCMD_TYPE=ssh 저장하고 나와서 source ~/.bashrc로 적용하면해결 완료
[Node.js] 내장 모듈(path, url, searchParams)
·
Dev/Node.js
os 모듈노드가 제공하는 내장 모듈을 require로 사용. - 내장 모듈은 경로 없이 이름만 기재 가능 os 모듈 메서드os.arch(): process.arch와 동일os.platform(): process.platform과 동일os.type():..
Cannot set headers after they are sent to the client 오류
·
Dev/Node.js
node.js로 express를 사용하는 중 아래와 같이 오류가 발생했다. [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client. [ERR_HTTP_HEADERS_SENT]는 서버가 클라이언트에 2개 이상의 응답을 보내려고 할 때 발생하는 오류라고 한다. 즉. 하나의 응답을 보낸 후 또 다른 응답을 동시에 보내려고 할 때 발생하는 오류다.결론 먼저 말하자면 위 코드는 /login 시 GET으로 실행되는 작업이 2개여서 위와 같은 에러가 났다. => 내 잘못 이 경우는 루트 페이지 /로 이동하면 로그인 페이지로 이동하게 하고, 로그인 성공 시 쿠키를 획득하게 하여 쿠키가 있을 경우 루트 페이지에서 로그인 성공 화면을 띄우..