일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- reactive
- avo
- aws
- Logstash
- springboot
- play framework
- enablekafkastreams
- kafkastream
- 카프카
- spring-batch
- confluent
- spring-kafka
- Elk
- scala 2.10
- 플레이 프레임워크
- Spring
- schema registry
- gradle
- scala
- RabbitMQ
- Slick
- kafka streams
- coursera
- spring-cloud-stream
- 한빛미디어
- kafka interactive query
- Elasticsearch
- kafkastreams
- Kafka
- statestore
- Today
- Total
목록분류 전체보기 (167)
b
하나 이상의 타입인자가 있는 클래스는 ‘제네릭 클래스’이고 타입인자를 실제 타입으로 대체하면 일반 클래스이다.1234class Pair[T,S](val first:T, val second:S) //제네릭 클래스 val p1 = new Pair(42, "String") //추론에 의해서 일반 클래스val p2 = new Pair[Int, String](42, "String") //명시적 선언에 의해서 일반 클래스 함수, 메소드도 타입인자를 가질 수 있다.12345def getMiddle[T](a: Array[T]) = a(a.length) / 2 ex)getMiddle(Array("Mary", "had")) //추론의 의해서 getMiddle 호출val f = getMiddle[String] _ //타입인..
코틀린 1.0 으로 프로젝트를 진행 한 후 1년만에 다시 코틀린을 손에 잡았다.뒤에 분이 '자바를 하려거든 코틀린'을 하세요~ 라는 노래를 부르고, 메인 프로젝트가 아니고 검증용 간단한 서비스를 필요로 했기에 부담없이 코틀린을 다시 쓰고 있는데....역시 자바보다는 코틀린 ㅋ (개인적으로는 스칼라 >>>> 코틀린 >>>>>>>> 자바) fun BufferedWriter.writeAndFlush(str: String) { this.write(str).let { newLine() }.let { flush() } } 자바로 했으면 메소드를 하나 만들고 Streams.writeAndFlush(bw, str) 을 했겠지만 코틀린은 뭐 저렇게 된다는..?저 개념 자체는 http://docs.scala-lang.or..
Jav로 개발을 할 때 뭔가 작업을 해야할 필요성이 있거나, 개인적인 메모를 남겨야 할 경우//TODO, //FIXME 형식의 주석을 많이 작성했다. 이렇게 작성을 하면 Intellij 에서 Command+6 키를 이용하여 TODO window로 확인을 할 수 있어서 작업의 편의성이 증가한다. 저 부분을 커스텀마이징 할 수 있는 사실을 오늘에서야 알았다 ㅋ (intellij 쓴지 5년차인데 ㅋ)Command+, (Settings) 메뉴를 열고 Editor->TODO 메뉴에서* 패턴의 추가 / 색상의 변경 / 필터링 등을 셋팅 할 수 있다.
https://tools.ietf.org/html/rfc7807 기본적인 HTTP의 응답메시지에 들어있는 데이터로는 기본적인 내용만 파악가능할 뿐, 상세한 내용은 없다. 관련한 스펙이다. 본문에서도 나와있는 것처럼 고객의 계좌에 충분한 잔고가 없을 경우의 응답은 403 Forbidden Code를 줄수 있을 것이다. 하지만 이것으로는 왜 금지된것인지, 해결방법은 무엇인지는 전적으로 클라이언트 코드에서 알아서 해야한다. 이를 위해 이 7807 스펙을 적용할 수 있을 것이다. 미디어 유형은 application/problem+json 이고, application/json 과 호환이 된다. java의 구현체로는 링크 를 사용하면 되고, 스프링과의 사용은 problem-spring-web 을 추가하면 된다. @..
쓰고는 있는것 같지만... 제대로 쓰고 있는지 제대로 알고 있는지 항상 아리송한 것들?정답은 아니고... 그냥 다시 한번 훑어보는 정도(밑의 내용들이 다 맞는지도 모르겠다, 그리고 보고나서도 새로운걸 많이 본것 보다는 여전히 아리송하다는거 ㅎ) Reactive Streams- asynchronous stream processing with non-blocking back pressure 를 위한 표준 스펙- 2013년 경부터 넷플릭스, 피보탈, 트위터, 타입세이프등이 모여서 논의를 했고 시작은 akka, play 팀이다. (역시!) [2][3]- 이 구현체로 JDK9, RxJava2, 스프링-리액터 등이 있다.- RxJava는 이 스펙의 등장으로 인해서 1 -> 2 메이저 버전올라갈때 완전히 재작성 되었..
spary 팀이 akka-http 에 합류하더라도, spary는 계속 진행될 거다 라는 내용은.. 아마 https://github.com/sirthias의 글에서 본 걸로 기억이 난다. 당시만 해도 akka-http가 시작되는 정도였지만 spary는 거의 중단된채 akka쪽에 힘쓰는걸 보니, 말과는 다르게 접히겠구나 생각되었다. 오늘 갑자기 생각나서 들어가보니 PR 와 documentation 와는 다르게 Superseded by Akka HTTP 라는 내용으로 README.md가 대체되었다. 그리고 sparu 1.3.3 과 함께 고민을 하게 하면 akka-http는 experimental 에서 2.5.0 까지 나왔인줄 알았는데 현재 10.0.5 -_-;akka에서 분리되어 독립 project가 생겼고,..
spring 5.0 이후 RouterFunction을 이용하여 EndPoint를 구현 할 수 있다. 이 RouterFunction을 스프링 빈으로 만들면 기존의 @Controller와 동일한 포지션의 역할을 수행하는데 어떻게 스캐닝을 하는걸 까? Springboot 2.0 은 아직 개발중이지만, 그 안에서 확인 할 수 있다.링크 를 보면@ConditionalOnMissingBean(RouterFunction.class)@ConditionalOnBean(RouterFunction.class)즉, RouterFunction의 스프링 존재 여부에 따라 분기를 타고 AnnotationConfig, FunctionalConfig 설정을 적용하게 된다. 즉 현재 기본 설정으로는 RouterFunction Bean,..
로그https://tomcat.apache.org/tomcat-8.0-doc/logging.html – Apache Commons Logging에서 포킹되어 개발된 tomcat-juli를 사용한다 (위치는 /bin에 존재한다) – 기본 로그 설정은 conf/logging.properties로그포맷 – java.util.logging 을 상속 SimpleFormatter(톰캣7 기본 포맷) , XMLFormatter .. – OnelineFormatter ; JULI구현체이고 8.0.36의 기본 포맷VersionLoggerListener – server.xml 에 Listener 으로 등록이 되어 있다. – 실행히 여러 환경 정보를 남긴다. – https://goo.gl/eEyI9k 을 보면 별 내용없다...