전체 글142 Java String 자르기, 분리, 합치기 (substring, split, join) [Java] String 문자열 자르기/분리/합치기 substring, split, join 문자열 데이터를 사용하다보면 String 원형 그대로 사용하기보다는 특정 구분자로 문자열을 나누거나 인덱스를 기준값으로 사용하여 문자열을 여러 단위로 구분하여 사용할일이 많이 있습니다. 일반적으로 문자열의 인덱스 값을 기준으로 문자열을 자를땐 substring 을 사용하고 특정 문자로 문자열을 분리할때는 split 을 사용합니다. substring(int beginIndex, int endIndex) substring은 기본적으로 두개의 인자를 받는 String 반환형 메서드입니다. 첫번째 인자는 시작 인덱스로 전체 문자열에서 추출할 문자열의 시작위치를 나타내고 두번째 인자는 종료 인덱스로 추출할 문자열의 끝 위.. 2023. 2. 10. [HTTP] 인터넷과 네트워크의 기본 개념 (IP, TCP/UDP, PORT, DNS) [HTTP] 인터넷과 네트워크 인터넷을 이용하면 물리적으로 얼마나 멀리 떨어져있든지 간에 우리는 컴퓨터나 스마트폰을 통해 통신할수 있습니다. 지금까지 Spring을 포함해 다른 프레임워크 혹은 다른 언어로 개발했던 API 서버들 역시 인터넷을 통해 서비스를 제공하고 있는데 우리가 이렇게 인터넷으로 통신할수 있는 원리와 내부적으로 사용되는 기본 개념들에 대해 알아보겠습니다. 1. IP(Internet Protocol) 우리가 흔히 말하는 IP란 인터넷 프로토콜의 약자입니다. IP의 역할은 인터넷에서 단말기끼리 통신할때 각각의 지정된 IP주소로 데이터를 전달하기 위해 사용됩니다. 이때 전달되는 데이터의 단위는 패킷(Packet) 이라는 통신 단위로 전달합니다. IP패킷의 규격은 출발지 IP, 목적지 IP, .. 2023. 1. 31. [Spring] 객체지향 설계의 5원칙 (SOLID) #다형성 #의존관계 #인터페이스 분리 [Spring] 객체지향 설계의 5원칙 (SOLID) SOLID란 클린코드의 저자인 로버트 마틴이 제시한 좋은 객체지향 설계의 5가지 원칙을 정리한 내용입니다. SRP: 단일 책임 원칙(single responsibility principle) OCP: 개방-폐쇄 원칙(Open/Closed principle) LSP: 리스코프 치환 원칙(Liskov substituion principle) ISP: 인터페이스 분리 원칙(Interface segregation principle) DIP: 의존관계 역전 원칙(Dependency inversion principle) 1. SRP, 단일 책임 원칙 단일 책임 원칙이란 한 클래스는 하나의 책임만을 갖는다는 의미입니다. 하나의 책임이란 동작을 뜻하며 의도한 동작과.. 2023. 1. 11. helm install no matches for kind "Certificate" 에러 해결 & Cert-manager란?? no matches for kind "Certificate" 에러 해결 & Cert-manager란?? 쿠버네티스 클러스터를 새로 구축하고 helm으로 서비스를 실행하려고 하면 다음과 같은 에러가 발생할수 있습니다. helm install prometheus grafana/kube-prometheus-stack Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Certificate" in version "cert-manager.io/v1", unable to recognize "": no matches for kind ".. 2022. 12. 21. Kubernetes MultiCluster 환경에서 Prometheus metric 데이터 수집하기 k8s MultiCluster 환경에서 Prometheus metric 데이터 수집하기 클라우드 환경에서 멀티클러스터를 구성하게 된다면 Prometheus에서 수집하는 메트릭 데이터들을 한곳으로 모으는 작업이 필요하게 됩니다. 각 클러스터에서 수집하는 메트릭 데이터들을 Grafana에서 따로따로 모니터링 해도 되긴 하겠지만 효율적인 방법은 아니라고 생각합니다. Prometheus 설치는 아래글을 참고하시면 됩니다. Kubernetes 에서 Prometheus Stack 설치하기(Grafana, Node Exporter) Kubernetes 에서 Prometheus 설치하기(Helm) 클라우드 환경에서 시스템 모니터링을 할때 주로 사용하는 오픈소스 툴인 Prometheus 설치방법에 대해 설명 해보겠습니다.. 2022. 12. 14. Kubernetes 에서 Prometheus Stack 설치하기(Grafana, Node Exporter) Kubernetes 에서 Prometheus 설치하기(Helm) 클라우드 환경에서 시스템 모니터링을 할때 주로 사용하는 오픈소스 툴인 Prometheus 설치방법에 대해 설명 해보겠습니다. Prometheus 공식 Github에서 helm chart를 제공하고 있으며 그중 kube-prometheus-stack 에서 시스템모니터링을 위한 Grafana, Prometheus-Operator, Prometheus, NodeExporter 등이 포함되어 있습니다. 설치 필요사항 Kubernetes 1.16 이상 Helm 3 이상 1. Helm 레포지토리 추가 및 다운 가장 먼저 Prometheus 공식 Github에 있는 레포지토리를 helm을 이용하여 추가해야 합니다. $ helm repo add prome.. 2022. 12. 13. [Docker] 도커 최신버전 설치및 삭제 쿠버네티스 환경에서 도커 이미지로 실행중인 컨테이너의 로그를 json 형식으로 출력해야되서 도커 설정을 변경했는데 도커 서비스 재시작이 제대로 되지않는 일이 있었습니다. 구글링을 이리저리 하다가 찾아보니 도커 버전문제일 가능성이 있다는 글을 발견해서 도커 공식홈페이지 매뉴얼에 따라 진행해보니 정상적으로 json 타입의 로그출력 설정이 적용되었습니다. 공식사이트에도 나와있지만 정리할겸 도커 최신버전 설치에 대해 설명해보겠습니다. OS : CentOS7 1. Docker 구버전 삭제 먼저 OS 최초 설치시 자동으로 설치되있는 도커 구버전을 삭제해야 합니다. $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ doc.. 2022. 12. 12. Elasticsearch 멀티테넌트 개념과 사용 방법 #커스텀 라우팅 #alias Elasticsearch의 멀티테넌트 개념과 사용 방법 멀티테넌트의 개념 요즘 대부분의 IT 기업에서 프로젝트를 진행할때 클라우드 환경에서 서비스하는것을 기반으로 개발하는것이 일반적입니다. 클라우드 방식은은 규모의 경제 측면에서 봤을때 기존의 방식에 비해 비용절감을 할수있는 장점이 있습니다. 특히 클라우드 환경에서 멀티테넌트 아키텍쳐 개념이 중요한데 클라우드가 규모의 경제 측면에서 장점을 가질수 있도록 하는 가장 큰 이유이기 때문입니다. 테넌트란 특정 그룹의 단위를 나타내는 개념인데 회사, 부서, 팀 등 유형별로 나눈 그룹을 뜻합니다. 멀티테넌트는 여러개의 테넌트를 한곳에서 관리 하는것인데 기존에는 각 테넌트 별로 프로그램도 분리되고 서버도 분리 됬었지만 클라우드의 도입으로 모든 테넌트를 한곳에서 관리하.. 2022. 8. 8. 이전 1 ··· 7 8 9 10 11 12 13 ··· 18 다음