GitHub

https://github.com/Choidongjun0830

전체 글 486

이미지로 만든 Spring 프로젝트 쿠버네티스에 배포하기 (우분투 환경)

배포kubectl apply -f {yaml 파일명}Pod 로그 출력kubectl logs {Pod명}Pod명 확인kubectl get po포트 포워딩kubectl port-forward service/{서비스명} {포트}삭제kubectl delete (deployment/svc) {이름}  insurance-deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: labels: app: insurance name: insurancespec: replicas: 1 selector: matchLabels: app: insurance template: metadata: labels: app: insura..

클라우드 2024.08.12

Spring 프로젝트 이미지로 만들고 docker hub에 업로드하기 (Ubuntu 환경)

쿠버네티스 환경에서 어플리케이션을 배포하기 위해서는 프로젝트의 컨테이너 이미지를 생성해야한다.  wget 설치sudo apt install wget java 버전에 맞는 안정적인 gradle 설치https://docs.gradle.org/current/userguide/compatibility.html#java Compatibility MatrixThe sections below describe Gradle’s compatibility with several integrations. Versions not listed here may or may not work.docs.gradle.org 위 링크에서 java버전과 잘 호환되는 gradle 버전 확인자바 버전이 21이라 8.5 버전 설치wget http..

클라우드 2024.08.11

Querydsl에서 동적 쿼리와 함께 페이징하기

PageImpl같은거 만들라하는데 잘모르겠어서 그냥 UserInsuranceSearchDto를 만들어서 검색 결과인 contents랑 검색 결과의 총 개수를 나타내는 count를 필드로 만들었다. @Datapublic class UserInsuranceSearchDto { private List content; private long count;} 그리고 정렬은 어차피 보험 가입 날짜를 기준으로 내림차순 정렬하고, 보험 가입 날짜가 같은 경우에는 id를 기준으로 오름차순 정렬했다. 그래서 Controller에서는 pageNo만 @RequestParam을 통해 받았다.@ModelAttribute InsuranceSearch insuranceSearch는 동적 쿼리를 위한 검색 조건들을 입력하기 ..

Spring 2024.08.08

1.2 프로그래밍 패러다임

'면접을 위한 CS 전공지식 노트' 책을 보며 공부한 내용입니다. 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론프로그래밍 패러다임선언형함수형명령형 객체 지향형절차 지향 선언형과 함수형 프로그래밍선언형 프로그래밍: 무엇을 풀어내는 가에 집중하는 프로그래밍. "프로그램은 함수로 이루어진 것이다"함수형 프로그래밍은 선언형 패러다임의 일종.const list = [1, 2, 3, 4, 5, 11, 12]const ret = list.reduce((max, num) => num > max ? num : max, 0)console.log(ret)reduce()는 배열만 받아서 누적한 결과값을 반환하는 순수 함수순수 함수: 출력이 입력에만 의존하는 함수고차 함수: 함수가 함수를 값처럼 매개변..

CS 2024.08.01

1.1 디자인 패턴

'면접을 위한 CS 전공지식 노트' 책을 보며 공부한 내용입니다. 싱글톤 패턴하나의 클래스에 오직 하나의 인스턴스만 가진다.보통 DB 연결 모듈에 많이 사용한다. 장점생산 비용 감소단점의존성 증가TDD(Test Driven Development)를 할 때 방해된다. : TDD를 할 때는 단위 테스트를 주로 하는데, 단위 테스트는 각각이 독립적이어야 하며, 테스트를 독립적으로 실행할 수 있어야 한다. 하지만, 싱글톤은 미리 생성해둔 하나의 인스턴스로 구현하는 것이라서, 각 테스트마다 독립적이기 힘들다.의존성 주입으로 모듈 간의 결합을 조금 더 느슨하게 만들 수 있다.메인 모듈이 직접 하위 모듈에 의존성을 주는 것이 아닌, 의존성 주입자가 메인 모듈에 간접적으로 의존성을 주입함으로써, 메인 모듈은 하위 모듈..

CS 2024.07.31

[프로그래머스] Lv2. 쿼드압축 후 개수 세기 🙁

쿼드압축 후 개수 세기문제 설명0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다.당신이 압축하고자 하는 특정 영역을 S라고 정의합니다.만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다.그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다.arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요.제한사항ar..

[프로그래머스] Lv3. 가장 먼 노드 / 그래프

가장 먼 노드문제 설명n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다.노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요.제한사항노드의 개수 n은 2 이상 20,000 이하입니다.간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다.vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다.입출력 예nvertexr..

[프로그래머스] Lv3. 합승 택시 요금 / 그래프🙁

합승 택시 요금문제 설명[본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.]밤늦게 귀가할 때 안전을 위해 항상 택시를 이용하던 무지는 최근 야근이 잦아져 택시를 더 많이 이용하게 되어 택시비를 아낄 수 있는 방법을 고민하고 있습니다. "무지"는 자신이 택시를 이용할 때 동료인 어피치 역시 자신과 비슷한 방향으로 가는 택시를 종종 이용하는 것을 알게 되었습니다. "무지"는 "어피치"와 귀가 방향이 비슷하여 택시 합승을 적절히 이용하면 택시요금을 얼마나 아낄 수 있을 지 계산해 보고 "어피치"에게 합승을 제안해 보려고 합니다.위 예시 그림은 택시가 이동 가능한 반경에 있는 6개 지점 사이의 이동 가능한 택시노선과 예상요금을 보여주고 있습니다.그림에서 A와 B 두 사람은 출발지점인 4번 지점에서..

[프로그래머스] Lv2. 하노이의 탑 🙁

하노이의 탑문제 설명하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입니다.한 번에 하나의 원판만 옮길 수 있습니다.큰 원판이 작은 원판 위에 있어서는 안됩니다.하노이 탑의 세 개의 기둥을 왼쪽 부터 1번, 2번, 3번이라고 하겠습니다. 1번에는 n개의 원판이 있고 이 n개의 원판을 3번 원판으로 최소 횟수로 옮기려고 합니다.1번 기둥에 있는 원판의 개수 n이 매개변수로 주어질 때, n개의 원판을 3번 원판으..

[프로그래머스] Lv2. 구명 보트 / 탐욕법

구명보트문제 설명무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다.구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요..

728x90