반응형

전체 글 111

Spring database config bean 다중 설정 예제 by JPA

database와의 연결 설정 파일을 다중으로 사용해야할 경우, main으로 사용 할 config를 지정해주어야한다. @Praimary 어노테이션을 통해서 의존성 주입시 최우선 bean임을 명시해줄 수 있다 @Configuration @EnableJpaRepositories @EnableTransactionManagement class ApplicationConfig { @Bean @Praimary // 해당 어노테이션을 통해서 메인 설정임을 지정해주어야함 public DataSource dataSource() { EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(); return builder.setType(EmbeddedDatabaseTyp..

Spring 2024.04.04

vault approle 활용하여 정보 가져오기

1. approle 생성 vault auth enable approle ==> 세부 설정은 개개인의 설정의 따른다 $ vault write auth/approle/role/{role_name} \ $ vault write auth/approle/role/my-role \ secret_id_ttl=10m \ token_num_uses=10 \ token_ttl=20m \ token_max_ttl=30m \ secret_id_num_uses=40 1.1 list 확인 vault list auth/approle/role 2. roleId 가져오기 $ vault read auth/approle/role/{생성한 role name}/role-id $ vault read auth/approle/role/my-rol..

ETC 2024.03.27

vault 생성 및 정보 저장 및 읽기

vault를 통해서 암호화 정보를 관리할 수 있다 Vault를 통해서 정보를 저장하고, 저장한 정보를 받아 볼 수 있기까지의 명령어를 정리 http://localhost:8200/ui/vault ⇒ 아래 설명은 cli명령어가 아닌 ui를 통해서도 동일하게 적용 가능하다 1. Vault서버에 Root 계정으로 로그인하기 vault 를 최초 실행 할 경우 root token을 확인 할 수 있다. 해당 정보는 다시 발급 및 재확인이 불가능하므로, 고정된 token을 사용하지 않을 경우 필히 저장 해두는 것을 추천 vault login hvs.RootToken~~~~~ 2. Vault 에서 사용할 path 활성화하기 vault secrets enable -path={사용할 path} -description="{..

ETC 2024.03.27

Java11

String 클래스에 새로운 메소드 추가 다음 6가지 메소드가 추가 되었다. strip(): 문자열 앞, 뒤의 공백 제거. stripLeading(): 문자열 앞의 공백 제거. stripTrailing(): 문자열 뒤의 공백 제거. isBlank(): 문자열이 비어있거나, 공백만 포함되어 있을 경우 true를 반환한다. String.trim().isEmpty() 와 결과가 동일함. repeat(n): n개만큼 문자열을 반복하여 붙여서 반환함. java.nio.file.Files 클래스에 새로운 메소드 추가 다음 3가지 메소드가 추가 되었다. Path writeString(Path, String, Charset, OpenOption): 파일에 문자열을 작성하고 Path로 반환한다. 파일 오픈 옵션에 따라 ..

java 2023.12.07

Java8

Java 8의 특징 Heap Permanent Generation 제거 Java 8 이전에는 초기 설정할 때, PermSize와 MaxPermSize를 설정해 주어야 했으나, Java 8부터는 Permanent Generation이 Metaspace로 대체되었다. Metaspace는 런타임 시 메모리 요구 사항에 따라 자체 크기를 조정하며, 필요하다면 MaxMetaspaceSize 매개 변수를 설정하여 Metaspace의 양을 조절할 수 있다. Permanent Generation Permanet Generation은 Class 혹은 Method Code가 저장되는 영역이다. PermGen은 Heap 영역에 속한다. Default로 제한된 크기를 갖고 있다. Metaspace Metaspace는 Java..

java 2023.12.07

Java8 VS Java11

현재 java8과 java11을 사용하고 있습니다. 하지만 java8과 java11의 차이점도 모르고 사용중이었기에, 정리를 해보았습니다. Java 8의 특징 람다 표현식 (Lambda Expressions) Java 8에서는 함수형 프로그래밍을 지원하기 위해 람다 표현식이 도입되었습니다. 이를 통해 익명 함수를 간결하게 표현할 수 있게 되었습니다. 스트림 API 스트림 API는 데이터 컬렉션을 처리하기 위한 기능을 제공하며, 병렬 처리를 통해 성능을 향상시킬 수 있습니다. 메서드 참조 (Method References) 메서드 참조를 사용하여 기존 메서드를 다른 메서드로 참조하고 호출할 수 있습니다. 기본 메서드 (Default Methods) 인터페이스에 기본 메서드를 추가할 수 있게 되어, 인터페이..

java 2023.12.07

우당탕탕 AWS 학습기 - S3

AWS S3 단어 설명 Simple Storagg Service => S3 객체 스토리지 서비스 : 파일만 보관 가능 Block Storage Service(EBS, EFS ...etc) 어플리케이션 설치 및 실행이 불가능 글로벌 서비스. 단, 데이터는 리전에 저장 무제한 용량 하나의 객체는 0byte ~ 5TB까지 저장 가능 버킷이란? S3의 저장공간을 구분하는 단위 디렉토리/폴더와 같은 개념 버킷이름은 전 세계에서 고유한 값 -> 리전에 관계없이 중복된 이름 X S3 객체의 구성 Owner : 소유자 Key : 파일의 이름 Value : 파일의 데이터 -> 없어도 업로드 가능 (0byte) Version ID : 파일의 버전 아이디 Metadata : 파일의 정보를 담은 데이터 ACL : 파일의 권한..

AWS 2023.11.30

우당탕탕 AWS 학습기 - Elastic Load Balancer(ELB, 로드밸런서)

Elastic Load Balancer(ELB, 로드밸런서) Load Balancer라는 이름에서 알 수 있듯이 ELB는 부하를 분산 시켜주는 역할을 합니다. 다수의 서비스에 트래픽을 분산 시켜주는 서비스 Health Check : 직접 트래픽을 발생시켜 Instance가 살아있는지 체크 Autoscaling과 연동 가능 여러 가용영역에 분산 가능 지속적으로 IP주소가 바뀌며 IP 주소 불가능 항상 도메인 기반으로 사용 Elastic Load Balancer 장점 및 특징 로드 밸런싱: ELB는 들어오는 트래픽을 여러 대상 (예: EC2 인스턴스) 사이에 분산하여 각 대상에게 균형을 유지합니다. 이를 통해 트래픽 부하를 공정하게 분산하고 서비스의 가용성을 향상시킵니다. 고가용성: ELB는 여러 가용 영역..

AWS 2023.11.15

우당탕탕 AWS 학습기 - S3, CDN서버 사용기

회사 업무에서 AWS S3를 활용한 CDN 서버를 사용할 기회가 생겼습니다. AWS 공부에는 순서가 없지만 S3를 사용해볼 수 있는 기회를 놓칠 수 없기에 S3를 급하게 작성하게 되었습니다 공부 내용이라기보단 사용 방법과, 곤란했던 경험들을 작성하였습니다. 아쉽지만 CDN 서버를 직접 구성해보진 못하였고, 업체를 사용하여 AWS를 사용하게 되었습니다. 업무에서 사용한 경험은 단순 S3의 접근 및 Upload, Download가 되었습니다. 기본적으로 AWS CDN 서버는 S3 서비스와 CloudFront를 같이 사용하여 구성하는 것으로 알고 있지만 이부분은 추후 블로그에 글을 남겨 링크를 첨부하겠습니다. AWS SDK Version Java 1.X 버전을 사용하였습니다. 버전선택시 가장 중요했던건 정보였..

AWS 2023.11.01

JavaScript Number toLocaleString()

회사에서 JSP 화면 작업을 하던 중 검색하던 정보를 기재하였습니다. // Syntax // number.toLocaleString(locales, options) let num = 1000000; let text = num.toLocaleString(); // 1,000,000 let num = 1000000; let text = num.toLocaleString("fi-FI"); // 1 000 000 let num = 1000000; let text = num.toLocaleString("en-US", {style:"currency", currency:"USD"}); // $1,000,000.00 위와 같은 방식처럼 사용할 수 있으며, 쉽고 간편하게 금액 표시가 가능해집니다. 참고사이트[https:..

JS 2023.10.26

date picker 날짜 계산하기! _ 1개월, 3개월, 6개월 계산

date picker 사용한 JS Version : 1.13.2 // [dev] 날짜 데이터피커 var today = new Date(); $.datepicker.setDefaults({ dateFormat: 'yy.mm.dd', prevText: '이전 달', nextText: '다음 달', monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], monthNamesShort: ['1..

JS 2023.10.24

우당탕탕 AWS 학습기 - 가상화? > AWS EC2

가상화란? 단일 컴퓨터의 하드웨어 요소를 일반적으로 가상머신(VM)이라고 하는 다수의 가상컴퓨터로 분할할 수 있도록 해주는 기술 알아둬야할 개념 운영체제(Operating System, OS) : 시스템 하드웨어 자원과 소프트웨어 자원을 운영 관리하는 프로그램 window, linux, macOS, Android ...ETC 특권명령(privileged instruction) : 시스템 요소들과 소통할수 있는 명령 - OS만 가능 OS는 특권 명령때문에 하나의 하드웨어 시스템당 하나밖에 돌아갈 수 없엄 일반 프로그램은 특권 명령이 필요없기 때문에 많은 프로그램을 동시에 수행 가능 EX) 인터넷의 경우 여러창을 동시에 사용가능 가상화가 나타나기 전까지는 하나의 하드웨어 시스템은 하나의 OS만 실행이 가능했..

