목록DEV&OPS (249)
삶 가운데 남긴 기록 AACII.TISTORY.COM
Spring 개발을 위해 STS를 다운로드 후 압축을 풀다가 파일 경로가 260자 이상 제한에 걸려서 압축 풀기에 실패했습니다. 반디집 설정에도 260자 넘어도 압축이 풀리도록 설정되어 있는데도 실패했죠. 반디집은 환경설정 > 기타 항목에 있습니다. Windows 10 1607 버전부터는 NTFS 파일시스템에서 길이 제한을 늘릴 수 있습니다. 1. 윈도우 키 + R 키를 눌러서 gpedit.msc 를 입력해서 그룹 정책 편집기를 실행합니다. 2. 컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 파일 시스템 경로를 찾아 갑니다. 3. "Win32 긴 경로 사용"을 선택해 사용 상태로 바꿔줍니다. 4. cmd 명령 프롬프트를 열고 gpupdate 를 실행해서 그룹 정책을 업데이트 합니다. 그러면 STS 압축..
리눅스 서버를 운영하다가 종종 /var/cache 디렉터리의 용량이 부족한 경우가 있습니다. 이럴 때 대처하는 방법을 소개합니다. 캐시 파일 확인 먼저 /var/cache 디렉터리 내의 파일 및 하위 디렉터리를 확인하여 어떤 파일이 공간을 차지하고 있는지 확인합니다. du -sh /var/cache/* 용량 크기순으로 정렬된 목록이 나타납니다. 캐시 파일 정리 불필요한 캐시 파일이나 오래된 파일을 삭제하여 공간을 확보할 수 있습니다. sudo yum clean all 오래된 패키지 캐시를 삭제할 수 있습니다. 패키지 관리 도구 사용 시스템에서 사용하지 않는 패키지를 확인하고 삭제하여 불필요한 파일을 제거합니다. sudo yum autoremove 디스크 용량 확인 df -h
사전 준비 여기서는 리눅스(CentOS)에서 설치시 사용했던 oracle 계정으로 작업합니다. https://blog.aacii.net/277 CentOS 7 oracle 19c 설치 오라클 데이터베이스 19c 다운로드 https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 파일: Linux x86-64 종류: zip 자신의 운영체제에 맞는 zip 파일을 다운로드합니다. 호스트 네임 등 blog.aacii.net 먼저 백업 덤프 파일이 저장될 디렉토리와 그 별칭을 생성해야 합니다. 안그러면 ORA-39002, ORA-39070, ORA-39087 에러 삼종 세트를 보게되실 겁니다. 여기서 dump 및 복원 시..
사용자 생성 먼저 새로운 사용자를 생성해야 합니다. CREATE USER 사용자이름 WITH PASSWORD '사용자패스워드'; 데이터베이스 생성 생성된 사용자가 사용할 새 데이터 베이스를 생성합니다. CREATE DATABASE 생성할데이터베이스이름; 사용자에게 권한 부여 GRANT ALL PRIVILEGES ON DATABASE 생성된데이터베이스 TO 생성된사용자이름; 사용자 스키마 생성 CREATE SCHEMA 생성할스키마 AUTHORIZATION 사용자이름; 확인 \du -- 사용자 목록 확인 \l -- 데이터베이스 목록 확인 \dn -- 스키마 목록 확인 이제 이 스키마를 사용하여 해당 사용자가 테이블, 뷰 등을 생성할 수 있습니다.
application 실행시 arguments 지정 방법 메뉴 바에서 "Run" 또는 "Debug"을 선택한 후, "Edit Configurations"을 선택합니다. 원하는 구성(예: Application)을 선택하고, "Configuration" 탭에서 "Program arguments" 섹션에 인수를 입력합니다. "Run/Debug Configurations" 대화 상자에서 "Program arguments" 필드에 직접 값을 입력할 수 있습니다 "Run/Debug Configurations" 대화 상자에서 "Environment variables" 섹션을 통해 환경 변수를 설정할 수 있습니다. Runnable JAR 파일로 export 방법 1. 프로젝트 설정 확인: 프로젝트가 메이븐(Maven)..
세상에는 여러 시스템이 있고 한글 인코딩 방식은 많습니다. 개발자에게 한글 인코딩 문제는 생각보다 자주 마주치는 문제입니다. 자바 애플리케이션이 실행되는 런타임 환경에서 인코딩을 지정할 수 있는 옵션이 있었으니... 바로 -Dfile.encoding=utf-8 되시겠습니다. 애플리케이션 실행 시 아래와 같이 옵션을 추가해주시면 자바 런타임 인코딩 방식이 지정됩니다. java -Dfile.encoding -jar example.jar args0, args1, ... WAS인 tomcat도 실행시 자바 런타임에서 실행되기 때문에 tomcat의 start 스크립트에도 인코딩 옵션을 추가할 수 있습니다. 운영체제 기본 인코딩과 무관하게 JVM을 통해 실행시 옵션으로 인코딩을 지정하기 때문에 편리합니다. 다음은 ..
이번에는 재귀 호출을 이용하여 특정 폴더의 내용을 모두 삭제하는 예제를 구현해봤습니다. import java.io.File; public class DeleteDirectoryExample { public static void main(String[] args) { String directoryPath = "C:/Temp"; // 윈도우 실행 기준 File directory = new File(directoryPath); // 디렉토리가 존재하면 삭제 수행 if (directory.exists()) { deleteDirectory(directory); System.out.println("디렉토리 및 하위 경로가 삭제되었습니다."); } else { System.out.println("디렉토리가 존재하지 ..
자바로 텍스트 파일을 생성해서 자장할 때 FileWriter(arg1, arg2) 메서드의 arg2 두번째 인수가 false냐 true냐에 따라 기존 파일을 overwrite할지 append 할지 결정 할 수있습니다. import java.io.FileWriter; import java.io.IOException; public class FileWriterExample { public static void main(String[] args) { // 파일 경로 및 파일명 설정(윈도우 기준) String filePath = "C:/예제 파일이름.txt"; try { // FileWriter 객체 생성 //두 번째 매개변수로 false를 전달하면 기존 파일이 있으면 내용을 덮어씀(overwrite) //tr..
날짜 및 시간을 지정한 형식 yyyyMMddHHmmss( 년도월일시분초)으로 출력하는 예제 입니다. import java.text.SimpleDateFormat; import java.util.Date; public class CurrentDateTimeExample { public static void main(String[] args) { // 현재 날짜 및 시간 가져오기 Date currentDate = new Date(); // 원하는 형식으로 날짜 및 시간 포맷팅 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); String formattedDateTime = dateFormat.format(currentDate); //..
groovy groovy는 jvm용 스크립트언어이며 gradle은 groovy를 사용한 빌드 도구입니다. gradle 소프트웨어 내부에 groovy가 포함되어 있으므로 따로 설치 하지 않아도 됩니다만, 여기서는 groovy언어 연습용으로 설치해보도록 합시다. 그루비 다운로드 링크: https://groovy.apache.org/download.html
자바에서 String을 치환할 때 보통 replace()와 replaceAll()을 사용합니다. 결론부터 말하자면 replaceAll()은 정규식이 올 수 있다는 것이 차이입니다. 일반적인 문자열을 치환할 때 속도가 빠른 replace() 사용하고 보다 복잡한 치환을 할 때는 정규식을 지원하는 replaceAll()을 사용합니다. 아래 예제에서 보면 replaceAll()은 . 이나 대괄호가 있으면 정규식으로 인식하여 replace()와 다른 결과가 나온다는 것을 알 수 있습니다. package test; public class ReplaceTest { public static void main(String[] args) { String sampleText = "co.kr//123-abcd//[/]-aa..
한글(UTF-8)설정 인텔리제이 설치 폴더\bin\idea64.exe.vmoptions 해당 파일의 마지막 줄에 아래와 같이 추가 합니다. -Dfile.encoding=UTF-8 프로젝트 SDK(JDK) 설정 인텔리제이 File > Project Structure 메뉴 Project Settings > Project 항목의 Project SDK 항목에서 프로젝트에 맞는 JDK를 선택합니다. Project Settings > Project 항목의 Project language level도 맞는 JDK 버전을 선택합니다. Project Settings > Modules 항목의 Language level도 맞는 JDK 버전을 선택합니다. Gradle 빌드 환경 설정 인텔리제이 File > Settings > ..
https://www.postgresql.org/download/linux/redhat/ PostgreSQL: Linux downloads (Red Hat family) Linux downloads (Red Hat family) The Red Hat family of distributions includes: Red Hat Enterprise Linux Rocky Linux AlmaLinux CentOS (7 and 6 only) Fedora Oracle Linux and others. PostgreSQL is available on these platforms by default. However, each version www.postgresql.org 에 방문하면 자신의 환경에 맞는 설치 스크립트를 ..
1. host name 등록 sudo vi /etc/hosts ip와 호스트 네임 등록 후 저장합니다. 2. 라이센스 발급 Technet 효율적인 시스템 관리를 위한 기술 전문 포탈, 테크넷서비스 technet.tmaxsoft.com 티맥스 소프트 가입 후 로그인 데모라이선스 신청 버튼 클릭 JEUS Version 5fix#19 or Later 을 선택 후 제출하기 버튼 클릭 그러면 이메일로 라이센스 파일이 첨부되어 옵니다. 리눅스용 라이센스 license.dat 파일을 license 으로 파일명 변경 3. 설치파일 다운로드 https://technet.tmaxsoft.com/ko/front/download/findDownloadList.do?cmProductCode=0101 TmaxSoft Techni..
CATALINA_HOME과 CATALINA_BASE를 분리 Tomcat 하나에서 여러 web application 을 context root를 분리해서 구동시킬 수 있습니다. 그런데 $CATALINA_HOME과 $CATALINA_BASE를 분리해서 하나의 Tomcat으로 여러개의 인스턴스를 각각 다른 포트 번호로 구동할 수도 있습니다. 여러 인스턴스로 구동하게 되면 각각의 구동 환경을 분리해서 webapp을 구동시킬 수 있습니다. 이렇게 하면 tomcat을 업데이트 할 때 인스턴스는 그대로 두고 tomcat만 교체하면 되기 때문에 편리합니다. server.xml 파일 하나에 여러 호스트 정보를 등록해서 관리 할 수도 있는데 이런 경우 Tomcat 재구동시 모든 서비스들이 재시작되므로 추천하지 않습니다. ..