전체 글 29

[DevOps]📌 Ubuntu 22.04에서 Kubernetes 클러스터 환경 세팅 (마스터 1대 + 워커 2대)

🎯 목표:가상머신 3대(Master 1개 + Worker 2개)를 이용해서 Kubernetes 클러스터를 설치하기 위한 사전 준비를 진행할 거야!CPU 2개, 메모리 4GB를 가진 가상머신이 필요해.✅ 1️⃣ 호스트 이름(컴퓨터 이름) 설정각 가상머신(서버)의 이름을 지정해줘야 해.서버의 역할에 따라 이름을 다르게 설정해야 나중에 관리하기 편해!🔹 할 일마스터 서버: master워커 서버 1: worker01워커 서버 2: worker02📌 실행할 명령어 (각 노드에서 실행)vi /etc/hostname➡ 파일을 열고 아래처럼 변경해줘!master # (마스터 노드에서는 이렇게 설정)worker01 # (첫 번째 워커 노드에서는 이렇게 설정)worker02 # (두 번째 워커 노드에서는 이렇게 ..

Programming/DevOps 2025.03.12

[Linux] vi 명령어 정리

vi 편집기의 모드(command, Edit, LastLine 모드)동작명령어vi 시작vi [경로]명령 모드esc편집 모드i, a, ovi 종료 :wq(w저장 q종료)Last Line 모드:Command 모드(esc)커서이동방향키동작 명령어G가장 마지막 줄로 이동gg첫번째 즐로 이동[n]Gn번째 줄로 이동$커서가 위치한 줄의 맨 끝으로 이동0커서가 위치한 줄의 맨 앞으로 이동w커서가 한 단어씩 오른쪽으로 이동b커서가 한 단어씩 왼쪽으로 이동 (2) 삭제명령어동작x한 문자 삭제, 또는 Edit모드에서 백 스페이스나 Delete 키로 삭제dd커서가 위치한 한 줄을 삭제 d[커서 이동]커서 이동하는 만큼 삭제 (3) 수정명령어 동작r커서가 위치한 부분의 문자 하나를 입력하는 문자로 대체uCtrl + z 처럼 ..

CS/Linux 2025.03.11

[DevOps] Docker와 Container(feat. 도커와 가상머신의 차이)

Docker: 서버를 더 빠르고 가볍게 만드는 마법 같은 도구 🚀Docker란?Docker는 리눅스의 Container기술을 이용하여 애플리케이션을 격리된 환경에서 실행할 수 있도록 도와주는 도구다. 이걸 사용하면 내가 만든 프로그램이 어디서든 똑같이 동작한다.예를 들어, 내 컴퓨터에서는 잘 돌아가는데 서버에서는 오류가 나는 경험 해본 적 있지 않은가? Docker는 이런 문제를 깔끔하게 해결해준다.컨테이너(Container)란?컨테이너는 일종의 독립된 박스라고 생각하면 쉽다. 이 박스 안에는 프로그램, 라이브러리, 환경설정 파일까지 내가 원하는 걸 다 담을 수 있다. 덕분에 컨테이너가 돌아가는 곳이라면 어디서든 똑같은 환경에서 프로그램을 실행할 수 있다.과거에는 **가상머신(VM)**을 사용했지만, ..

Programming/DevOps 2025.03.10

[SPRINGBOOT] 멀티 모듈 설정하기

