본문 바로가기
728x90

Kotlin Spring15

CloudWatchClient로 CPUUtilization 메트릭 Data 가져오기 (feat. CPU 상태 확인) for Kafka Throttling implementation("software.amazon.awssdk:cloudwatch:2.25.30") import software.amazon.awssdk.services.cloudwatch.CloudWatchClientimport software.amazon.awssdk.services.cloudwatch.model.*@Componentclass CloudWatchMetricsService { private val cloudWatchClient: CloudWatchClient = CloudWatchClient.create() fun getCpuUtilization(instanceId: String): Double { val request = GetMetricStatistic.. 2025. 4. 26.
단방향 암호화 sha512 단방향 암호화는?: 암호화 수식을 이용하여 원 input 을 암호화된 digest 로 변경하는 역할을 수행한다. 왜 단방향이냐? 복호화가 불가능 하다(그렇다고 100프로 안전한건 아니다. 1234와 같은 숫자를 암호화 화면 똑같은 결과가 나와서 이는 누구나 유추 가능 할 수 있기 때문이다.)암호의 글자수와 조합이 얼마나 중요한지 나오는 대목이다.  단방향 암호화의 종류에는…SHA(256), (512)MDHAS우리는 일반적으로 사용되는 SHA-512로 암호화에 대해 알아보겠다.fun transSHA512(input: String): String { val digest = MessageDigest.getInstance("SHA-512") val hashDigest = digest.digest(in.. 2024. 12. 18.
오토와이어링할 수 없습니다. '' 타입의 bean을 찾을 수 없습니다. 오토와이어링할 수 없습니다. '' 타입의 bean을 찾을 수 없습니다.  와 같은 오류를 개발을 하다보면 볼 수가 있다. 주로 pakage 구조를 변경하거나 초기세팅에서 보았을 것이다!그도 그럴 것이 두가지 대표적인 원인을 확인할 수 있는데, 1. @SpringBootApplication(scanBasePackages = ["com"]) class Application    : main 에서 위와 같이 옯바른 경로로 잡혀있는지 확인 필요하다       root package 내에 포함되지 않은 package 의 bean 을 인식할 수 없다ㅣ. 2. 최근에 pacakge 구조를 변경한 경우    : 참조하고 있는 package 에 접속을 해서 오류나는 부분이 없는지, 이전경로로 import 되어있는게 없는.. 2024. 12. 18.
Kotlin when 문 Kotlin 기본 문법 중 when 문에 대해 알아보겠다. 코틀린 when 은 여러 조건 중 조건을 만족하는 것을 선택하여 명령어를 실행한다.다른 언어의 switch 와 매우 유사한 형태이나, 한가지 차이점이 있다. 그건 바로 " fallthrough" 하지 않는다는거!switch 문의 경우 어떤 조건을 만족할 때 까지 조건문을 찾고 실행하고 명시적으로break가 있어야만 동작을 마무리 한다. 하지만, when은 만족하는 한가지 명령만 수행하고 fallthrough(폴스루)하지 않는다. 예시)fun testFun(n:Int): Int = when(n) { 10 -> n + 1 100 -> n + 11 1000 -> n + 111 else -> 0} 2024. 12. 15.
DataFetchingEnvironment 세팅하는 방법 graphql 을 사용한다는 것은 당연히 resolver 에 대한 개념도 알고 있을 것이다.그럼 DataFetchingEnvironment 은 무엇이냐? 그건 각각의 resolver 단에서 사용자 정보와 같은 공통정보에 바로 접근이 가능하다는 것이다.없을 경우? f/e 로 부터 받던지, JWT payload 값을 분해하는 로직을 호출해야 한다. 하지만, 이걸 resolver 에서 전달 받기 전에 한번에 처리해서 받으면은 어떨까??그럴때 사용하는 것이 DataFetchingEnvironment 이다. 사용법은 우선 Graphql contect factory 로 하여금 어떤 context 를 생성할 것인지 명시해준다. request time과 user name, user id 정도? 호출 받아서 toGrap.. 2024. 12. 11.
Webflux 는 어디서 동작하나? WebFlux는 서블릿 기반이 아닌 비동기적, 논블로킹 방식으로 동작하는 리액티브 웹 프레임워크에서 동작한다.하지만 예외인 경우가 있다!!(알고있었나?) 우선 WebFlux와 서블릿관계부터 알아보자 WebFlux는 기본적으로 두 가지 실행 모델을 지원한다.서블릿 기반 (@EnableWebFlux): 전통적인 서블릿 컨테이너인 Tomcat, Jetty, Undertow와 같은 서버에서 실행될 수 있고, 이 경우, WebFlux는 ReactiveAdapter를 통해 서블릿 환경에서 리액티브 모델을 지원 한다.리액티브 서버 기반 (Netty, Undertow 등): 비동기 및 논블로킹 방식의 리액티브 서버에서 WebFlux를 실행할 수 있는데, 이 경우 서블릿 API와는 다르게 완전히 논블로킹 방식으로 동작하.. 2024. 12. 10.
728x90