일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kotlin
- event time
- MapReduce
- contravariant
- java
- Stream
- lambda
- Heuristic Watermark
- apache flink
- flink watermarks
- flink
- covariant
- processing time
- Hadoop
- 불공변
- Coroutine
- watermarks
- HDFS
- Perfect Watermarks
- 가변성
- 공변
- watermark
- flink watermark
- Perfect Watermark
- ingestion time
- Heuristic Watermarks
- Generic
- coroutines
- Generics
- Today
- Total
mm Home
java의 try-with-resources 문법을 보다가 주변에서 close() 처리할 때 예외가 발생한다던지, catch 한곳에서 예외가 발생하면 어떻게 되느냐는 질문을 받았다. 생각해보지 않아서 대답을 못했다. 그래서 찾아봤다. 먼저 try-with-resources 를 알아보면,AutoCloseable 인터페이스를 구현한 객체를 try() 안에 선언해놓으면 자동으로 close() 메소드를 호출해서 자원해제할 수 있도록 도와주는 기능이다. Java 7 에서 추가된 기능이며, 아래와 같이 try 문 안에 close() 처리할 객체를 생성해두면 자동으로 자원이 해제된다. 물론 다중 자원 해제도 가능하다. try(ByteInputStream a = new ByteInputStream(); ByteInpu..
최근 자바 9에서는 Reactive Streams API 가 추가되었다. 비동기 논블록킹의 개발방식이 떠오르면서 자바에서도 도입한것 같다. Reactive가 왜 나오게 되었는지, 어떤 개발 방식인지 살펴 보자. 간단하게 자바 9로 예제도. 기존의 절차지향적인 개발방식에서 Reactive 프로그래밍 패러다임이 떠오름.왜 Reactive ?기존의 절차지향적이고 쓰레드풀을 이용한 처리의 문제점.블록킹이 걸려있는 상태에서 대기하고 있는 쓰레드의 성능 문제 (특히 MSA 같은 서비스에서 API 콜 수행시 부하도 없이 쓰레드를 붙잡고 있는 상황 연출)쓰레드의 변경마다 발생하는 context-switch 비용한정적인 자원의 쓰레드 풀. 쓰레드간 공유하는 자원으로 인한 side-effect 가능성.Event-drive..
예전에 공부했던 내용을 정리~ HTTP 동작 순서 일반적으로 표현하는 클라이언트는 브라우저가 될 것이고, 서버는 웹 서버 혹은 웹 어플리케이션 서버가 될 것이다. 1. 사용자가 웹 브라우저에 URL 주소 입력 2. DNS 서버에 웹 서버의 호스트 이름을 IP 주소로 변경 요청한다. 3. 웹 서버와 TCP 연결 시도. - 3 way Handshake : 클라이언트 - 서버간 신뢰성있는 연결을 하기 위해 3번의 패킷 교환 과정이다. SYN : 클라이언트가 서버로 임의로 생성한 시퀀스 번호를 전달한다 SYN ACK : 서버는 클라이언트에서 전달한 시퀀스를 +1 시켜서 전달한다 (서버의 패킷을 정상 수신했다는 신호) ACK : 클라이언트가 서버에서 전달해준 시퀀스를 +1 시켜서 다시 전달함 (서버-클라 간 패킷..