Home
주용의 블로그
Cancel

API Limit Rate

목적 과도한 트래픽을 방지하여 서비스 안정성을 유지 합니다. 특정 클라이언트가 서버 자원을 독점하지 못하도록 공정하게 분배합니다. 개발, 운영, 유료 키 등 차등 정책 적용 알고리즘 보통 아래 4가지 알고리즘으로 구현할 수 있다. Token Bucket: 가용한 토큰 개수만큼 요청 처리 Leaky Bucket: 일정한 속도 요...

Virtual Thread 살펴보기

Virtual Thread JEP 444: Virtual Threads JAVA 21 가상 쓰레드는 높은 처리량의 동시성 애플리케이션을 쉽게 작성할 수 있는 경량 쓰레드이다. Java 플랫폼에 가상 쓰레드가 도입된다. Thread per request 모델 웹 애플리케이션의 일반적이고 단순한 패턴 쓰레드 생성은 매우 느리고 ...

Java 8 에서 Java 17 까지의 변경점 정리

검토 하는 이유 사실 가장 큰 이유는 Spring Boot 때문.. Spring Boot 2까지는 Java 8이 최소 지원 버전이었지만, Spring Boot 3 부터는 Java 17이 최소 지원 버전이다. Spring Boot 3 시스템 요구사항 Spring Boot 지원 예정일 다른 언어들에...

guava example - RangeSet, RangeMap

view source 은근히 써먹을데가 있을 것 같다. RangeSet으로 범위 계산을 간단하게 할 수 있다. @Test public void openClosedTest() throws Exception { RangeSet<Integer> rangeSet = TreeRangeSet.create(); // 0 &l...

guava example - Multimap

view source 하나의 key에 여러개의 value를 put 할 수 있다. @Test public void multimapTest() throws Exception { // 하나의 key에 여러 value 셋팅 가능 Multimap<String, String> mpsTeam = ArrayListMultimap....

guava example - Multiset

view source plain java로 단어수를 카운트 하는 방법 @Test public void wordCountTest() throws Exception { // 단어수를 카운트 하는 방법 List<String> words = new ArrayList<>(); words.add("java")...

guava example - BiMap

view source plain java의 map의 사용법 @Test public void mapPutTest() throws Exception { // plain java의 map Map<String, String> maps = new HashMap<>(); maps.put("jooyong", "...

guava example - CaseFormat, CharMatcher

view source 카멜, 언더스코어, 하이픈끼리 서로 변환할 수 있다. @Test public void caseFormatTest() throws Exception { String camelString = "myFirstGuava"; System.out.println(CaseFormat.LOWER_CA...

guava example - Splitter

view source string을 구분자를 통해 Iterable 객체로 변경 @Test public void splitTest() throws Exception { String sequence = "java ,scala, ,python , go, , javascript"; Iterab...

guava example - Joiner

view source collection에 null이 포함되어 있으면 NullPointerException이 발생한다. @Test(expected = NullPointerException.class) public void joinerNullTest() throws Exception { List<Integer>...