일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리눅스
- codewars
- go
- DP
- Python
- boj
- 코드워
- 자바
- OOM
- scala
- Go언어
- HBase
- Linux
- dynamic programming
- 튜토리얼
- docker
- golang
- 알고리즘
- 프로그래머스
- redis
- programmers
- gradle
- 동적프로그래밍
- Java
- 파이썬
- 문제풀이
- leetcode
- 주키퍼
- 스칼라
- zookeeper
- Today
- Total
목록자바 (3)
파이문
멀티쓰레드 환경에서 캐시 사용하기 프로그램을 개발하다 보면 캐시를 사용해야 하는 경우를 심심치 않게 발견하곤 한다. 특히 DB 에 접근하여 데이터를 가져올 때, 계속 SELECT (또는 get, scan 등) 하기 보다는 캐시를 사용하는 경우가 많다. DB 에서 값을 가져오는 비용이 비싸지 않아도 IO, 네트워크 latency 비용을 최소화 하려고 하기 때문이다. 캐시는 알고리즘 문제 풀이에서도 자주 사용하는데, 이 경우엔 재 연산 (연산 비용) 을 줄이기 위해서이다. 본 게시글에선 자바를 이용한 예제를 작성하도록 하겠다. 캐시란? 캐시의 정의를 다시 한번 짚고 넘어가보자. 캐시는 동일한 input 에 대해서 같은 작업을 하지 않도록 하는 것이다. 같은 작업을 하지 않는 다는 의미는, input 에 대한..
FailSafe 를 사용한 Java Retry 예제 Delay 시간을 주면서 Retry 를 하려고 하다가, FailSafe 라는 오픈 소스를 발견했다. Star 도 2k 개가 넘고, 최근 (8월) 까지도 커밋하길래 사용하기로 하였다. 사실 Retry 관련해서 스택오버플로우 검색을 했는데, FailSafe 개발자가 열심히 홍보하더라 Usage 사용하기 전에 RetryPolicy 라는 클래스로 정책을 생성해야 한다. RetryPolicy 생성 아래의 예제는 ConnectionException 이 날 경우 1초의 Delay 로 3번 Try 를 하게 만드는 코드다. RetryPolicy retryPolicy = new RetryPolicy() .handle(ConnectException.class) .withD..
Triangle number check 항상 파이썬으로 풀지만 오늘은 자바를 공부할 겸 자바로 풀어보았습니다. 입력 받은 n이 삼각형이 되는 수인지 판별 하면 되는 문제였는데요, 여기서 삼각형이란 삼각형 모양을 의미합니다. 삼각수? 정도로 생각하면 될 것 같아요. 운이 좋게도 바로 얼마전 우연히! 프로젝트 오일러 41번이였나, 42번 문제를 보았는데 삼각수가 나왔었거든요. 그래서 쉽게 삼각수 문제라는 것을 유추해내고 공식만 대입하였습니다. 이는 n번 째의 삼각수는 N 이라는 의미입니다.즉 첫 번째 삼각수는 1, 두 번째 삼각수는 1-2-3이니 2 * (2+1)/2 해서 3 (마지막 수죠), 세 번째 삼각수는 6(3 * 4 / 2)이 되는 거죠. 다시 말하면 순서는 n이고 삼각수는 N이 되는 것이죠. 그래..