본문 바로가기

분류 전체보기86

Kafka 외부 접속 허용하기 $ vi conf/server.properties conf/server.properties가 Kafka의 설정을 담당하는 파일이다. # Hostname and port the broker will advertise to producers and consumers. If not set, # it uses the value for "listeners" if configured. Otherwise, it will use the value # returned from java.net.InetAddress.getCanonicalHostName(). #advertised.listeners=PLAINTEXT://your.host.name:9092 여기에서 마지막 줄의 주석을 풀고 advertised.listeners.. 2019. 10. 7.
[Kotlin] Generics - 공변성(covariant)과 반공변성(contravariant) What is generic? Generic이란 Class 또는 method에서 매개변수에 사용되는 자료형의 정의를 개체 생성시 정하게 하여 타입에 대한 안정성을 높이는 도구를 말한다. 일반적으로 로 표기된다. Generic 사용의 장점 – Type casting is evitable- typecasting을 하지 않고 객체를 사용할 수 있다. Type safety- Generic allows only single type of object at a time. Compile time safety- 런타임 에러를 방지하기 위해 Generics code는 컴파일 타임에 체크된다. 이런 Generic에서 사용할 수 있는 타입의 범위를 지정하는것이 Type Bound이다. Modern Language들은 대부분.. 2019. 10. 5.
[Gradle] Caused by: org.gradle.api.GradleException: No tests found for given includes: 에러 해결 Caused by: org.gradle.api.GradleException: No tests found for given includes: [TestClassPath.TestClassName] Gradle 프로젝트에 JUnit Test를 작성하고 실행하였을 때 위 에러와 함께 test events were not received 메시지가 나오면서 테스트가 실행되지 않는 경우가 있다. 이럴 때는 build.gradle.kts에 아래 task를 추가한다. tasks.withType { useJUnitPlatform() } 그리고 JUnit5를 사용하고자 한다면 spring-boot-starter-test에서 junit이 제외되어 있는지 확인한다. spring-boot-starter-test에 JUnit4가 .. 2019. 10. 4.
Netty Server에 SSL(https) 연결 적용하기 SSL? Netty에 SSL 인증을 적용하기 전 SSL 인증이 무엇인지, TLS Handshake는 어떤 프로세스로 동작하는지 설명한다. 대부분의 내용은 를 참고하였다. 대칭키/공개키 암호화 대칭키 공개키(비대칭키) 암호화에 사용되는 키와 복호화에 사용되는 키가 동일 암호화에 사용되는 키와 복호화에 사용되는 키가 서로 다름 빠른 암복호화 성능, 구현이 비교적 간단 대칭키 암호화에 비해 상대적으로 낮은 성능 키가 유출되면 키를 공유한 상대방의 데이터를 모두 복호화 할 수 있음 키가 유출되어도 상대방의 데이터는 안전 대표적으로 RSA가 여기에 속함 공개키 암호화에 대한 더욱 자세한 설명 공개키 암호화는 암복호화에 사용되는 키가 다르다. 즉, 한 명의 사용자가 가지는 키는 두 개가 된다. 예를들어 모모라는 사.. 2019. 10. 3.