목록DEV&OPS (247)
삶 가운데 남긴 기록 AACII.TISTORY.COM
사용자 생성 먼저 새로운 사용자를 생성해야 합니다. 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 재구동시 모든 서비스들이 재시작되므로 추천하지 않습니다. ..
설치 가능한 JDK 확인 sudo yum list java*jdk-devel 설치 가능한 JDK 리스트가 출력됩니다. openjdk11 설치 sudo 나 root계정이 필요합니다. sudo yum install java-11-openjdk-devel.x86_64 JAVA_HOME 설정 .bashrc는 세션이 시작될 때 자동으로 환경 변수가 등록되며 .bash_profile 은 1회용 환경변수이므로 세션이 달라지면 사라집니다. 우선 jdk의 경로를 확인합니다. find / -name "javac" 2>/dev/null 여기서는 로그인한 계정의 홈 디렉토리에있는 .bashrc를 수정하도록 하겠습니다. vi ~/.bashrc 여기서의 JAVA_HOME 경로는 위에서 설치한 jdk의 경로를 지정해둡니다. 만약 ..
gitlab 설치 시에 기본 port가 8080 입니다. 그런데 8080은 흔히 WAS에서 사용하는 포트기 때문에 보통 gitlab의 포트를 8080 포트가 아닌 다른 포트로 변경해서 설치합니다. (external_url 설정으로...) 그런데 gitlab을 구동했을 때 8080 포트가 사용중인 경우가 있습니다. 깃랩 서비스가 시작된 후 사용 중인 포트를 조사해보면 sudo netstat -nltp puma가 8080 포트를 점유중인것을 알 수 있습니다. puma 구글에서 검색해보면 unicorn 설정이 많이 나오지만 gitlab 14.0 부터는 unicorn 의 지원을 제외한다고 합니다. 그런데 puma 가 8080 포트를 기본 값으로 사용하고 있어서 tomcat같은 was를 사용할 때 8080 포트가..
100 : 현재 데이터를 서버가 받은 상태 200 : 에러없는 정상 처리 204 : 정상처리되었지만 서버에서 응답 데이터가 없음 301 : 요청 페이지가 새 URL로 변경되었음 304 : 기존 데이터와 변경된 것이 없음 400 : Request에 문제가 있어서 서버가 인식 할 수 없음 403 : 서버에서 허락되지 않음 404 : URL에서 자원을 찾을 수 없음 406 : 전송 방식(method)가 허락되지 않음 500 : 서버 처리시 문제 발생 502 : 게이트웨이나 프록시 상태 문제(과부하) 503 : 일시적 과부하 혹은 서비스 중단 504 : 서비스가 타임 아웃 되어 처리되지 못함.