Spring 멀티 모듈이란?Spring Framework로 하나의 서비스를 구현하는데 있어각자의 기능이 나뉜 여러대의 서버로 구성하는 것이다. 루트 모듈 설정/src 폴더 삭제필요가 없다.build.gradle 수정subprojects { compileJava { sourceCompatibility=17 targetCompatibility=17 apply plugin: 'java' apply plugin: 'java-library' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' } dependencies { implem..

이진 탐색 트리(Binary Search Tree, BST)

이진 탐색 트리(Binary Search Tree, BST)이진 탐색 트리(BST)는 이진 트리의 한 종류로, 특정 규칙에 따라 데이터를 저장하여 탐색, 삽입, 삭제 등의 연산을 효율적으로 수행할 수 있습니다.특징구조:각 노드는 최대 2개의 자식 노드를 가질 수 있습니다.노드에는 키(key)와 데이터가 저장됩니다.속성 (Binary Search Property):왼쪽 서브트리의 모든 노드 값은 현재 노드 값보다 작습니다.오른쪽 서브트리의 모든 노드 값은 현재 노드 값보다 큽니다.이 규칙은 모든 서브트리에서도 동일하게 적용됩니다.중위 순회(Inorder Traversal):BST를 중위 순회하면 항상 오름차순으로 정렬된 값을 얻을 수 있습니다.효율성:일반적으로 연산의 시간 복잡도는 O(h) (h는 트리의 ..

CS/알고리즘 2025.01.17

[java] IntelliJ(인텔리제이)에 tomcat설치와 설정 그리고 서블릿(servlet) doGet 메소드 테스트

1.톰캣 설치하기톰캣 10 버전 압축파일 다운로드하기https://tomcat.apache.org/download-10.cgi주의할 점톰캣 9버전에서 10버전으로 넘어오면서 패키지 이름이 javax에서 jakarta로 바뀌었다. 톰캣 10 버전 쓰려면 패키지 이름 javax로 된거 jakarta로 바꾸어주어야한다.그리고 원하는 경로에 압축을 풀어준다. 보통 c:/밑에 하는 경우가 많다.  2. 환경 설정하기2.1 인텔리제이 새 프로젝트 생성 (file-> new -> project)새로운 자바 프로젝트를 하나 만들어준다. 2.2 프레임워크 설정돋보기아이콘을 눌러서 add framwork Support를 찾아 들어간다(프로젝트 폴더를 더블클릭하고 검색해야 저게 뜬다 )Web Application ,Mave..

Programming/java 2025.01.08

[JAVA] @WebServlet 404에러

톰캣으로 Servlet 클래스를 만들어서 매핑을 시켜주고 싶었는데 매핑을 시켜준 경로에서 404에러가 떴다. HTTP 상태 404 – 찾을 수 없음 타입 상태 보고 메시지 요청된 리소스 [/test]은(는) 가용하지 않습니다. 설명 Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다.   확인해보니 톰캣 9에서 톰캣 10 버전으로 넘어가면서 servlet 관련 코드 패키지 이름이javax 에서 jakarta로 바뀐 것이다. 톰캣 9 버전을 쓰면 javax라고 해주고 톰캣 10 버전을 쓰면 jakarta로 패키지 이름을 변경해주어야한다. 나는 원래 jakarta로 작성하고 있어서 그냥 톰캣을 10버전으로 다시 깔았다.

Programming/java 2025.01.07

[Linux] 윈도우에서 Linux 우분투(aws)로 파일 옮기기(다른 컴퓨터에서 다른 컴퓨터로 파일 옮기기)-termius, scp,ppk->pem

프론트엔드 배포를 위해서 aws 우분투 인스턴스 생성 후에 nginx를 설치했다.그리고 윈도우 powershell에서 scp 명령어를 써서nginx에서 vue 파일을 받아서 복사 붙여넣기 하고 싶었는데 자꾸Permission denied (publickey)Received message too long이런 오류들이 떴다.일단 해결 방법을 먼저 말하자면scp -r [복사할 파일 경로] [계정@ip주소:붙여넣기 할 경로]이렇게 하니 Permission denied (publickey)오류가 나서  pem 키를 추가해주었고scp -i [pem키 경로] -r [복사할 파일 경로] [root@ip주소:붙여넣기 할 경로]그러고 나니Received message too long이런  메세지가 떠서 우분투 root계정..

CS/Linux 2024.12.27

[vue] vue 프로젝트 생성 및 생성 시 각 파일의 용도

1. node.js 설치Node.js — Node.js® 다운로드 Node.js — Node.js® 다운로드Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org node.js란?:google v8 엔진을 기반으로 만들어진 서버 측 자바 스크립트 언어이자 플랫폼(vue.js 관련 도구를 설치하고 앱의 의존성 라이브러리를 관리)node.js가 나오면서 백엔드 개발이 가능해졌음node.js와 함께 Express라는 웹 프레임 워크를 이용해서 vue.js 애플리케이션이 액세스하는 백엔드 API 서비스를 작성.즉, 원래 node.js는 백엔드에서 쓰려고 설치함vue프론트엔드 프레임워크(프론트엔드:클라이언트 컴퓨터에서 실..

[vue]vue vite 기반 프로젝트 생성 및 초기 설정 (feat. pinia, router, axios)

1. vue 초기 설정npm init vite '프로젝트 명' --template vuecd 프로젝트 명npm install npm run dev  2. vue 기본 세팅(pinia, router, acxios ) npm i vue-router@4 pinia axios 3. 라우터 생성// src/router/index.jsimport { createRouter, createWebHistory } from 'vue-router'import Main from '@/pages/Main.vue'import Login from '@/pages/Login.vue'const router = createRouter({ history: createWebHistory(), routes : [ { ..