출처 howtodoinjava.com/java9/java9-private-interface-methods/ 요약 자바 버전별 인터페이스에 선언 및 구현 할 수 있는 메소드 java7, java8 이라는 명칭은 안 맞는다. (그 당시는 1.7,1.8 이었으니) 개인의견이지만 interface 와 abstract class 간 구분이 없어지는 것 같아서 조금 그렇다. public abstract N/A public default java8 이상 public static java8 이상 private java9 이상 private static java9 이상 java 7 이전 package before_java7; public interface SomeInterface { //public abstract 는 ..
요약 및 개요 groupedFlux에서 tracking 할 수 있는 키의 개수 제한은 256개 인 것처럼 동작 아래 테스트 코드는 트러블슈팅 중 원본 로직을 흉내내며 따라가는 터미 코드 import lombok.Data; import org.junit.jupiter.api.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.GroupedFlux; import java.util.ArrayList; import java.util.List; import java.util.function.Function; public class GroupedFluxTest { @Data static class Dummy { private String ..
들어가는 말 기술 관련 공부하다가 어느 순간 막혀서 그냥 주절거려본다. 애초에 뻘글 쓰고 공부하려고 블로그를 만든 거니 목적에 충실하자. 같이 일하는(개인적으로 존경하는) 주니어 분과 술을 먹다가 이런 이야기가 나왔다. 그분: '선임님은 그러면 뭐가 하고 싶으신 거예요' 나: '트러블슈팅? 개발? 운영?일까요 잘 모르겠어요 그냥 개발일 하는 걸 좋아하는 걸까요?' 그 당시에는 제대로 답변하지 못했고, 그전까지는 제대로 생각해 본 적이 없던 것 같다. '어라 잘 안돌아가네 고쳐야지' 이외에는 거창한 꿈이 있어서 꼭 무언가를 해야겠다는 점이 없었다. 예전에 학교 선배랑 술 마실 때도 비슷한 주제로 이야기를 했었는데 그때도 들은 말은 '너는 뭘 해도 그 안에서 재미를 찾아가는 놈인 것 같아' 그래서 조금 고찰..
www.aladin.co.kr/shop/wproduct.aspx?ItemId=46849708 사기꾼 증후군 리더십 코칭을 제공하는 시그모이드커브 컨설팅 그룹 해럴드 힐먼 대표이사의 책. 이 책은 사소한 감정을 증폭시켜 성공을 방해하는 사기꾼증후군이 무엇이고 어떻게 대응해야 하는 지 확실히 www.aladin.co.kr 날마다 온종일 마음속에서 두 개의 목소리가 당신에게 말을 건다. 비판자는 아주 끈질기다고 할 정도로 당신 걱정 뿐이다. 비판자에게는 크게 성공하는 것 보다 실패하지 않는 것이 더 중요하다. 비판자의 가장 중요한 목적은 당신의 인생에서 당신이 다치지 않도록 보호하는 것이다. 응원자는 당신이 위협을 무릅쓸 줄 알아야 당신의 세계가 확장된다고 본다. 응원자는 당신이 역경과 실패를 피하지 않고 맞..
배경 CompletableFuture 에서 whenComplete 랑 whenCompleteAsync 의 차이가 어떤건지 궁금해서 기록 whenComplete: Returns a new CompletionStage with the same result or exception as this stage, that executes the given action when this stage completes. whenCompleteAsync Returns a new CompletionStage with the same result or exception as this stage, that executes the given action using this stage's default asynchronous exe..
accesslog 포맷 x.x.x.x - - [04/Apr/2021:00:00:00 +0900] "POST /x/x HTTP/1.1" 200 84 "-" "-" "x.x.x.x" "elapsed=0.532"s "request_length=1031879" 원하는 동작 request length 가 특정 값 이상 요청 추출 추출 cat http-access.log.XXXXXXX | awk '{ split($0,a,"request_length="); b = substr(a[2], 1, length(a[2])-1) if(b+0 > 1000000) { print b; print $0 } }' 기타 useragent 는 따로 빼는게 맞는것 같다. 지정된 포맷이니 레이블은 필요하지 않다. 그냥 promethues 에..
들어가는 말 몇 년 전 elasitcsearch 클러스터를 새로 구성했을 때 heap 관련 설정으로 찾았던 내용을 기록한다. 기본적으로는 ES 공식 가이드 (구버전)의 내용을 따라간다. 요약 jvm 기반의 애플리케이션이라면 heap 최대 사이즈를 32GB를 넘기지 말도록 고려하라 테스트해보고 30~31GB 중 적당한 사이즈를 사용하자 배경 시간이 좀 지났지만, elasitcsearch 클러스터를 새롭게 구성하던 중 여러 가지 튜닝 포인트들을 찾아서 적용하였다. 그중 가장 재미있던 내용이 '32GB 이상으로 힙을 설정하지 마라'이다. jvm 기반의 애플리케이션을 다루다 보면 매번 고민하게 되는 문제가 있다. STW. heap을 많이 잡는다면 성능이 잘 나올 것 같은 느낌이 있지만 그렇지 않다. full g..
들어가는 말 동기(sync)와 비동기(async), 블로킹(blocking)과 논블로킹(non-blocking) 사전적인 의미를 학습과 암기에 의해 알고 있다. 그리고 매번(아니 매년) 다시 볼 때마다 뭘 잘못 이해했었는지, 이번에는 제대로 이해했다고 착각한다, 시간이 지나면 원상복귀다. 그렇다 모르는 거다. 변명이 길었다. 지금까지는? 처음 접한 건 웹 개발을 막 시작할 때쯤 ibm developerworks에 올라온 아티클에서 2 by 2 테이블과 해석본들이었다. 아쉽게도 원문은 이제 보이지 않지만, 사진이나 그림은 구글링 해보면 충분히 많이 나온다. 동기 sync: 작업이 끝날 때까지 기다리고 응답을 받음 비동기 async: 작업이 끝나면 따로 응답을 받음 블로킹 blocking: 함수가 완료되면 ..
- Total
- Today
- Yesterday
- WebSocket
- jhipster
- 전설로떠나는월가의영웅
- PatternSyntaxException
- percolate
- 기술센싱
- 사기꾼증후군
- 개발자
- AWS
- 클린 아키텍처
- Java
- flush
- 만들면서 배우는 클린 아키텍처
- Kafka
- fsync
- Generic
- Dangling
- Async
- completablefuture
- Spring
- meta character
- 말의품격
- COMMIT
- 기술블로그
- 기술사이트
- 에픽테토스
- elasticsearch
- opensearch
- pecs
- kafka 2.8.0
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |