Archive: 2019/5

0

람다 Checked Exception 처리

Stream API와 람다식을 사용하면 for, if 를 사용한 코드를 간결하게 변경할 수 있다.하지만 Checked Exception이 껴있으면 try-catch 문을 사용해서 핸들링을 해줘야하기 때문에 코드가 지저분해 보인다.그래서 개인적으로 람다식에 Checked Exception을 던지는 메서드를 호출하는 것을 꺼린다.아예 for 문을 사용할 때도

0

왜 OOP?

이번 주에 개발을 하면서 느낀 OOP의 중요성에 대해 느낀 점을 일기를 빌려 쓰고자한다. Spring + MyBatis 조합이라면 매퍼에 returnType으로 Map을 사용하면 컬럼이 추가/변경되더라도 편리하게 DB 데이터를 Map 타입으로 받을 수 있다.그럼 굳이 컬럼과 매핑되는 필드를 가진 클래스를 만들필요가 있을까?더 나아가 Map에다 데이터를 넣고

0

Redis) 이것이 레디스다 16 - 레디스 튜닝 1 (기본)

레디스를 안정적으로 운영하려면 레디스 환경 설정과 운영체제 간의 관계를 이해해야 한다.운영 환경에 따라서 적절한 설정값을 지정해야 하기 때문이다. 레디스 설정파일설정파일은 레디스를 시작할 때 사용하는 redis 명령행의 인자로 지정된다.그렇기 때문에 설정파일을 수정하고 반영하려면 레디스를 재기동 해야한다.재기동 없이 설정을 변경하고 싶다면 config se

0

Tmux 기본 명령어

참고 : https://www.youtube.com/watch?v=FdvjywJBQJg Putty나 Xshell 등으로 리눅스 서버 접속 시 Tmux를 사용하면 여러 터미널을 실행하지 않고 하나의 터미널로 화면을 분할할 수 있다. 모든 명령어는 Prefix 커맨드를 입력한 이후 입력한다. Prefix: Ctrl + bPane 관련 명령어 수직 분할 % 수평

0

Redis) 이것이 레디스다 15 - 기타 고려사항

앞서 살펴본 임계점과 메모리 설정외에 다른 고려사항을 알아보자. 스냅샷 AWS와 같은 가상환경에서 레디스를 사용한다면 스냅샷 파일의 위치는 반드시 로컬 파일 시스템을 사용하자.레디스의 스냅샷 이벤트가 발생하면 매우 짧은 시간에 매우 많은 디스크 입출력이 발생하는데,EBS 같은 외부 저장장치는 로컬 디스크에 비해 스냅샷 파일을 기록하는데 많은 시간이 소요된다

0

Stream close()에 대해

내가 프로젝트에 적극적으로 Stream과 람다를 사용하면서 팀 내에서 Stream, 람다 과도기가 오고있다. 그 중 한 명이 원하는대로 코드가 나오지 않아 나에게 코드를 좀 봐달라고 했는데 보니까 Stream을 사용 후 close() 메서드를 호출하는 것이었다.다른 코드에서도 본 적이 없었고 나도 그 동안 close()를 사용하지 않았을 뿐더러 생각을 해본

0

jstat 데이터 시각화

jstat으로 자바 애플리케이션의 메모리, GC 관련 성능을 측정할 수 있다.JDK를 설치하면 기본적으로 같이 설치가 되기 때문에 추가로 설치할 것은 없다.jstat 명령어로 실행할 수 있고 -help 옵션으로 사용법을 확인할 수 있다. 자세한 사용법과 데이터의 의미는 아래 블로그에서 참고하자. https://5dol.tistory.com/182 http

0

Redis) 이것이 레디스다 14 - 메모리 설정

fork 함수는 부모의 프로세스와 동일한 크기의 메모리를 사용하는 프로세스를 생성한다.부모 프로세스 만큼의 메모리가 남아있지 않으면 fork 함수가 실패한다.레디스의 AOF이나 스냅샷을 위해 호출한 fork 함수가 실패한 이후 레디스의 모든 쓰기 연산은 실패를 응답한다. 레디스의 fork 함수에 의해 생성된 자식 프로세스는 쓰기 연산이 발생하지 않으면 부모

0

Non-fair, Fair mode of Lock

멀티 쓰레딩 환경에서 리소스의 쓰기 대비 읽기가 많은 기능의 경우 성능을 고려하여 synchronized를 사용하지 않고 ReentrantReadWriteLock을 사용하는 경우가 있다.하지만 이 경우에도 고려해야할 점이 있다. 바로 리소스 접근 우선순위이다. 만약 readLock을 사용하여 읽기 중인 리소스에 writeLock을 사용하여 쓰기를 시도한다고

0

Postman - 10. Collectuin run

Collection에 여러 request가 있는데 전부 실행하기 위해 하나하나 요청을 보내기는 너무 번거롭다.Collection의 모든 request를 요청보내는 기능을 알아보자. 좌측 상단에 Runner를 클릭하면 Collection Runner가 실행된다. 실행하고자 하는 컬렉션을 선택하고 하단의 Run 'Collection 명'