본문 바로가기
반응형

분류 전체보기71

[Spring Boot] Embeded Tomcat 설정 안녕하세요, Spring Boot의 기본 웹서버인 Embeded Tomcat의 Config에 대해서 정리를 해보려합니다. 지난번에 Access 로그 설정 관련해서는 글을 작성을 하였기때문에, 로그를 제외한 나머지 설정에대해 정리를 해보도록 하겠습니다. (https://kim-oriental.tistory.com/43) Embeded Tomcat 설정 항목 server.tomcat.accept-count : 모든 쓰레드가 사용 중 일 때 들어온 요청이 대기하는 최대 큐의 길이, 일반적인 상황에서는 이미 모든 쓰레드가 Full이 찼으면 장애일 가능성이 높아 큐의 길이가 너무 길다면 응답시간만 늦어지고 장애상황 인지가 늦어질 수 있음 (Default: 100) server.tomcat.connection-ti.. 2022. 8. 22.
[JAVA] 객체 List 정렬 및 2번째 조건으로 정렬 안녕하세요, 자바 Collection 자료 구조 중 순서가 있는 List 계열의 ArrayList, LinkedList, Stack, Vector 자료 구조 정렬에 대해서 정리를 하려고 합니다. 여러 가지 방법 중에서 객체 리스트를 Collections.sort 메서드, Comparator - compare 메서드를 이용하여 정렬하는 법과 객체 리스트에서 1번째 정렬 조건이 같을 때 2번째 정렬 조건으로 정렬을 하는 법을 간단히 정리하려고 합니다. 객체 리스트 정렬 객체 리스트를 아래와 같이 Collections.sort 메서드를 이용하여 정렬하는 예제를 간단하게 작성해보겠습니다. id와 age 인자를 가진 User라는 객체를 생성한 다음 아래와 같이 리스트에 add를 해줍니다. class User { .. 2022. 7. 13.
[JAVA] VSCode - Build failed, do you want to continue? 무시하고 실행 VSCode에 Debugger for Java이라는 Extension을 설치를 하였다면, 자바 프로젝트를 진행하다가 Warning 수준의 에러인데, 아래와 같이 "Build failed, do you want to continue?" 이라는 에러 메시지가 뜨면서 빌드가 안되어 실행이 안 되는 경우가 있습니다. Proceed를 눌러 실행을 하거나, Fix를 눌러서 이슈를 해결을 하면 되기는 하지만, 별거 아닌 Warning 수준의 에러에도 실행이 안되어 불편한 경우가 있습니다. 이럴 때, [Ctrl + ,] 단축키를 이용하여 setting 메뉴에 들어가서 아래와 같이 세팅을 Enable 해주면 에러를 무시하고 일단 실행을 하게 됩니다. Extensions > Java Debugger java > debug.. 2022. 7. 11.
[Spring Boot] Tomcat Access Log 설정 Spring Boot의 내장된 Tomcat을 사용하여 웹 애플리케이션이나 API 서비스를 구현하는 경우의 Tomcat Web Server의 Access Log 설정을 어떻게 하는지에 대해 정리를 하려고 합니다. 기본적인 Spring Boot와 Embedded Tomcat을 이용하는 경우, 웹서버의 Access Log는 별도 설정을 해야만 로그가 남게 됩니다. Spring Boot의 프로퍼티에 server.tomcat.access 로그 관련 설정을 해야 하는데 여기서는 yml 파일에 설정하는 것을 기준으로 작성하겠습니다. Spring Boot application.yml 파일에 Tomcat Access Log 설정 server: tomcat: accesslog: enabled: true directory:.. 2022. 6. 28.
[JAVA] Robot 클래스 마우스 랜덤 이동을 통한 화면보호기/절전모드 방지 Java의 Robot 클래스를 이용하여, 마우스를 주기적으로 랜덤 하게 이동시켜 화면보호기 또는 절전모드를 방지하는 아주 간단한 코드를 작성하도록 하겠습니다. Robot 클래스란 PC의 인풋 이벤트를 생성하기 위한 클래스로 키보드나 마우스 입력을 JAVA의 코드를 통해 받을 수 있습니다. 애플리케이션 자동 테스트나 데모를 자동으로 보여줄 목적으로 생성이 된 클래스입니다. 이 Robot 클래스를 이용하여 아주 간단하게 마우스를 일정 시간 간격으로 랜덤하게 이동을 시키는 코드를 구현하도록 하겠습니다. 먼저 Robot 객체를 생성하고, mouseMove라는 매서드를 통해 마우스를 이동을 하게 됩니다. 이 매서드는 매개변수로 화면 해상도의 좌표 값인 x와 y를 받아서, 그 좌표 위치로 마우스를 이동하는 매서드입.. 2022. 6. 23.
[Flutter 설치] Flutter Doctor Issue - Windows 윈도우 OS 안녕하세요, Windows OS에 Flutter를 설치한 후 개발 환경 체크를 위해 Flutter Doctor를 수행을 하였는데, 아래와 같이 2개의 에러가 발생하였습니다. 2개 이슈 모두 다소 황당한 이슈이자 별거 아닌 해결방법이지만 혹시 같은 에러 보신 분들을 위해 간략히 정리합니다. Visual Studio Encoding 이슈 Visual Studio - develop for Windows (the doctor check crashed) x Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://git.. 2022. 6. 13.
[Javascript] 오픈소스 차트 및 그래프 생성 - ECharts 소개 및 예제 안녕하세요, 웹 페이지에 동적으로 여러 차트를 생성하고자 할 때 유용하게 쓸 수 있는 자바스크립트 오픈소스 툴인 Apache ECharts에 대해 알아보겠습니다. EChart 공식 페이지의 Demo 페이지(https://echarts.apache.org/examples/en/index.html)에서 확인 할 수 있듯이, 선 그래프, 막대그래프, 파이 차트, Map, Tree, 게이지 바 등등 정말 다양한 차트를 Javascript를 통해 HTML 페이지에서 동적으로 생성이 가능합니다. 우선, 무료 오픈소스이고 Canvas 태그를 활용해서 구현이 되어 있어서 정말 다양한 곳에서 쉽게 사용이 가능할 것 같습니다. Demo들이 너무 많아서 하나하나 자세히 아직 못 봤지만.. 여러 예제들을 보면 애니메이션 기능.. 2022. 6. 9.
[자바] Hash Set 정의 및 사용법 (추가, 삭제, 포함여부, 하나씩 출력, 리스트 변환 및 정렬) 안녕하세요, Java HashSet의 정의와 주요 기능에 관해 정리를 해보도록 하겠습니다. HashSet 자바의 HashSet은 Set 인터페이스의 구현체로, 중복이 허용되지 않는 자료구조입니다. 입력한 순서(인덱스)가 보장되지 않고, null도 데이터로 입력이 가능한 특징을 가지고 있습니다. 데이터를 입력 시, 기존 저장된 객체 중 같은 hashCode()를 찾고, 같으면 equals() 메서드를 통해 동일 객체인지 판단 후 동일 객체가 아닐 때만 데이터가 저장이 되는 구조입니다. 자바 Set 선언 및 데이터 추가 아래와 같이 HashSet을 선언하고 add() 메서드를 통해 값 입력이 가능하며, 입력 시에 중복을 검사하여 중복된 데이터가 있을 시 저장이 되지 않습니다. Set set = new Has.. 2022. 5. 31.
[JAVA] BFS 기본 코드 (큐 사용) BFS BFS는 Breadth First Search의 줄임말로 너비 우선 탐색입니다. DFS와 같이 기본적인 그래프 알고리즘 중 하나로, 시작 정점에서 연결된 모든 정점을 방문하고, 다시 방문한 하나의 정점을 시작점으로 해서 또 연결된 모든 정점을 방문하는 식으로 구현됩니다. 아래의 예시를 보면, 0부터 시작하여, 0에 연결된 1과 2를 방문하고, 다시 1을 시작점으로 1에 연결된 3과 4를 방문하고, 2로 와서 방문할 점을 찾았는데 더 이상 방문할 점이 없고, 3과 4에서 연결 점을 찾았는데 둘 다 없으므로 종료하는 식으로 동작합니다. JAVA BFS 구현 위의 이미지를 구현해보면 아래와 같습니다. DFS와 동일하게 간선(Node)나 정점(Edge)의 정보는 ArrayList의 배열로 저장을 하였습니.. 2022. 5. 27.
[JAVA] DFS 리스트 + 재귀 기본 코드 DFS DFS는 Depth Frist Search의 줄임말로, 깊이 우선 탐색입니다. 그래프 알고리즘에서 BFS와 함께 기본 알고리즘으로 하나의 정점에서 시작해 연결된 모든 정점을 방문할 때, 깊은 정점을 우선 방문하고 더 이상 방문할 정점이 없을 때, 다시 왔던 정점으로 돌아와서 방문하지 않은 정점을 방문하는 식으로 구현이 됩니다. 아래의 간단한 예시에서 보면, 0 > 1 > 3 을 깊이 우선으로 방문하고 더 이상 방문할 정점이 없으므로, 1로 돌아와 4를 방문하고, 다시 0으로 돌아와 2를 방문하는 식으로 모든 연결된 정점을 방문하고 있습니다. JAVA DFS 구현 위의 이미지를 간단하게 DFS 기본 코드를 구현해보면 아래와 같습니다. ArrayList의 배열과 재귀 함수를 이용하여 구현을 했는데, .. 2022. 5. 20.
반응형