![[Ubuntu] ssh 원격접속 보안 강화](https://blog.kakaocdn.net/dn/vOZdu/btsLzqF56aG/NTpSpB9fXfkkt4pbYiRsTk/img.jpg)
![[DB 성능 최적화] 인덱스(Index)](https://blog.kakaocdn.net/dn/nA2td/btsI9RE76dJ/L4bSgASjdtfHqK9KGAAC4k/img.png)
![[JPA] 병합(Merge)과 변경 감지(Dirty Checking)](https://blog.kakaocdn.net/dn/bFZDNu/btsIWaxR2k8/cSvhbm9EekSz6ubAKDeTkK/img.png)
![[Linux] 프로세스와 시그널](https://blog.kakaocdn.net/dn/bkg05L/btsKDFCOXxP/e8zaWDdfLamdv5yM8KsPZ1/img.jpg)
![[Docker] Docker Compose를 이용한 SpringBoot + MySQL + Redis 컨테이너 동시에 띄우기](https://blog.kakaocdn.net/dn/bQ4rTl/btsJfoCTWhU/Cfi1RaJSboO8ccgtmJepX1/img.webp)
![[Github Actions] 기본 문법 + 스프링부트 프로젝트 배포 자동화](https://blog.kakaocdn.net/dn/PPr6T/btsJtKAsSo9/rdlgK2vLTiqH2KUkdRBqkK/img.png)
![[Database] 트랜잭션 ACID, DB 연결구조와 세션](https://blog.kakaocdn.net/dn/c7kA33/btsFcQKD9PM/TAAAfUh62KENKRsO32rye0/img.png)
![[JAVA] 상속 - 타입 변환과 다형성(매우 중요)](https://blog.kakaocdn.net/dn/viEHP/btrVjnz9GER/zaV6B2QF28VWdHsPVapgZ1/img.jpg)
![[Linux / Ubuntu] VMware Tools 수동 설치](https://blog.kakaocdn.net/dn/cNmx0k/btsGbDbW1yY/767altqOB2ZCrUZi5Z3tC1/img.png)
![[Git] 소스트리(Sourcetree)로 브랜치(Branch) 다루기](https://blog.kakaocdn.net/dn/1Ulru/btsCy6Do1i6/E5Ooi4C792QgEUJrdGQKAk/img.png)
![[JSP] IntelliJ 에서 JSP 개발환경 만들기](https://blog.kakaocdn.net/dn/cNQOvx/btsC7qtoxqm/UuNX5TxNKYHXQ3Wk18KFyk/img.png)


![[Kubernetes] Deployment와 Service](https://blog.kakaocdn.net/dn/NfolE/btsNMLgTmR2/CAg8id90FKpPqW8A95v9Ek/img.png)
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.DeploymentDeployment 개념디플로이먼트(Deployment) 란 파드를 묶음으로 쉽게 관리할 수 있는 기능을 말한다.현업에서는 일반적으로 서버를 작동시킬 때 파드(Pod)를 수동으로 배포하진 않는다.디플로이먼트(Deployment)라는 걸 활용해서 파드(Pod)를 자동으로 배포한다. 디플로이먼트의 장점파드의 수를 지정하는 대로 여러 개의 파드를 쉽게 생성할 수 있음.ex) 파드를 100개를 생성하라고 시키면 디플로이먼트가 알아서 파드를 100개 생성해준다.파드가 비정상적으로 종료된 경우, 알아서 새로 파드를 생성해 파드 수를 유지한다.동일한 구성의 여러 파드를 일괄적으로 일시 중지, 삭제, 업데이트를..
![[Spring Boot 핵심원리와 활용] 액츄에이터(Actuator)](https://blog.kakaocdn.net/dn/nbLis/btsNSaApJzn/95wHVgwV5BTx21SRo8Qkd0/img.png)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.액츄에이터를 사용하려면 스프링부트 의존성에 다음과 같이 추가해야한다.build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter- actuator' // actuator 추가} 의존성을 추가하고 /actuator 경로로 접근하면 액츄에이터에 접근할 수 있다.http://localhost:8080/actuator 액츄에이터의 모든 기능을 웹에 노출하려면 application.yml에 아래와 같이 작성하면 된다.application.ymlmanagement: endpoints: web: exposur..
![[java] 백준 18429번 문제(근손실)](https://blog.kakaocdn.net/dn/717pS/btsNR7DkFb4/CYrsV18r4iysnES1vtQ5CK/img.png)
원본 링크 : https://www.acmicpc.net/problem/18429문제설명 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_18429{ static int n, k, count; static int[] kitEffect; static boolean[] usedKit; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.i..
![[Kubernetes] 파드(Pod)](https://blog.kakaocdn.net/dn/duK8RX/btsNMbNyeas/1O2O5y1BTJkKRK4nOtQ2pK/img.png)
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.파드(Pod)도커에서는 하나의 프로그램을 실행시키는 단위를 컨테이너라고 부른다. 쿠버네티스에서는 하나의 프로그램을 실행시키는 단위를 파드(Pod)라고 부른다.도커 : 컨테이너쿠버네티스 : 파드(하나 또는 여러개의 컨테이너로 구성)따라서 파드(Pod)는 일반적으로 쿠버네티스에서 하나의 프로그램을 실행시키는 단위라고 기억해두면 이해하기 편하다.쿠버네티스에서 가장 작은 단위일반적으로 하나의 파드가 하나의 컨테이너를 가진다. (예외적으로 하나의 파드가 여러 개의 컨테이너를 가지는 경우도 있다.) 쿠버네티스도 도커처럼 이미지를 기반으로 파드를 띄워 실행시킨다. Pod 생성 및 실행Nginx먼저 Manifest File을 ..
![[Kubernetes] 쿠버네티스 설치(Mac)](https://blog.kakaocdn.net/dn/btzCVm/btsNMzf35aI/Sv2AjitLxrkb301u90ZVl0/img.png)
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.쿠버네티스쿠버네티스(Kubernetes)는 다수의 컨테이너를 효율적으로 배포, 확장 및 관리하기 위한 오픈 소스 시스템이다.쿠버네티스(Kubernetes)는 Docker Compose와 비슷한 느낌을 가지고 있다. Docker Compose도 다수의 컨테이너를 쉽게 관리하기 위해 활용하기 때문이다.하지만 도커 컴포즈로 수백, 수천 개의 컨테이너를 관리하기는 힘들다. 하지만 쿠버네티스는 가능하다.Docker Compose: 로컬 개발 환경 또는 소규모 서비스 구성에 적합하며, 오케스트레이션 기능은 제한적이다.Kubernetes: 프로덕션 환경에서 수천 개의 컨테이너를 안정적으로 관리할 수 있다. 쿠버네티스의 장점컨테..
![[Nginx] 다중 도메인 설정, 로드 밸런싱](https://blog.kakaocdn.net/dn/cJg4qX/btsNL3uSxv5/xTKkpvVFFk7ohMW9IuxHzK/img.png)
다중 도메인 설정Nginx를 통해서 하나의 서버에서 도메인마다 다른 애플리케이션에 연결시킬 수 있다.예를들어, aaa.com 이라는 도메인에는 A라는 스프링부트 애플리케이션에 연결시키고, bbb.com이라는 도메인에는 B라는 스프링부트 애플리케이션에 연결시킬 수 있다. 이 글에서 설명하는 방법은 우분투 환경을 기준으로 설명하며, /etc/nginx/conf.d에 있는 .conf 파일을 사용하지 않는다. /etc/nginx/nginx.conf모든 사이트에 적용할 전역 설정 /etc/nginx/sites-available이 디렉토리는 Nginx에서 사용할 수 있는 모든 서버 블록 설정 파일을 보관하는 장소이다.이곳에 설정 파일을 작성한다고 해서 Nginx가 자동으로 해당 설정을 반영하지는 않으며, 단순히 설..
![[java] 백준 24542번 문제(튜터-튜티 관계의 수)](https://blog.kakaocdn.net/dn/bigZw4/btsNMSlArIM/rzFQovkxMHgGzrbDnSsCiK/img.png)
원본 링크 : https://www.acmicpc.net/problem/24542문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_24542{ static int[] parent; static final int MOD = 1_000_000_007; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRead..
![[java] 백준 1976번 문제(여행 가자)](https://blog.kakaocdn.net/dn/bE7H3c/btsNLRAXd7k/QVxtdMo1AFVvMcQk7HXEkK/img.png)
원본 링크 : https://www.acmicpc.net/problem/1976문제설명 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_1976{ static int[] parent; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); // 도시 수 ..
![[java] 백준 1717번 문제(집합의 표현)](https://blog.kakaocdn.net/dn/bDFk0g/btsNKv6uP6J/figbriGOTMWfUI67KdkAOK/img.png)
원본 링크 : https://www.acmicpc.net/problem/1717문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_1717{ static int[] parent; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new ..
![[java] 유니온 파인드(Union-Find)](https://blog.kakaocdn.net/dn/czgRRd/btsNMS6KCY6/RofamxyjMoYMgUk1Kl5sO1/img.png)
이 글은 Do it! 알고리즘 코딩 테스트 - 자바편을 개인적으로 공부하고 정리하는 글임을 알립니다.유니온 파인드유니온 파인드는 여러 개의 원소들이 어떤 그룹(집합)에 속해 있는지를 빠르게 확인하고, 서로 다른 그룹을 하나로 합치기 위해 사용하는 자료구조이다.예를 들어 친구 관계, 네트워크 연결, 그래프의 사이클 여부처럼 ‘서로 연결되어 있는지 아닌지’를 효율적으로 판별해야 하는 문제에서 매우 빠른 속도로 연산할 수 있기 때문에 자주 사용된다. 유니온 파인드는 일반적으로 여러 노드가 있을 때 특정 2개의 노드를 연결해 1개의 집합으로 묶는 union 연산과 두 노드가 같은 집합에 속해있는지를 확인하는 find 연산으로 구성되어있는 알고리즘이다. union 연산 : 여러 노드가 있을 때 특정 2개의 노드를..