목록분류 전체보기 (97)
우당탕탕
',"와 `의 차이 자바스크립트 코드를 보다 보면 따옴표와 백틱을 많이 보게 된다. 따옴표 하고 백틱을 언제 사용해야 하고 차이는 무엇일까? 보통 스트링(String) 값을 선언할 때 따옴표를 아래와 같이 많이 쓴다. ( 백틱은 숫자 1번 왼쪽 물결 표시 키이다 ) // 큰 따옴표 let temp = "Hello World" // 작은 따옴표 let temp2 = 'Hello World' // 백틱 let temp3 = `Hello World` 위의 코드에서는 큰 따옴표, 작은따옴표로 스트링 값을 선언한 것인데 JS에서는 차이가 없다. 그럼 `(backtick)백틱은 차이가 있을까? 백틱 백틱의 경우 ${}를 통해 변수를 넣어 사용할 수 있는데 이를 템플릿 리터럴이라 부른다. ( ES6 이후 ) 한번 아..
리눅스 서버가 죽었다... 뭘 해야 할까? 만약 운영하던 서버에서 갑자기 문제가 터졌을 때 어떻게 처리할 것인가? 서버에서 문제가 생겼을 경우에는 일단 서버의 상태를 체크해야 하는데 이에 대한 서버 체크리스트에 대해 작성해보려 한다. 먼저 해당 서버의 터미널로 접속해야 한다. 접속을 했다면 이제 상태를 한번 살펴보자 1. CPU 상태 확인 현재 서버가 어떤 이유 때문에 오류가 발생했는지 찾기 위해 먼저 CPU 상태를 확인한다. top 명령어를 통해 실행 중인 프로세스가 CPU 점유를 너무 많이 하고 있지는 않은지 확인하고 처리한다. $ top 2. 메모리 상태 확인 [Linux/Ubuntu] 리눅스/우분투 스왑 파일(Swapfile) 생성에서도 설명하였지만 메모리가 부족하면 서버가 멈춘다. 이를 해결하기..

스왑 파일 생성 이번 포스팅은 AWS EC2 프리티어에서 메모리 부족 현상을 해결하는 방법에 대해 적어보려 한다. SpringBoot 프로젝트를 만들어서 EC2에 젠킨스를 배포 자동화를 시도할 때 EC2가 멈추는 현상을 발견하였고 가끔 젠킨스를 통하지 않고 그냥 적어도 멈추는 현상이 발견했었다. ( EC2의 프리티어 메모리는 1GB ) 스왑 파일(Swapfile) 메모리를 늘리는 방법 중 제일 쉬운 방법은 돈을 내고 더 좋은 서버를 쓰면 된다. ( 우린 돈이 없으니 다른 걸 찾아보자 ) 리눅스에서는 스와핑(Swapping)이라는 게 존재하는데 이는 하드디스크를 가상 메모리로 전환시켜 사용하는 방식이다. AWS에서는 스왑 공간 크기 계산을 아래와 같이 권장한다 최대 2GB의 RAM에 대해 스왑 공간은 RA..
IoC와 DI란? 스프링을 사용하면 IoC와 DI라는 단어를 많이 듣게 된다. IoC와 DI는 뭘까?? IoC(Inversion of Control)란? IoC란 영어 그대로 제어의 역전이라 부른다. 제어의 역전이란 메서드나 객체의 호출 작업을 개발자가 아닌 스프링에게 제어권을 넘기는 것을 말한다. 이전까지는 개발자가 객체의 생성을 관리하며 제어했지만, 스프링을 사용하게 되면 스프링 컨테이너에게 제어권을 넘겨 스프링 컨테이너가 흐름을 제어하게 된다. DI(Dependency Injection)란? DI란 의존성 주입이라 부르며, 객체를 직접 생성하는 게 아닌 외부(IOC 컨테이너)에서 생성한 후 주입시켜주는 방식이다. 의존성 주입 방식으로는 3가지 방법이 존재한다 생성자 주입 ( Constructor I..

이벤트 버블링과 이벤트 캡처링이란? 이 글은 이벤트 JS에서 이벤트 버블링과 이벤트 캡처링에 대해 설명한다. 이벤트 버블링과 캡처링 모두 계층적으로 짜여있는 HTML 요소에 이벤트가 발생할 때 나타나는 연쇄반응을 칭한다. 해당 반응이 발생하는 방향에 따라 버블링과 캡처링으로 나뉜다. 말로보면 어려우니 아래 그림과 코드를 통해 알아보자 이벤트 버블링 아래와 같은 코드가 있다고 가정해보자 클릭해! 브라우저는 이벤트가 발생하면 그 이벤트를 최상위에 있는 요소까지 이벤트를 전파시키는 특성이있다. 해당 코드에서 p 태그인 "클릭해!"를 누르게 되면 처음으로 알럿 창인 "p"가 뜨게 된다 이후 "div"와 "form"이 순차적으로 출력되며 총 3개의 알럿 창이 뜨게 된다. p태그만 클릭하였지만 div와 form요소..

가비지 컬렉션 알고리즘 이 글은 [Java] 가비지 컬렉션(Garbage Collection)이란? 의 2편이다. ( GC에 대한 자세한 내용은 1편을 참고 ) 1편에서 GC 알고리즘 종류에 대해 말을 했었다. 1. Serial GC 2. Parallel GC 3. Parallel old GC 4. CMS(Concurrent Mark & Sweep) GC 5. G1 GC(Garbage First GC) 대충 이런 알고리즘이 있었는데 이에 대해 하나하나 알아보도록 하자 1. Serial GC Serial GC의 경우 Young 영역과 Old 영역이 다르게 실행된다. Young 영역의 경우 1편에서 설명한 Mark Sweep 방식으로 수행되지만 Old 영역의 경우 Compact 가 추가된 Mark Sweep..