전체 글

전체 글

    [Jenkins on Docker] 계정 재생성 (계정 정보 확인, 비밀번호 변경)

    본인은 AWS의 Amazon Linux2 EC2 서버에 Docker를 실행시키고 Jenkins 컨테이너를 올려서 사용하고 있다. 처음 문제는 Jenkins 로그인을 할 때 아이디 비밀번호를 잊어버린 것이 시작이다. Docker 컨테이너에 접속하기 EC2 에 접속하여 터미널 창에 아래 명령어를 이용하여 Docker Container에 접속할 수 있다. # 실행 중인 docker container 확인 $ docker ps # 특정 container에 접속 $ docker exec -it [컨테이너ID or 컨테이너Name] /bin/bash config.xml 수정하기 /var/jenkins_home/ 을 확인해보면 config.xml 파일이 있는 것을 확인할 수 있다. vim명령어를 활용하여 아래 true

    [Java] 프로그래머스 (거리두기 확인하기) Level 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr Approach Greedy 한 BFS 문제이다. 2021 카카오 채용연..

    [Java] 프로그래머스 (게임 맵 최단거리) Level 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr Approach 아주 기본적인 BFS 문제이다. BFS를 구현할 줄 안다면 풀 수 있는 문제이다. 추가적인 스킬은 필요하지 않은 것 같다. Code import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; impo..

    [Docker] Docker Container 위에서 vi command not found

    본인은 AWS EC2 의 Amazon Linux 2 에 Docker 위에 Jenkins 컨테이너를 띄우고 있다. 문제 Jenkins 비밀번호를 까먹어서 config.xml 파일을 수정할 일이 생겼는데, vi를 사용하니 아래와 같은 에러가 발생했다. 해결방법 굳이 Docker에 국한된 문제는 아니지만, 없으면 설치하면 된다. Debian 계열의 리눅스라면 apt-get을 사용하여 vim을 설치하면 된다. 아래 명령어를 사용하여 먼저 apt-get 을 최신 버전으로 업데이트 한 뒤에 vim을 깔자. $ sudo apt-get update $ sudo apt-get install vim 참조 https://oingdaddy.tistory.com/92 Docker 에서 "vi : command not found..

    [Java] 프로그래머스 (다단계 칫솔 판매) Dev-Matching 3

    Problem : https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr Approach 트리 를 구성할 수 있는지, 특정 노드를 시작으로 부모 노드들을 순회할 수 있는지가 핵심인 문제이다. 문제 풀이의 주요 로직은 다음과 같다. 트리를 구성하는 전처리 과정이 필요하다. 이 과정에서 트리를 구성함은 물론, 현재 노드 i에 대하여 부모 노드가 무엇인지도 저장해주어야 한다. 각 seller에 대하여 반복문을 돌린다..

    [Java] 프로그래머스 (행렬 테두리 회전하기) Dev-Matching 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr Approach 행렬의 특정 부분을 회전시킴과 동시에, 그 영역에 있는 최솟값을 찾는 문제이다. 행렬 회전을 구현할 수 있어야 한다. 행렬 회전만 구현할 줄 안다면, 약간의 조건을 걸어 쉽게 풀이가 가능하다. 문제 풀이의 주요 로직은 아래와 같다. 좌상단과 우하단의 위치를 찾고, 그 영역의 테두리 부분을 시계방향 90도 회전 ..

    [Java] 프로그래머스 (로또의 최고 순위와 최저 순위) Dev-Matching 1

    Problem : https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr Approach 먼저 주어진 입력에서 0의 개수를 센다. 최고 순위는 0이 모두 당첨번호와 같다는 것을 가정하여 계산하고, 최저 순위는 0이 모두 당첨번호와 다르다는 것을 가정하여 계산한다. 그리고 난 뒤, 일치하는 번호의 개수를 가지고 등수를 계산하여 반환하면 되는 간단한 문제이다. Code im..

    [AWS] EC2의 Docker 위에 Jenkins Container 올리기

    AWS EC2 Instance (Amazon Linux2) 에서 Docker로 Jenkins 이미지를 다운받아서 Container로 띄우는 것이 목표이다. ec2 인스턴스가 있다고 가정하고, Java나 Docker나 모두 설치되어 있다고 가정을 하고 시작한다. EC2 Instance 접속하기 먼저 Jenkins를 설치할 ec2 instance 에 접속한다. (putty, mobaXterm, vscode remote-ssh 등을 이용하여) 그리고 Docker를 실행하고, 간단한 설정을 진행한다. # Docker 실행 $ sudo systemctl start docker 루트 사용자가 아닌 일반 사용자가 docker 명령어를 사용하려고 하면, Permission Denied 에러를 뱉는다. 따라서 sudo의..

    [AWS] VSCode에서 AWS EC2 instance 원격 접속하기(Remote)

    Windows 환경의 VSCode에서 AWS EC2에 원격접속을 해보자. 이 포스팅은 EC2와 접속에 필요한 .pem키는 이미 있다고 가정하고 진행한다. vscode extension: Remote Development 설치하기 ctrl + shift + X 단축키로 MarketPlace를 열어 Remote Development를 설치한다. SSH 연결 config 파일 수정하기 F1 키를 눌러 ssh open을 검색하여 나오는 Remote-SSH: Open SSH Configuration File...을 클릭한다. 기본적으로 저장되는 위치는 사용자이름/.ssh/ 이므로 config 파일이 없다면 그냥 새로 만들면 된다. aws console에서 연결할 ec2 instance를 찾아 우클릭 후 연결 을 ..

    [AWS] EC2(Amazon Linux 2)에 Java 11 설치하기

    Amazon Linux 2 이미지를 가지고 실행된 AWS EC2 에서 Java 11 을 설치해 보자. yum 으로 설치 가능한 Java 는 버전 8까지이다. 따라서 아마존에서 제공하는 OpenJDK인 Amazon Coretto 를 다운받아 설치하자. $ yum list java*jdk-devel # 설치 가능한 jdk 확인 # java-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.77.amzn1 amzn-main # java-1.7.0-openjdk-devel.x86_64 1:1.7.0.261-2.6.22.1.83.amzn1 amzn-updates # java-1.8.0-openjdk-devel.x86_64 1:1.8.0.252.b09-2.51.amzn1 Java..