일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 주키퍼
- HBase
- Go언어
- 파이썬
- DP
- 코드워
- programmers
- Python
- 알고리즘
- redis
- docker
- boj
- zookeeper
- codewars
- dynamic programming
- Linux
- golang
- gradle
- 문제풀이
- 동적프로그래밍
- scala
- 튜토리얼
- OOM
- 자바
- 리눅스
- go
- 스칼라
- 프로그래머스
- Java
- leetcode
- Today
- Total
목록전체 글 (111)
파이문
리눅스에서 쓰레드 몇 개 까지 만들 수 있을까? 궁금해서 찾아보았다. cat /proc/sys/kernel/threads-max 로 확인할 수 있다고 한다. (근데 여기서 말하는 결과 값은 결국 결국 쓰레드 + 프로세스 의 의미라고 한다.) 참고 stackoverflow.com/questions/344203/maximum-number-of-threads-per-process-in-linux
컬럼 패밀리에는 TTL 이라는 값을 초 단위로 세팅할 수 있다. 그러면 HBase 는 자동으로 expiration time (TTL) 에 다다른 row 는 삭제 한다. 이 삭제 작업은 모든 버젼의 row 에 해당한다. (HBase row 에는 여러 버젼이 있다. 조회 시에 나오는 값은 가장 최신 버젼의 데이터이다.) TTL 시간 값은 인코딩 되어 있고 UTC 값이다. 컬럼 패밀리에 TTL 거는 예 hbase(main):002:0> create 'ttl_demo', {'NAME' => 'cf','TTL' => 20} # 아님 요렇게도 가능하다. (결과는 같다.) hbase(main):003:0> alter 'ttl_demo', NAME => 'cf', TTL => 20 Store file(HFile) 에는..
싱글톤 클래스 예제는 보통 아래 처럼 작성되곤 한다. public static class Singleton { private static Singleton instance; private Singleton() { } public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 이렇게 작성하면 단일 쓰레드에서는 문제가 없지만, 멀티 쓰레드(multithread) 에서는 instance 를 가져올 때 (동시 접근하여 instance 를 null 로 판단한 경우) 문제가 생길 수 있다. 가장 쉬운 방법은 getInstance 함수에 synchronized 키워드를 넣..
JDK14 자바 14 가 새로 나왔다(고 하기엔 좀 되었지만...). 엄청난 삽질로 인텔리제이에 자바 14가 돌아가도록 세팅 했다. (기회가 된다면 정리를 따로 하려고 한다.) 아무튼! 14 의 new feature 들을 하나씩 살펴보면서 정리하려고 한다. Records 새로운 예약어이다! 평소 코딩을 하다 보면 객체 값이 변하지 않기를 원하는 경우가 있다. public class OrgMessage { private final int id; private final String message; public RequestDataOrg(int id, String message) { this.id = id; this.message = message; } public int getId() { return id..
Mockito 모킹할 때 리턴과 동시에 어떤 함수가 실행되기를 원할 때 테스트를 진행하다 보면 thenReturn 으로 함수의 결과 값을 임의로 지정할 때가 많지만 때로는 함수 실행 시 동작해야 하는 어떤 액션을 지정하고 싶을때도 있다. 즉, 정리해보면 A() 함수가 리턴하는 값은 a 지만 B() 라는 메서드도 실행되고 있다고 가정해보자. A() { ... B(); return a; } 주로 모킹은 아래와 같이 할 것이다. Mockito.when(A()).thenReturn(a); B() 의 동작은 감춰지게 되는게 보통이다. 그러나 B() 가 디비 업데이트라던지, 다른 어떤 외부 동작(?) 일 때 필연적으로 제어해야할 때가 있다. (내가 그랬다.) 그럴 때는 이렇게 사용하면 된다. Mockito.when..
Prefix 와 Start, Stop Rowkey 으로 10개만 조회 scan '', {STARTROW => '', ENDROW => '', FILTER => "PrefixFilter('')", LIMIT => 10} 컬럼 패밀리 삭제 하기 alter '', {NAME => '', METHOD => 'delete'} 컬럼 패밀리 추가 하기 alter '', '' 테이블 데이터 전부 삭제하기 truncate '' 테이블 생성 create '', '' 데이터 추가하기 put '', '', '', '' row 삭제하기 deleteall '', ''
CountDownLatch vs CyclicBarrier CyclicBarrier 는 여러 쓰레드가 서로를 기다리고 CountDownLatch 는 하나 또는 다수의 쓰레드가 작업이 완료될 때 까지 기다린다. CyclicBarrier 에 모든 쓰레드가 도달하면 값이 초기화 되고 CountDownLatch 는 초기화 되지 않는다. 따라서 CountDownLatch 는 재사용 불가능하다. CountDownLatch 쓰레드를 N개 실행했을 때, 일정 개수의 쓰레드가 모두 끝날 때 까지 기다려야지만 다음으로 진행할 수 있거나 다른 쓰레드를 실행시킬 수 있는 경우 사용한다. 예를 들면 메인 쓰레드에서 5개의 쓰레드를 실행 시키고, CountDownLatch 값을 3으로 설정해본다고 하자. 각 쓰레드가 종료되는 시점..
전화 번호 목록 programmers.co.kr/learn/courses/30/lessons/42577 HashMap 으로 풀이 모든 전화번호를 HashMap 에 넣고 2중으로 다시 순회해서 확인하는 식으로 했다. 조건에 phone_book의 길이는 1 이상 1,000,000 이하입니다. 라고 적혀 있어서 효율성 테스트에서 실패할 줄 알았는데, 생각보다 최대 사이즈가 크지 않은 모양이었다. (그래도 혹시 몰라서 주어진 phone_book 을 정렬했다.) 자기 자신 (같은 인덱스 참고) 을 보고 잘못 판단할 수 있기 때문에 HashSet 이 아닌 HashMap 으로 value 값엔 인덱스를 넣어 구현하였다. import java.util.*; class Solution { public boolean sol..
서버에 환경 설정 배포할 일이 있는데 그동안 ssh 나 fabric 이나 이런것들로만 하다가 ansible 을 써보기로 했다. (ansible 1일차) test 란 유저로 /path/to/test 란 디렉토리를 생성하는 예제이다. (become 옵션을 yes 로 하면 sudo 권한을 준 것과 같다.) # # # 디렉토리 생성 예제 # # - hosts: tester remote_user: test tasks: - name: Create a test1 directory if it does not exist become: yes file: owner: test group: test path: /path/to/test1 state: directory mode: 0755 hosts 란 키 값에 tester 를 ..