본문 바로가기

분류 전체보기667

728x90
반응형
[MariaDB] DB를 이관 했더니 테이블 용량이 훨씬 작아졌다. MariaDB에서 Delete를 하면 실제로 차지하는 크기가 작아지지는 않는다. Optimize 명령어를 써서 테이블의 용량을 줄이면 줄어드는데 이번에 경험해보니 이 마저도 100% 정리되는건 아닌 것 같다. 기존 테이블과 이관한 테이블의 데이터 수는 동일했고 주기적으로 관리한 기존 테이블의 용량은 1.2 GB이었지만 이관한 테이블의 용량은 0.9 GB였다.참고문서"mysql 백업 후 복원시 용량차이", 개발파워맨, 2014년 8월 1일. @원문보기"[SQL/DB] MySQL 서버 디스크 이전하기", 유르무차, 2020년 11월 24일. @원문보기"MySQL delete 실행 시 Table disk size가 줄어들지 않음", nari0_0, 2023년 5월 18일. @원문보기"MySQL: DELETE .. 2024. 9. 4.
[윈도우 11 ] 라우팅 경로 확인/추가/삭제 명령어 라우팅 경로를 추가하는 명령어는 아래와 같다. '-p' 옵션을 주면 재부팅을 해도 라우팅 정보가 유지된다.route add {목적지IP주소} mask {서브넷마스크} {게이트웨이IP주소} -p 라우팅 경로 정보를 확인하는 명령어는 아래와 같다.route print {목적지IP주소}라우팅 경로를 삭제하는 명령어는 아래와 같다.route delete {목적지IP주소}참고문서"경로", 윈도우 서버 2008, MSDN, 2023년 10월 5일. @원문보기 2024. 9. 4.
스프링 부트 IPv4 주소 우선 사용 설정 스프링 부트(Spring Boot)에서 IPv4 주소를 우선적으로 사용하도록 설정하려면 아래의 자바 실행 옵션을 추가해야 한다. 바인딩 주소를 IPv4로 설정하는 것으로 IPv4로 통신하도록 설정할 수 있지만 바인딩 주소에 제한이 발생하는 단점이 있기에 아래의 설정을 추가하는 방법을 권장한다.-Djava.net.preferIPv4Stack=true스프링 부트 프로젝트에서 'Run As' → 'Run Configurations'로 이동한다.  'Spring Boot App' → 'VM arguments:' 화면으로 이동하여 아래의 사진처럼 IPv4를 우선적으로 사용하여 통신하도록 설정한다.스프링 부트를 재실행하면 IPv4를 사용하여 통신하는 것을 확인할 수 있다. 자바는 IPv6와 IPv4 둘 다 통신이 .. 2024. 8. 30.
[MariaDB] 조회/수정/삽입 등 쿼리 실행 시간이 늘어났을 때 조치 방법 MariaDB에서 조회(SELECT)와 수정(UPDATE), 삽입(INSERT) 등을 수행하는 쿼리의 실행 시간이 늘어났을 때 일반적으로 활용할 수 있는 조치 방법은 아래와 같이 3가지가 있다.1. DB 메모리 사용량을 늘린다.MariaDB가 사용하는 메모리 사용량을 늘리면 캐싱을 통해 처리 시간을 단축시킬 수 있다. 자세한 내용은 아래의 글에 설명되어 있다.MariaDB 메모리 설정 확인 쿼리, 2024년 8월 21일. @원문보기2. 인덱스 순서를 조정한다.인덱스가 너무 많으면 삽입과 수정시 정렬을 수행하기 위해 실행 시간이 오래 걸릴 수 있다. 또한 조회시 적절하게 인덱스를 활용하지 못 하면 풀스캔을 수행하여 실행 시간이 오래 걸릴 수 있다. 해당 테이블을 활용하는 쿼리의 중요도에 따라 적절하게 인덱.. 2024. 8. 22.
MariaDB 메모리 설정 확인 쿼리 MariaDB에서 메모리 설정을 확인하는 쿼리는 아래와 같다. 각 설정별 메모리 크기는 'my.ini' 파일에서 설정할 수 있다.SELECT @@innodb_buffer_pool_size, @@key_buffer_size, @@innodb_log_buffer_size, @@tmp_table_size, @@sort_buffer_size, @@read_buffer_size, @@read_rnd_buffer_size, @@join_buffer_size, @@thread_stack, @@binlog_cache_size, @@max_connections;참고문서"InnoDB Buffer Pool", MariaDB 문서, 2023년 8월 18일. @원문보기 2024. 8. 21.
[IT 용어] ESLint 정의ESLint는 자바스크립트 코드를 분석하여 문제점을 알려주는 정적 분석 도구이다. 코딩 스타일 등의 자체 규칙을 설정할 수 있다.기타ESLint는 코딩스타일을 통일해야 하는 대부분의 개발 프로젝트에서 사용하기 적합하다. 특히 숙련도가 낮은 인원들이 많은 상황에서 ESLint를 사용하면 최저 코드 품질을 방어하는데 도움이 된다. 참고문서ESLint, 위키백과, 2023년 4월 14일. @원문보기 2024. 8. 20.
[CURL] 웹 서버의 HTTP2 통신 여부 확인 방법 CURL을 활용하여 웹 서버가 HTTP2 통신을 지원하는지 확인하는 명령어는 아래와 같다.curl -I --http2 {주소}참고문서"curl.1 the manpage", CURL. @원문보기 2024. 8. 19.
[우분투 22.04] 레디스(Redis) 설치 방법 우분투에서 레디스(Redis)를 설치하는 방법은 크게 두 가지가 있다. 첫 번째는 'apt-get'으로 간편하게 명령어 한 줄로 자동으로 설치하는 방법이다. 이 방법은 설치가 간단하나 경로 관리가 필요한 실제 업무 때는 사용하지 못 한다.자동 설치 방법아래의 명령어를 입력하여 패키지 목록 업데이트 후 레디스를 설치한다.apt-get updateapt-get upgradeapt-get install redis-server아래의 명령어로 설치된 레디스의 버전을 확인할 수 있다. 버전이 잘 나타난다면 레디스가 잘 설치된 것이다.redis-server --version수동 설치 방법수동 설치 방법은 아래의 글에서 확인할 수 있다.[우분투 22.04] 레디스(Redis) 수동 설치, 공학코드, 2024년 8월 4.. 2024. 8. 18.
[우분투 22.04] 레디스(Redis) 설치 오류 "redis is not in the sudoers file." 해결 방법 현상과 원인레디스를 설치할 때 계정이 sudo 권한이 없으면 아래와 같은 메시지가 발생한다.redis is not in the sudoers file. This incident will be reported.해결 방법아래의 명령어를 입력하여 sudo 권한을 부여하기 위한 파일 권한을 조정하고 'sudoers' 파일에 편집 모드로 진입한다.ls -al /etc/sudoerschmod 700 /etc/sudoersls -al /etc/sudoersvi /etc/sudoers아래처럼 계정에 sudo 권한을 부여한다.{계정명} ALL=(ALL) ALL아래의 명령어를 입력하여 권한을 원래대로 돌려 놓는다.chmod 440 /etc/sudoersls -al /etc/sudoers다시 설치를 시도하면 잘 동작할 것.. 2024. 8. 16.
[Vue.js] Visual Studio Code에서 NPM을 못 찾는 경우 Vue.js 개발 환경을 구성할 때 Visual Studio Conde의 터미널에서 NPM을 못 찾는 경우 터미널을 Git Bash 또는 PowerShell로 변경하면 NPM을 잘 찾을 수 있다.현상아래와 같은 오류 메시지가 나타나며 NPM의 버전을 못 찾는다.C:\frontend>npm -vnode:internal/modules/cjs/loader:1080 throw err; ^Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15) a.. 2024. 8. 11.
[우분투 22.04] 레디스(Redis) 오류 "This systems seems to use systemd" 해결 방법 현상과 원인 레디스를 기본 설치 스크립트를 활용하여 설치할 때 아래와 같이 메시지가 나타나면서 설치 진행이 안 되는 경우가 있다. 이를 해결하기 위해서는 기본 설치 스크립트의 특정 부분을 수정해야 한다.Welcome to the redis service installerThis script will help you easily set up a running redis serverThis systems seems to use systemd.Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!해결 방법아래와 같이 명령어를 입력하여 설치 스크립트를 수정하는 .. 2024. 8. 10.
[우분투 22.04] 레디스(Redis) 수동 설치 본 글에서는 우분투(Ubuntu) 22.04 환경에서 레디스(Redis) 7.2.5를 설치하는 방법을 안내한다.레디스 다운로드아래의 명령어를 입력하여 레디스를 다운로드 받는다.wget https://download.redis.io/releases/redis-7.2.5.tar.gz레디스 다운로드 주소: https://redis.io/downloads/레디스 버전별 목록: https://download.redis.io/releases/ 레디스 설치아래의 명령어를 입력하여 다운로드한 레디스 파일을 압축해제 한다.tar zxvf redis-7.2.5.tar.gz아래의 명령어를 입력하여 레디스가 설치가능한지 확인한다.cd redis-7.2.5/make && make test아래의 명령어를 입력하여 레디스 설치를 .. 2024. 8. 4.
[우분투 22.04] 스토리지(SSD/HDD) S.M.A.R.T. 확인 방법 우분투에서 S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)로 SSD와 HDD 상태를 확인하는 방법은 아래와 같다.블록 디바이스 목록 확인아래의 명령어를 입력하여 블록 디바이스 목록을 확인한다. lsblkS.M.A.R.T .상태 확인아래의 명령어를 입력하여 스토리지 장치의 상태를 확인한다.smartctl -H {장치명}'test result'가 'PASSED'로 나오면 정상이다.참고문서"lsblk - list block devices", 우분투 지침서. @원문보기"smartctl - Control and Monitor Utility for SMART Disks", 우분투 지침서. @원문보기 2024. 7. 26.
[오라클 19c] 계정(사용자) 삭제 쿼리 오라클 데이터베이스에서 계정을 삭제하는 쿼리는 아래와 같이 작성할 수 있다.DROP USER {계정명} CASCADE;참고문서"DROP USER", 오라클 19c 매뉴얼. @원문보기 2024. 7. 9.
[메이븐] 스프링 부트에서 Javadoc 사용하기 의존성 추가메이븐(Maven)으로 의존성을 관리하는 환경의 스프링 부트에서 'Javadoc'을 사용하려면 'pom.xml' 파일의 'dependencies' 사이에 아래의 의존성을 추가한다. org.apache.maven.plugins maven-javadoc-plugin 3.7.0플러그인 설정 'pom.xml' 파일의 'plugins' 사이에 아래의 설정을 추가한다. org.apache.maven.plugins maven-javadoc-plugin openframework.css true 128m 256m true false 1.6 true true .. 2024. 6. 20.
스프링 부트와 호환되는 springdoc-openapi 버전 목록 스프링 부트(Spring boot)에서 스웨거(Swagger)를 사용하기 위해 'springdoc-openapi'를 설치하던 중에 버전별로 호환되는 것이 달라서 정리한다.호환 목록스프링 부트 버전지원하는 springdoc-openapi 최저 버전3.0.x2.0.x+2.7.x, 1.5.x1.6.0+2.6.x, 1.5.x1.6.0+2.5.x, 1.5.x1.5.9+2.4.x, 1.5.x1.5.0+2.3.x, 1.5.x1.4.0+2.2.x, 1.5.x1.2.1+2.0.x, 1.5.x1.0.0+참고문서"What is the compatibility matrix of springdoc-openapi with spring-boot ?", FAQ, OpenAPI 3 & Spring Boot. @원문보기"SpringDo.. 2024. 6. 14.
[우분투 22.04] "zlib.h: No such file or directory" 오류 해결 방법 현상아래의 메시지가 출력된다.fatal error: zlib.h: No such file or directory 해결 방법아래의 명령어로 'zlib'를 설치한다.apt-get install libz-dev 2024. 6. 13.
[우분투 22.04] 설치한 OpenSSL 경로 및 정보 확인 방법 OpenSSL이 설치된 경로를 확인하려면 아래의 명령어를 입력한다.which opensslOpenSSL 관련 디렉토리 정보를 확인하려면 아래의 명령어를 입력한다.openssl version -a 2024. 6. 12.
젠킨스(Jenkins) 오류 - "hudson.plugins.git.GitException: Could not init" 현상아래의 메시지가 빌드 로그에 나타난다.Started by GitLab push by userRunning as SYSTEMBuilding in workspace /home/jenkins/.jenkins/workspace/projectThe recommended git tool is: NONEusing credential 0000000-0000-0000-0000-Cloning the remote Git repositoryCloning repository https://127.0.0.1:443/road_toll/project > git init /home/jenkins/.jenkins/workspace/project # timeout=10ERROR: Error cloning remote repo 'ori.. 2024. 6. 11.
톰캣과 OpenSSL 버전 호환 이슈 "org.apache.tomcat.jni.Error: 70023" 현상톰캣 9에서 HTTPS 프로토콜을 사용하도록 설정하기 위해 네이티브 라이브러리를 사용하려고 했는데 아래와 같이 오류 메시지가 나오면서 정상적으로 동작하지 않았다.SEVERE [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Failed to initialize the SSLEngine. org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform원인 및 해결 방법이는 톰캣과 OpenSSL 버전이 맞지 않아서 발생하는 문제였다. 기존 OpenSSL 버전이 'OpenSSL 3.0.2 15 Mar 2022 (Library.. 2024. 6. 10.