본문 바로가기

기타

(30)
시스템 설계 청사진 완벽 가이드
리눅스 서버에서 수동으로 Tomcat 재부팅하기 서버 자체를 Stop시키는 게 아니라, 리눅스 서버에서 수동으로 애플리케이션의 Tomcat을 재부팅 해야할 때가 있다. 여기선 Tomcat을 Stop 시키는 2가지 방법을 정리한다. 1. Tomcat의 shutdown.sh, startup.sh 사용 2. Suprervisor 사용 Supervisor가 좀 더 간단하다. Tomcat의 shutdown.sh, startup.sh 사용 아래 명령어로 tomcat이 설치된 경로를 찾아 접근한다. whereis tomcat 내 경우, /usr/local/tomcat으로 나왔다. /usr/local/tomcat/bin에 들어가면 shutdown.sh와 startup.sh가 있는 것을 확인할 수 있다. 경로에 들어가서 ./shutdown.sh를 실행하면 tomcat..
리눅스 서버에서 파일 업로드/다운로드(scp) 접속한 서버에서 다른 원격 서버로 파일 전송 scp [파일명] [원격 서버 계정명]@[원격 서버 도메인]:[원격 서버에서 다운받으려는 경로] -- example scp pdf.hprof user@test.com:/home1/user scp pdf.hprof user@127.0.0.1:/home1/user 아래와 같이 Permission is denied가 뜨면 scp 앞에 sudo를 붙이면 된다. 접속한 서버에서 원격 서버의 파일 다운로드 scp [원격 서버의 계정명]@[원격 서버 도메인]:[원격 서버에서 파일 경로] [접속한 서버의 파일 다운받으려는 경로] -- example scp user@test.com:/home1/user/pdf.hprof ./download 아래는, 원격 서버의 계정명, 서버 ..
리눅스 서버에서 로그 확인 실무에서 사용하는 로그 검색 방법을 정리하였다. 최신 로그 파일 찾기 (ll -ltr) 로그 파일 경로에 가서 최신 날짜의 로그 파일을 찾을 때 사용한다. 참고로, ls -l의 축약형이 ll이다. -l 옵션으로 파일의 권한, 소유자, 갱신일까지 알 수 있다. 로그에 특정 키워드 있는 지 확인(cat grep) 파일을 열기 전에 로그 파일에 찾고자 하는 문자열이 있는 지 확인할 수 있다. cat 파일명 | grep -i "찾고자하는 문자열" 문자열이 있으면, 문자열이 있는 부분들만 보여준다. 로그 확인(less) more를 사용해도 되는데, more는 less와 달리 아래와 같은 차이가 있어서, 나는 주로 less를 사용한다. more의 단점 역방향 스크롤 불가능 more는 텍스트 파일을 한 페이지씩 보여..
리눅스 서버에서 Spring 프로젝트의 로그 파일 찾기 Spring 프로젝트에서 로그는 보통 SLF4J를 사용한다. 내가 예시를 위해 사용한 프로젝트는 logback-spring.xml에 기본 로그 설정을 해놓았다. access 등 여러 목적에 필요한 log 설정을 logback 디렉터리 내 logback-access.xml, logback-file.xml 등으로 생성한다. logback-access.xml 등 설정 파일을 log 기본 설정 파일인 logback-spring.xml에서 import한다. 위 설정에 관한 자세한 내용은 아래 블로그글 참조. https://developer-minji.tistory.com/359 SLF4J의 Log파일로 인한 서버의 Disk 공간 부족 문제 발생; Logback의 RollingFile 설정 문제 서버의 disk 공..
JXLS을 이용해 엑셀 파일 만들기 JXLS는 개발자가 엑셀 템플릿을 만든 후, 데이터를 엑셀 템플릿에 바인딩하여 엑셀로 만드는 JAVA 라이브러리이다. 메이븐 설정 JXLS 라이브러리를 사용하기 위해, pom.xml에 아래 dependency를 추가해준다. org.jxls jxls 2.8.0 org.jxls jxls-poi 2.8.0 org.jxls jxls-reader 2.0.6 jxls: JXLS 라이브러리의 핵심 기능을 제공하는 라이브러리이다. Excel 템플릿과 데이터를 사용하여 엑셀 파일을 생성하는 데 필요한 주요 기능이 포함되어 있다. jxls-poi: Apache POI 라이브러리와 함께 사용되는 JXLS 확장 라이브러리이다. 엑셀 파일을 생성할 때 POI의 API를 활용하여 더 많은 기능을 사용할 수 있다. 예를 들어, 글..
엑셀 생성JAVA 라이브러리 JXLS, SXSSF 비교 자바에서 엑셀 다운로드 기능을 위해 자주 사용되는 방식으로 JXLS, SXSSF 방식이 있다. JXLS 란? JXLS는 JAVA 오픈소스 라이브러리이다. JXLS는 개발자가 미리 만들어 놓은 엑셀 템플릿을 기반으로 데이터를 삽입하여 엑셀 문서를 생성한다. JXLS 라이브러리에서 제공해주는 명령어들을 이용해 엑셀 템플릿 파일을 만들고, 자바에서 엑셀에 삽입할 데이터 모델의 속성명와 엑셀 템플릿 파일 내의 속성명을 일치시켜주면 엑셀에 데이터 모델의 속성들이 반복적으로 쓰여진다. JXLS은 데이터를 메모리에 계속 들고 있기 때문에 엑셀에 삽입할 데이터가 많으면 속도가 점점 저하되고, 서버에서 Out Of Memory 에러(Java heap space)가 발생할 수 있다. SXSSF 란? SXSSF는 Apach..
mixins를 Vue의 Template에서 사용하는 방법 Mixins란? mixins는 Vue 컴포넌트에서 재사용 가능한 코드를 포함하는 객체이다. 이 객체는 다른 컴포넌트에서 import하여 사용할 수 있으며, 컴포넌트에 필요한 기능을 제공하거나 미리 정의된 동작을 적용하는 등의 역할을 할 수 있다. 즉, 여러 컴포넌트에서 공통으로 사용할 수 있는 코드를 모아놓은 것이다. Template에서 Mixins 사용하기 Mixins mixins에 currency라는 객체가 있다. 이 객체는 금액을 화폐에 맞게 ','나 소숫점 자리 등을 포맷팅해주는 기능이 들어있다. 아래는 mixins에 정의된 data와 method이다. 참고로, Object.freeze는 객체를 불변으로 만들기 위한 메소드이다. Vue Component Vue Component에서는 아래와 같이 ..
Vue Router 사용 요구 사항 검색 조건에 따라, 하단에 다른 테이블을 보여줘야하는 요구사항이 있었다. 아래와 같이, 검색 조건 부분까지 공통인데, 검색 시 Children Type이 First냐, Second냐에 따라 하단의 테이블이 달라져야 했다. Vue Router 사용 Vue Router를 사용해서 요구사항을 구현하기로 했다. Vue Router은 url Path에 따라 보여지는 자식 Component가 달라지는 것이다. 여기서는 Children Type이 First냐, Second냐에 따라 보여지는 테이블의 자식 Component가 달라지도록 한다. Children Type URL 자식 Component First /test/firstChild ChildrenFirst Second /test/secondChild ..
Apache Superset에서 권한 설정 권한 설정 권한 설정에 대한 공식 문서는 아래 페이지 참조 https://superset.apache.org/docs/security/ Security | Superset Roles superset.apache.org 권한 설정이 있어서, Admin용과 View용 권한을 따로 설정할 수 있다. 우측 상단의 Settings > List Roles를 선택하면, 아래와 같이 Role을 관리할 수 있다. 기본적으로 제공하는 권한은 Admin, Public, Alpha, Gamma, sql_lab 이다. Admin 관리자 권한 모든 권한을 가지고 있다. Alpha Dashboard, Charts, Datasets 메뉴를 이용할 수 있다. SQL Lab은 사용 불가능하다. 모든 Datasource에 접근 가능하다...