일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- zookeeper
- 알고리즘
- Java
- programmers
- Go언어
- 자바
- dynamic programming
- 코드워
- go
- 스칼라
- Linux
- 문제풀이
- 파이썬
- golang
- DP
- 튜토리얼
- leetcode
- scala
- OOM
- codewars
- 동적프로그래밍
- gradle
- 주키퍼
- redis
- docker
- boj
- Python
- 프로그래머스
- 리눅스
- HBase
- Today
- Total
목록TIL (28)
파이문
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..
xn-- 과 같이 시작하는 URL 을 사람이 볼 수 있는 문자로 변경하기 URL 가지고 놀다 보면 xn-- 으로 시작하는 문자를 볼 수 있다. 이를 punycode 라고 하는데 알아 보기가 힘들어서 파이썬으로 간단하게 사람이 볼 수 있는 (human readable) 문자로 변경 가능한 예제를 작성하였다. 아래 처럼 idna 로 decode 하면 된다. 그 전에 해당 문자열은 반드시 punycode 여야 하므로 netloc 만 따로 떼서 진행해야 한다. from urllib.parse import urlparse def get_human_readable_text(org): url = urlparse(org) if url.scheme != "": return url.netloc.encode("utf8")...
스칼라에서 for loop 2개 동시에 순회하기 자바에서 하나의 for 구문에 인덱스 2개 이상 도는 것과 같은걸 스칼라에서 해보았다. val a = List(1, 2, 3, 4) val b = List("a", "b", "c", "d") for (x
자바 컬렉션 스칼라에서 사용하기 scala 2.11 에는 TreeMap 이 없어서 자바의 java.util.TreeMap 을 사용하려고 하였다. 그러나 java.util.TreeMap 에는 map멤버가 없었다. 자바의 컬렉션도 스칼라 처럼 사용하고 싶었고 그래서 찾아보니 아래의 패키지를 사용하면 되었다. import scala.collection.JavaConversions._ import scala.collection.JavaConverters._ JavaConversions 를 쓰면 자동으로 컬렉션에서 scala 의 컬렉션 처럼 사용할 수 있게 되고 (예를 들면 map 이라든지 foreach 같은 멤버 함수들) JavaConverters를 쓰면 기존의 컬렉션 뒤에 asScala 를 붙여서 사용하면 된..
C++가 상수의 데이터형을 결정하는 방법 C++는 특별한 이유가 없다면 정수형 상수는 모두 int형으로 저장한다. 그러나 특정 데이터형을 의미하는 접미어를 상수에 붙였을 때와, 값이 너무 커서 int형으로 저장할 수 없을 때는 그렇지 않다. l이나 L을 붙이면 long형을 의미하고 u나 U는 unsigned int 형을 의미한다. ul(순서와 대,소문자는 상관이 없다.)을 붙이면 unsigned long형을 의미한다. C++11은 unsigned long long형에 대하여 long, long, ull, Ull, uLL, ULL형의 ll과 LL접미사를 제공한다.
Go에서 언더스코어(underscore)의 의미 파이썬에서 언더스코어가 사용하지 않을 변수를 의미하는 것 처럼 Go역시 같다. 다만 파이썬에선 강제가 아니지만. Go는 사용하지 않은 변수, 패키지 등에 대해선 런타임시 에러를 뱉기 때문에, 만약 그러한 변수, 패키지가 있다면 언더스코어로 지정해야 한다. 패키지는 별칭으로 지으면 된다.
Go 슬라이스, 배열 Go에서 슬라이스는 레퍼런스이고 배열은 복사이다. 그러므로 슬라이스를 복사하고 싶을 땐 대입이 아니라 copy 모듈을 사용해야 한다.