AWS 2023.09.12

우당탕탕 AWS 학습기 - AWS 구성 (용어설명)

리전 (Region) AWS는 세계 여러 지역에 데이터 센터를 보유하고 있습니다. 각 리전은 독립된 인프라를 가지며, 지리적으로 분산된 다양한 서비스를 제공합니다. 예를 들어, 미국 서부 (Oregon), 유럽 (Frankfurt), 아시아 태평양 (서울) 등이 리전의 예시입니다. AWS의 서비스가 제공되는 서버의 물리적 위치 전 세계에 흩어져 있으며 큰 구분(동남아, 유럽, 아시아 ...etc) 으로 묶여 있음 각 리전에는 고유의 코드가 부여됨 ex : 서울 리전 => ap-northeast-2 리전별로 가능한 서비스가 다름 리전을 선택할 때 고려할 점 지연 속도 법률(데이터, 서비스 제공 관련) 사용 가능한 aws 서비스 US-East-1 리전 모든 AWS의 서비스가 최초로 서비스되는 리전 기타 글로..

AWS 2023.09.01

우당탕탕 AWS 학습기 - 클라우드 컴퓨터란?

학습의 필요성을 느끼고, AWS를 공부하기 시작했습니다. 유튜브 강의, AWS 공식 홈페이지의 기재되어 있는 정보를 스스로 판단하고 이해하니 잘못된 정보가 있을 수 있습니다. 언제든 오류사항에 대해서 댓글로 달아주시면, 수정하겠습니다! https://www.youtube.com/playlist?list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m 이 유튜브 강의가 진짜 좋습니다. 왜냐구요? 직접 들어보니 좋더라구요 AWS Amazon Web Services (AWS)는 아마존에서 제공하는 클라우드 컴퓨팅 플랫폼으로, 기업이나 개인이 IT 인프라를 구축하거나 관리하지 않고도 다양한 서비스를 활용할 수 있게 해주는 서비스입니다 클라우드 컴퓨팅이란? IT 리소스를 인터넷을 통해 온디맨드로 제..

