JAVA8 이후에 시간을 조정하는데 쓰이는 클래스다. 사용법도 편하고 직관적이며, 제공하는 API도 많으니 JAVA8 이후엔 TemporalAdjusters를 사용하는게 권장된다. LocalDate, LocalDateTime 등 시간관리 클래스로 날짜를 지정하고 지정된 날짜를 조정하는데 쓰인다. with와 함께 쓰인다. 아래는 현재일 기준 직전 월요일을 찾는다. LocalDateTime currentDateTime = LocalDateTime.now(); LocalDateTime targetDateTime = currentDateTime .with(TemporalAdjusters.firstDayOfYear()) // 이번 년도의 첫 번째 일(1월 1일) .with(TemporalAdjusters.last..
자바에서 데이터를 핸들링하기 위해서는 객체화를 해주는게 편하다. 하지만 네이티브나 프론트엔드에서 원하는대로 데이터가 넘어오는 경우는 드물다. 물론 연동규격서가 서로 오고가는 정규 개발에서는 요청하는대로 보내주기는 하지만, 모든 상황이 그렇지 못하다보니 객체화를 편하게 하기 위한 방법이 필요하다. 다행히 자바에서는 ObjectMapper라는 클래스가 있다. JSON 처리를 위한 라이브러리인 Jackson의 일부이지만, 정말 널리 사용되고 있다. 이 ObjectMapper의 사용법 일부를 소개해 보고자 한다. 1. 설치 Jacskon 라이브러리의 일부이므로 Jackson을 설치한다. pom.xml과 gradle 설치 방법 com.fasterxml.jackson.core jackson-databind 2.11..
서버에서 감당할 수 있는 양보다 많은 요청이 들어온다면, 어떻게 될까? 프론트엔드에서는 앞선 요청이 모두 처리될 때까지 무한 대기 상태에 있거나, 심한 경우 서버가 죽는 경우가 발생할 것이다. 정상적으로 처리되어 대기상태가 빠르게 해결되면 다행이지만, 프론트엔드 단에서 요청할때 걸려있는 시간 내에 응답이 나가지 않으면, time out으로 에러 처리를 해버릴 수도 있다. 그렇게 된다면 필요한 데이터가 소실 될 수도 있고, 서비스 로직 단에서 중단되버려 데이터가 꼬여 다음 요청을 정상적으로 처리하지 못할 수도 있다. 그렇다면 서버에서는 프론트엔드에 "지금 과도하게 요청이 몰려 있어"를 알려줄 필요가 있다. 빌드업이 길었는데, 요약하면 서버에서 과부하 제어를 하기 위해 요청이 과하게 몰렸을 때 응답코드를 내..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bwmyiZ/btrUIfQfBjB/h5ijyVX7yXdHuob0NkCqk1/img.png)
내가 운영/개발 하는 서비스에선 사용자나, 구분이 필요한 무언가를 위해 13자리의 난수를 생성해 아이디를 부여한다. 난수 생성기를 올바르게 사용하지 못 한다면, 동일한 아이디가 생성되고, 그 아이디로 특정 데이터를 insert했을 때 DB에선 PK 에러가 발생한다. 빼도 박도 못하는 서버 에러다. 최근 로스트아크에서 카드 확률에 대한 논쟁이 있었었다. 영웅 카드 팩 230개를 개봉했다. 첫 개봉에서 사이카 카드 5장, 피요르긴 카드 5장이 등장했다. 190개를 개봉했지만 똑같이 사이카, 피요르긴 카드 5장씩만 나타났다. 스마일게이트의 설명에 따르면 해당 사례는 시스템 구조상 14억분의 1 확률로 발생할 수 있는 버그 현상이라고 설명했다. 출처 : 게임톡(https://www.gametoc.co.kr) 이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ztBLe/btrTXLH3zRS/njcbPikxO7zIcsP9OuR1MK/img.png)
서버를 운영하다보면 다양한 API Endpoint를 만들게된다. 단순한 DB CRUD만 처리하는 경우도 있지만, 외부 API를 연동해 정보를 가져오는 경우도 있다. 이럴때 서버에서 Request를 만들어 외부 서버에 요청을 보내고 Response를 받아야한다. 자바와 스프링에서는 다양한 HTTP Request 만드는 방법을 제공한다. Java 내부에서도 제공하고, Spring Framework에서도 제공하고, 별도의 외부라이브러리를 쓸 수 도 있다. 우선 자바에서의 내용부터 정리한다. 1. HttpURLConnection HttpURLConnection은 Java에서 제공하는 표준 라이브러리이다. 때문에 외부 종속성이 필요하지 않다는 큰 장점이 있다. 상대적으로 사용하기 쉽고 요청할 수 있는 요청 유형과..
- Total
- Today
- Yesterday
- OpenAI
- Log
- ChatGPT
- AWS
- AOP
- Elastic cloud
- 람다
- S3
- chat GPT
- openAI API
- Spring
- awskrug
- MySQL
- 스프링부트
- docker
- GIT
- Kotlin
- JWT
- cache
- jenkins
- CloudFront
- springboot
- terraform
- serverless
- 코딩테스트
- EKS
- elasticsearch
- lambda
- java
- AWS EC2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |