분류 전체보기
-
[JAVA] Garbage Collection 모니터링CS/개발 언어 (JAVA) 2021. 6. 21. 23:36
GC 모니터링 JVM이 어떻게 GC를 수행하고 있는지 알아내는 과정 Young 영역에 있는 객체를 Old 영역에 언제 얼마나 이동했는지, stop-the-world가 언제 얼마나 일어났는지에 대한 정보를 알 수 있음 GC 모니터링 방법 jstat VMID (Virtual Machine ID) 동작하고 있는 VM을 가리키는 ID jstat을 통해서 모니터링을 하기 위해서는 vmid 정보를 argument로 전달 필요 VMID를 확인하기 위해서는 아래와 같이 jps 명령어를 통해서 확인 가능 $ jsp 2981 auth-api.jar GC 관련 jstat 옵션 옵션 기능 gcutil 각 힙 영역에 대한 사용 정도를 백분율로 보여준다. 아울러 총 GC 수행 횟수와 누적 GC 시간을 알 수 있다. gc 각 힙(..
-
[알고리즘] Spiral Matrix알고리즘/배열 2021. 6. 12. 16:56
Problem Given a matrix of m x n elements (m rows, n columns) Return all elements of the matrix in spiral order. // input int[][] matrix = new int[][]{ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; // output 1 2 3 4 8 12 11 10 9 5 6 7 Code package 배열; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class SpiralMatrix { private int[][] dirs ..
-
[알고리즘] Missing Ranage알고리즘/배열 2021. 6. 12. 16:06
Problem int[] nums = {2, 3, 5, 10, 75}; int lower = 0, upper = 99; Output : [0->1,4,6->49,51-74,76->99] Code import java.util.ArrayList; import java.util.List; public class MissingRange { public List solution(int low, int upper, int[] nums) { List result = new ArrayList(); if(nums == null || nums.length == 0) return result; if (low < nums[0]) { result.add(makeRange(low, nums[0]-1)); } for (int i..
-
[네트워크] netstat 상태값CS/네트워크 2021. 6. 12. 12:17
netstat 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구 사용 방법 netstat [옵션] [| grep 포트 번호 or 서비스명] option -a : 모두 -n (number port) : 포트 넘버 -l (listen) : 연결 가능한 상태 -t (tcp) : tcp -u (udp) : udp -p : 프로그램 이름 / PID -i : 이더넷 카드별 정상/에러/드랍 송수신 패킷 수 확인 -r : 라우팅 테이블 -s : 네트워크 통계 mac에서 PID를 포함하는 네트워크 상태값 확인 $ netstat -anv | grep 8080 linux에서 PID를 포함하는 네트워크 상태값 확인 $ netstat -anp | grep 8080 netstat 상태값 state ..
-
[Queue] 더 맵게알고리즘/큐 2021. 6. 5. 19:31
Problem Description 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요..
-
[개발언어] @Controller vs @RestControllerCS/개발 언어 (JAVA) 2021. 6. 4. 13:41
@Controller 전통적인 스프링 MVC의 컨트롤러 View를 반환하기 위해 사용하고 Restful 웹 서비스를 반환하기 위해서는 @ResponseBody 어노테이션을 붙여야한다. Controller가 View를 반환하기 위해서는 ViewResolver가 사용되며, ViewResolver 설정에 맞게 View를 찾아 랜더링한다. @RestController Restful 웹서비스 컨트롤러 데이터를 반환하기 위해 사용한다. RestController가 데이터를 반환하기 위해서는 ViewResolver 대신에 HttpMessageConverter가 동작한다. 스프링은 클라이언트의 HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보를 조합하여 적합한 HttpMessageConverter를 선탱하여..
-
[RestDoc] asciidoc 문법스프링프레임워크/기타 2021. 6. 3. 23:15
한 칸 띄우기 ( + 기호 사용) Rubies are red, + Topazes are blue. Rubies are red, Topazes are blue. 한 칸 띄우기 (hardbreaks 옵션 사용) [%hardbreaks] Ruby is red. Java is black. Ruby is red. Java is black. NOTE, TIP, IMPORTANT, CAUTION, WARNING WARNING: Wolpertingers are known to nest in server racks. Enter at your own risk. 리스트 형식 - Edgar Allan Poe - Sheri S. Tepper - Bill Bryson
-
[nginx] Permission denied while reading upstream 이슈 해결오픈소스/nginx 2021. 6. 1. 20:38
nginx가 API 서버의 앞단에서 리버스 프록시로 역할을 하고 있을 때 API 서버를 통해서 파일을 다운로드 받을 때 아래와 같은 에러가 발생되었습니다. 2021/06/01 20:15:54 [crit] 29936#0: *50173015 open() "/nginx/proxy_temp/4/01/0000005014" failed (13: Permission denied) while reading upstream 발생원인은 API 서버를 통해서 nginx가 파일을 다운로드 받을 때 /nginx/proxy_temp 디렉토리에 임시적으로 데이터를 저장하는데 해당 디렉토리에 대한 권한이 없어서 발생하였다. 수정 방법은 /nginx/proxy_temp 디렉토리의 권한을 아래와 같이 수정하였다. $ chmod -R 7..