AWS 2023.08.31

종속성 구성(implementation, compileOnly, runtimeOnly)

회사에서 업무를 진행하던 중 sql-jdbc를 찾을 수 없다는 오류가 발생하며 프로젝트가 실행되지 않았습니다. build.gradle에서 runtimeOnly -> implementation으로 변경 후 재실행하니까 정상적으로 실행의 성공하였습니다. implementation, compileOnly, runtimeOnly 를 사용중인데 있어 어떤 차이가 있는지 찾아보았습니다. implementation implementation은 가장 일반적으로 사용되는 종속성 구성 중 하나입니다. 이 구성을 사용하면 해당 종속성은 컴파일 타임과 런타임 모두에서 필요한 경우 사용됩니다. 즉, 이 종속성이 프로젝트 코드 내의 클래스나 메소드를 컴파일하는 동안 사용되며, 해당 종속성이 실행되는 동안 런타임 클래스패스에 포함..

ETC 2023.08.16

자바 메모리 구조

java 메모리 구조의 관해서 공부하던 중 상시로 읽어보기 위해서 기재하였습니다. JVM 의 전체적인 구조 클래스 로더(Class Loader): 자바 프로그램은 클래스로 구성되어 있으며, 클래스 로더는 이러한 클래스 파일들을 JVM으로 로드합니다. 클래스 로더는 클래스 파일을 찾고 로드하며, 필요한 경우 클래스를 동적으로 로드하여 실행 환경을 구성합니다. 메모리 영역(Memory Areas): JVM은 다양한 메모리 영역을 관리합니다. 메서드 영역(Method Area): 클래스 정보, 정적 변수, 상수 등이 저장되는 영역입니다. 힙(Heap): 인스턴스 객체와 배열이 할당되는 영역으로 동적으로 생성되며, 가비지 컬렉션에 의해 관리됩니다. 스택(Stack): 메서드 호출과 관련된 지역 변수와 메서드 호..

java 2023.08.16

인접 행렬(Adjacent Matrix)

백준 알고리즘을 푸는 도중 알게된 지식을 기재하였습니다. https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net DFS와 BFS 문제를 접하게 되면, 흔하게 나오는 단어들이 있습니다. 노드 (Node) / 정점(vertex) → 그래프에서의 특정 위치나 개체를 나타내는 단위입니다. 간선 (Edge) → 그래프에서 노드 간의 관계를 나타내는 선입니다. → 정점을 연결하며, 방향성과 가중치 등의 속성을 가질 수 있습니..

알고리즘 2023.08.10

Stack

Stack이란? 자료 구조 중 하나인 Stack의 사전적 정의는 '쌓다', '더미'입니다. 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료 구조라고 할 수 있습니다. Stack의 가장 큰 특징은 나중에 들어간 것이 먼저 나오는 (Last In First Out)의 형태를 띈다는 것입니다. 이 방식을 가진 자료구조인 Stack을 활용하여 다양한 문제를 해결할 수 있습니다. 자바에서 Stack은 java.util.Stack을 import하면 바로 사용할 수 있습니다. Stack의 특징 1. 먼저 들어간 자료가 나중에 나옴 LIFO(Last In First Out) 구조 2. 시스템 해킹에서 버퍼오버플로우 취약점을 이용한 공격을 할 때 스택 메모리의 영역에서 함 3. 인터럽트처리, 수식의 계산, 서브루틴의 복..

자료구조 2023.06.26
반응형