현재 담당하고 있는 사내 툴 개발 프로젝트에서 그동안 잘 동작하던 다운로드 API가 오류가 나기 시작했다. 파일의 크기가 약 200KB 이상만 되면 다운로드가 실패하고, 그 이하의 파일들은 다운로드가 정상적으로 동작했다. 서버 Application에서 찍히는 로그를 보면 IOException: Connection reset by peer 익셉션 ...
리얼서비스 첫경험 반성일기
입사한지 한달이 조금 넘어가는 시점에서 이벤트 대상자들에게 알림을 발송하는 업무를 맡게 되었다. 파일에서 line을 읽어 curl 명령을 실행하는 쉘 스크립트 기본 틀을 리더님께서 구현하여 설명을 해주셨고, 그것을 바탕으로 알림 발송 스크립트를 구현했다. 알림을 발송하는 API를 반복적으로 호출해주면 되기 때문에 복잡한 업무는 아니었지만, 리얼 환...
한글입력 상태에서 백틱(`) 입력설정
마크다운을 사용하다보면 코드를 입력할 때 백틱(`)을 굉장히 자주 사용하게 된다. 그런데 맥에서 한글입력 상태일때 백틱을 입력하면 원(₩) 표시가 입력된다. 한글입력 상태에서도 백틱을 사용하려면 아래와 같이 설정해준다. Library 디렉토리로 이동 $ cd ~/Library KeyBindings 디렉토리 생성 $ mkdir Key...
자주 사용하는 IP에 Hostname 등록하기
터미널에서 /etc/hosts를 편집기로 실행한다. $ sudo vi /etc/hosts 다음과 같은 화면이 나오면 localhost 의 내용 밑에 등록하고자 하는 IP와 원하는 호스트이름을 입력한다. # Host Database # # localhost is used to configure the loopback interface # when...
UriComponentsBuilder 활용 정리
UriComponentsBuilder 스프링에서 URI를 생성할 때, 편리하게 할 수 있도록 도와주는 클래스. Spring Web 의존성이 필요하고 org.spring.framework.web.util 패키지에 포함되어 있다. 사용법 fromXXX() 메소드를 사용하여 UriComponentsBuilder를 생성한다. path...
이레이저코딩 & 오브젝트 스토리지
1. RAID(Redundant Array of Independent Disks) 여러 개의 데이터 조각으로 배열된 각각의 디스크를 의미한다. 배열이란 한 데이터를 쪼개서 각 디스크에 저장하는 것을 의미하며, 크게 스트라이핑(striping) 과 미러링(mirroring) 으로 나뉜다. 단일 저장장치의 용량이 수TB로 커지게 되면서 RA...
Join 기법 정리 (Nested Loop, Sort Merge, Hash)
1. Nested Loop Join NL 조인은 프로그램에서 사용하는 중첩된 반복문과 유사한 방식으로 조인을 수행한다. 반복문의 외부에 있는 테이블을 선행 테이블 또는 외부테이블(OUTER TABLE)이라고하고, 반복문의 내부에 있는 테이블을 후행 테이블 또는 내부(INNER TABLE)이라고 한다. FOR 선행 테이블 읽음 -&g...
Atomic과 Synchronized
mutable한 객체를 공유하는 환경에서 객체에 대한 액세스가 제대로 관리되지 않으면 응용 프로그램은 감지하기 어려운 동시성 오류에 노출 될 수 있다. public class Counter { int counter; public void increment() { counter++; } } 위의 코드는 싱글 스...
Bean 정리
Bean 빈(Bean)이란 Spring의 IoC 컨테이너에서 의존성을 주입하기 위해 내부적으로 생성하는 객체를 말한다. 이렇게 컨테이너에서 의존성을 관리해주기 때문에 제어가 역전(IoC - Inversion of Control) 되었다고 하며 개발자가 직접 의존성 객체를 생성하고 주입해주지 않아도 되기 때문에 개발 과정이 간편해지는 장점이 있다. ...
NCP에서 HA 구성해보기
부스트캠프에서 팀프로젝트를 하면서 HAProxy를 이용한 로드밸런싱을 구현했었는데 실제 서비스에서는 안정성을 위해 Proxy 서버를 이중화하여 HA(High Availability)를 구성한다고 한다. HA 구성에 대한 자료를 찾아보니 마침 NCP(네이버 클라우드 플랫폼) 환경에서 HA를 구성하는 방법이 있었는데 직접 적용해보면서 그 과정을 정리하려...