분류 전체보기147 [Spring] 스프링 빈 생명주기 초기화, 소멸 콜백 관리하기 @PostConstruct, @PreDestroy [Spring] 스프링 빈 생명주기 콜백 스프링 프레임워크 기반의 애플리케이션에서는 데이터베이스를 사용하거나 TCP 소켓 연결을 할때 프로그램 시작시 미리 연결을 합니다. 그리고 프로그램이 종료될때 연결된 작업들을 모두 종료하는데 이번 포스팅에서는 스프링에서 이 연결과 종료 작업을 어떻게 수행하는지 대해서 알아보겠습니다. 테스트를 위해 TCP 소켓 연결 상황을 표현할 클래스와 테스트 메서드를 만들어보겠습니다. NetworkClient.java public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출 url = " + url); connect(); call("초기화 연결 메시지"); .. 2022. 5. 26. Grafana OAuth 방식으로 Keycloak Login 연동하기 #JWT 토큰 발행 Grafana OAuth 방식으로 Keycloak 연동하기 (JWT 토큰) Grafana에서는 로그인할때 OAuth 방식을 사용할수있도록 기능을 제공하고 있습니다. OAuth에 대한 자세한 내용은 아래 링크를 참고하면 됩니다. OAuth - 위키백과, 우리 모두의 백과사전 OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 ko.wikipedia.org Keycloak은 인증, 권한에 대한 서비스와 SSO기능을 제공하는 오픈소스 입니다. Grafana의 로그인방식은 자체적으로 제공하는 계정 로그인 방식이 기본이지만 외부 인증툴을 사용하는 방법도 있습니다. 이 포스팅에서는 .. 2022. 5. 18. [Java] String, JsonNode 상호 변환하기 [Java] String JsonNode 변환 하기 ObjectMapper 클래스의 readTree, readValue 메서드를 사용하여 String 을 JsonNode 혹은 클래스타입으로 변경 하고 JsonNode, 클래스를 String으로 변환하는 방법에 대해 설명해보겠습니다. 1. String => JsonNode 1.1 String => Json (readTree) ObjectMapper 클래스의 readTree 메서드는 문자열을 JsonNode 타입으로 반환합니다. @Test void jsonTest() { String jsonStr = "{\"name\":\"ksr930\",\"age\":29,\"address\":\"seoul\"}"; try { JsonNode jsonNode = new O.. 2022. 4. 26. [Linux] 하위 디렉토리 파일 내용 일괄변경 sed 명령 사용방법 [Linux] 하위 디렉토리 파일 내용 일괄변경 sed 사용방법 리눅스에서 개발을하거나 파일을 관리하거나 할때 특정 디렉토리 하위 경로에서 검색되는 파일들의 내용들중 A라는 문자열을 B라는 문자열로 일괄 변경할때 sed 명령을 사용합니다. 명령어 현재 디렉토리를 기준으로 하위경로에 있는 *.SQL 확장자 파일에 대하여 A 문자열을 B 문자열로 변경합니다. find ./ -name "*.SQL" -exec sed -i "s/A/B/g" {} \; 테스트를 해보기 위해 DIR1, DIR2, DIR3 이라는 디렉토리 3개를 생성하고 각각의 디렉토리 내부에 동일한 내용의 쿼리문을 4개씩 생성하였습니다. 터미널에서 grep 명령으로 검색을 해보면 아래와 같이 나오는데 "SELECT NAME, AGE, GENDER.. 2022. 4. 5. [Kubernetes] Grafana 에서 Kafka 모니터링 하기 #Prometheus #kafka-exporter [Kubernetes] Grafana에서 Kafka 모니터링하기 Kubernetes 에서 PLG 스택 사용해보기 라는 주제로 작년 10월쯤에 포스팅을 작성했었습니다. 그동안 팀에서진행 하는 프로젝트에도 많은 변화가 있었는데 Kafka를 도입하여 데이터 처리를 본격적으로 하게 되었고 그에따라서 Kafka 모니터링 역시 필요하게 되었습니다. [Kubernetes] PLG(Prometheus, Loki, Grafana) Stack 설치, 운영하기 쿠버네티스에 PLG 스택 운영하기 쿠버네티스상에 PLG 스택을 호환성있게 운영하기위해서 처음에는 Promethes, Loki, Grafana를 모두 각각 Deployment 를 만들어서 설정을 맞춰 보았는데 생각만큼 잘 맞물려 ksr930.tistory.com 일반적.. 2022. 4. 1. [발산역/마곡 맛집] OBPC 피자 맥주 맛집 방문후기!! #포테로니 피자 #크림새우 피자 #레드락 [발산역/마곡나루 맛집] OBPC 피자 & 맥주 방문기!! 안녕하세요~ 지난번에 발산역 맛집인 샤브20 소개 이후로 오랜만에 다시 발산역 맛집 후기를 알려드리고자 포스팅을 작성하러 왔습니다!! 저는 저는 한식 일식 양식 중식 다 안가리고 좋아하는 편인데 양식중에서는 특히 피자를 제일 좋아하는데요 몇달전에 여자친구랑 배달피자를 먹은적이 있는데 배달도 좋긴하지만 피자는 매장에서만 느낄수 있는 뭔가 차이점이 있다고 해야될까 매장에서 먹는게 더 맛있더라고요!! ㅋㅋㅋ 그래서 이번에 찾은 맛집은 발산역, 마곡나루 근처에 있는 OBPC 라는 피자집입니다!! 가게 내부에 OBPC 의 뜻이 설명되있는데 One Bite Pizza Club 의 약자입니다. OBPC 마곡점 위치 로드뷰길찾기지도 크게 보기 오랜만에 피맥할 .. 2022. 3. 6. [여의도 맛집/카페] IFC몰 아비꼬카레 & 더현대 카페 레이어드 방문후기!!~ [여의도 맛집] IFC몰 아비꼬카레 & 더 현대 카페 레이어드 방문기!! 지지난주에 오랜만에 여자친구랑 여의도에서 데이트를 했습니다 ㅎ.ㅎ 요새 일도 바쁘고 개인 공부도 하다보니 10일전에 방문했던 맛집 리뷰를 이제서야 쓰게 됬네요 ㅋㅋ 저는 5시에 퇴근을하기 때문에 여자친구랑 시간을 맞춰서 여의도역에서 만난후에 같이 IFC 몰로 저녁을 먹으러 이동했습니다!! 체중관리를 위해서 점심을 소식하는 편인데 이날따라 저녁에 맛있는거 먹을 생각을 하고있었 더니 더 배고프더라고요 ㅋㅋ 아비꼬 여의도IFC몰점 로드뷰길찾기지도 크게 보기 밖에서 카레를 먹으러 간적은 거의없었는데 여자친구가 아비꼬를 가보자고 했고 저도 자취를 시작한 이후로 카레를 먹은적이 없다보니 오랜만에 땡기더라고요 ㅎㅎ 퇴근하고 여자친구를 기다리면서.. 2022. 2. 28. [Spring] 리액티브 스트림 Operator 의 개념과 예제 [Spring] 리액티브 스트림 Operations 지난번 포스팅에서는 Flow 라이브러리에 있는 Publisher, Subscriber를 사용했는데 이번엔 reactive-streams 라이브러리로 사용 해보겠습니다. 사용방법은 똑같지만 reactive-streams 는 모든 Java 버전에서 사용가능 하다는점이 다릅니다. 지난번과 동일하게 Publisher, Subscriber 를 작성해보겠습니다. PubSub.java package com.example.springreactivestudy.demo2; import lombok.extern.slf4j.Slf4j; import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; i.. 2022. 2. 25. 이전 1 ··· 9 10 11 12 13 14 15 ··· 19 다음