전체보기 15

PTL 장비

PTL (Partial Tape Library) - LTO 테이프를 이용해 데이터를 장기 저장하거나 오프사이트 보관(소산) 목적으로 사용. 소산 테이프 - 백업 데이터를 외부 안전 장소로 물리적으로 반출하는 용도로 사용하는 테이프 📦 소산 테이프 초기화란?초기화는 말 그대로 기존에 저장된 데이터를 지우고 새로운 백업에 쓸 수 있도록 준비하는 작업이다.테이프 꺼내기 (Export)→ 기존에 백업 끝난 테이프를 PTL에서 꺼내서 소산 보관하거나 폐기/재사용을 위한 초기화 준비.새 테이프 넣기 (Import)→ 새로운 공 테이프를 장비에 넣음. 백업 작업에 쓰기 전에는 포맷(초기화) 과정을 거침.테이프 초기화 (Format / Labeling)→ 백업 소프트웨어나 테이프 라이브러리 관리 툴을 통해 해당 테이..

Backup 2025.07.19

[Oracle] 오라클 함수 정리

오라클에서 전체 합계 대비 비율 또는 백분율을 구하기 위해서는RATIO_TO_REPORT 이용SELECT ename , sal , RATIO_TO_REPORT(sal) OVER() AS sal_ratioFROM empWHERE job = 'MANAGER' NTILE OVER : 특정 컬럼의 값을 기준으로 N개의 등급 부여하기(오름차순, 내림차순 순서대로 분류가 필요할 때)컬럼K의 값 기준으로 N개의 등급으로 분류하여 조회하려는 경우 (등급 분류 기준은 오름차순)select 컬럼X, 컬럼Y, ..., ntile(숫자N) over (order by 컬럼K) as 별칭Kfrom 테이블A;범주형 변수인 컬럼L 집단별로 컬럼K를 기준으로 N개 등급으로 분류하여 조회하려는 경우 (등급 분류 기준은 내림차..

Database/SQL 2024.05.19

[Java] equals()와 hashCode() 메서드 알아보기

equals와 hashCode란 무엇인가?자바의 부모 객체 Object 클래스 위에는 equals()와 hashCode() 메서드가 선언되어 있다. 1. equals()란?★ 동일성(equality), 동등성(identity) 동일한 객체가 메모리 상에서 띄워져 있는 경우는 서로 다른 메모리에 있으므로 동일한 객체가 아니다. 하지만 같은 값을 지니므로 equals 메서드를 사용해 동등성을 나타내주는 것이다. 값으로 객체를 비교하도록 equals 메서드를 오버라이딩하는 것이다.여기서 의미하는 동일성(equality)과 동등성(identity)은 다른 개념이다. 동일한 값을 갖는 문자열을 2개 생성했을 때, 동등성을 비교하는 equals 메서드를 호출하면 true가 나오지만, 동일성을 비교하면 서로 다른 메..

Java 2024.05.15

AWS는 무엇인가?

AWS = Amazon Web Services미국의 아마존닷컴(amazon.com)이 온라인 비즈니스를 지원하는 시스템 구축 및 운영 노하우를 바탕으로 제공하는 클라우드 컴퓨팅 서비스 세계 최대 규모의 클라우드 컴퓨팅 서비스로 클라우드 = AWS로 생각하는 사람도 많다.글로벌 클라우드는 Amazon, Microsoft, Google이 있고, 국내 클라우드는 Naver Cloud, Kt Cloud, NHH Cloud, Kakao i cloud가 있다. AWS가 왜 생겨났고, 왜 필요한 것인가?기존에는 개인이나 기업이 서버를 운영하기 위해 '서버 구동용 컴퓨터'를 구매하거나 'IDC'에서 서버를 모아 일정한 사용료를 지불하며 서버를 운용하였다.이와 같은 방식에 문제가 발생하였다. 유지 비용이 크다.확장성이 ..

DevOps/AWS 2024.05.11

[Java] Call by value, Call by reference 차이

자바의 변수에는 두 가지 종류가 있다.기본 타입 변수(Primitive type) : int, double, boolean 등과 같은 기본 데이터 유형, 실제 값(value)을 저장한다.참조 타입 변수(Reference type) : 클래스, 인터페이스, 배열 등의 참조 타입을 가지는 변수, 객체가 저장된 실제 메모리 위치를 가리키는 값이 저장된다. 메서드를 호출할 때 파라미터를 전달하는 방법에는 두 가지가 있다.Call by Value (값에 의한 호출)Call by Reference (참조에 의한 호출)자바에서 Call by Reference는 없다. Call by Value만 존재한다. Call by Reference (참조에 의한 호출)메서드 호출 시에 파라미터로 변수를 직접 전달하는 데, 메서드..

Java 2024.05.10

[Java] JVM 메모리 구조 및 실행 단계

Java 언어를 잘 이해하기 위해서 JVM(Java Virtual Machine)의 구조 파악이 선행되어야 한다. 자바 파일을 실행하기 위해 JVM이 어떻게 실행되는지 간략하게 알아보자. 위 그림을 순서대로 정리하면 다음과 같다. 소스코드(.java)를 작성한다.컴파일러(Compiler)가 자바 소스코드를 이용하여 클래스 파일을 생성한다. javac 명령어로 컴파일을 진행한다.컴파일된 클래스 파일(.class) 파일은 JVM이 인식할 수 있는 바이트 코드 파일이다.JVM은 클래스 파일의 바이트 코드를 해석하여 바이너리 코드로 변환한다.프로그램이 실행된다. ✔️ 바이트 코드(Byte Code)란?가상 컴퓨터(Virtual Machine)에서 돌아가는 실행 프로그램을 위한 이진 표현법   이제 위 그림에서 ..

Java 2024.05.09

[OS] Virtual Machine이란? (ft. 도커와 가상 머신의 차이점)

가상 머신(Virtual Machine) Windows를 그대로 사용하면서 여러 대의 리눅스 서버를 운영하는 효과를 내는 프로그램으로, 실제 컴퓨터처럼 작동한다. 컴퓨터 안에 또 다른 컴퓨터를 동작시키는 것 가상 머신을 사용하는 이유- 하나의 컴퓨터에서 서로 다른 운영체제를 실행하고자 할 때- 컴퓨터의 다른 부분에 영향을 주지 않는 독립 환경을 만들고 싶을 때 가상 머신의 종류1. 시스템 가상 머신2. 프로세스 가상 머신 ❗️도커와 가상 머신의 차이는 무엇인가도커(Docker)는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 컨테이너는 플랫폼에 상관없이 Application을 실행할 수 있는 기술을 의미한다. 도커의 로고가 상징하는 각종 Application을 실어 운반하는 고래처럼 도커 허브(Docker..

Spring에서 HTTP Request을 처리하는 과정

웹에 URL 주소를 입력했을 때 HTTP 요청이 시작된다. 요청을 하고 응답을 받으면 이 과정이 종료되는데, 어떤 일이 일어나는지 알아보자. 1. Client에서 Server로 요청을 전달한다. 이 요청은 DispatcherServlet이 받는데, 이것은 요청을 처리하기 위한 프론트 컨트롤러이다. 진입점 역할을 한다. DispatchServlet이 등장하게 된 배경은, 기존의 web.xml에 대한 의존을 낮추고 하나의 서블릿으로 모든 것을 관리해서 코드 중복 문제가 없어졌다. 자세한 것은 Spring MVC 패턴의 front-controller pattern을 알아보면 된다. 2. 해당 엔드포인트를 어떤 컨트롤러가 담당할지 HandlerMapping이 결정한다. (RequestMappingHandlerM..

Spring 2024.04.17

Windows 11 minikube 설치과정 알아보기

kubernetes를 실습하기 위해 학습에 알맞게 간편하게 구축하여 사용할 수 있는 minukube를 설치하려고 한다. 관리형 쿠버네티스의 경우 비용이 청구되어 상용 수준의 테스트를 하기에는 무리가 있으므로, 로컬 환경에서 minikube나, k3s를 활용하여 쿠버네티스 클러스터를 구성할 수 있다. 쿠버네티스 공식 사이트: Minikube로 경량화된 쿠버네티스 설치 https://kubernetes.io/ko/docs/setup/learning-environment/minikube/ 미니큐브 공식 사이트 https://minikube.sigs.k8s.io/docs/start minikube를 사용하기 위해 필요한 것 What you’ll need 2 CPUs or more 2GB of free memor..

DevOps/Kubernetes 2024.04.16

MySQL 비트연산 &

프로그래머스 > SELECT > 조건에 맞는 개발자 찾기 문제 해설 DEVELOPERS 테이블에서 특정 스킬을 보유한 개발자들의 정보를 검색하는 쿼리를 만들어야 한다. SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPERS WHERE SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'Python') OR SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'C#') ORDER BY ID - MySQL에서 Python, C# 스킬을 가진 개발자를 찾기 위해 비트연산자인 AND 연산(&)을 사용하였다. - & 연산자는 두 개의 이진수를 비교하고, 둘 다 1인경우에 결과..

Database/SQL 2024.04.13