목록DEV&OPS (260)
삶 가운데 남긴 기록 AACII.TISTORY.COM
git 클라이언트 설치https://git-scm.com/ Git git-scm.com여기서는 윈도우를 기준으로 설명합니다. git 로컬 저장소 만들기윈도우의 cmd를 사용해도 되지만 linux 스타일인 위에서 설치한 git bash를 실행시켜 작업하겠습니다.d:\ 드라이브로 이동합니다.cd /dgit이라는 디렉터리를 생성한 뒤 이동합니다.mkdir gitcd git여기에 다시 gitwork 디렉토리를 생성한 뒤 이동합니다.mkdir gitworkcd gitwork깃 저장소를 생성해서 초기화 하는 명령어를 실행합니다.git init그러면. git이라는 디렉터리가 하위에 자동생성되며 이 디렉터리가 git에서 관리하는 저장소라는 역할을 하게 됩니다.디렉터리 경로 앞에 점(.)을 붙이는 것은 리눅스에서 숨김..
gradle 8.5와 인텔리제이를 기준으로 합니다. Taskgradle은 기본적으로 task를 작성하고 실행합니다.task는 실행할 처리들로 이루어진 명령어들을 작성해둔 것입니다.이렇게 정의한 task는 gradle 명령어로 실행할 수 있습니다.tasks.register('enjoy') { doLast { println("================================================"); println("enjoy gradle build system."); println("================================================"); }}build.gradle 파일의 끝에 위 task내용을 등록합시다...
groovygroovy는 jvm용 스크립트언어이며 gradle은 groovy를 사용한 빌드 도구입니다.gradle 소프트웨어 내부에 groovy가 포함되어 있으므로 따로 설치 하지 않아도 됩니다만,여기서는 groovy언어 연습용으로 설치해보도록 합시다. 그루비 다운로드 링크: https://groovy.apache.org/download.html The Apache Groovy programming language - Download* Modules:2.4.X: "ant", "bsf", "console", "docgenerator", "groovydoc", "groovysh", "jmx", "json", "jsr223", "nio", "servlet", "sql", "swing", "test", "tem..
WSL ubuntu 24 기준입니다. NVM(Node Version Manager) 설치터미널을 열고 NVM을 설치하기 위한 스크립트를 다운로드하고 실행합니다.curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash curl 명령어로 스크립트를 다운로드하고 | bash 옵션으로 스크립트를 즉시 실행해서 설치를 진행하는 것입니다. 셸 초기화(설치 적용)설치 스크립트에서 ~/.bashrc 파일에 NVM을 로드하는 설정을 추가하기 때문에, 현재 터미널 세션에 변경사항을 적용하려면 셸을 다시 로드하거나 터미널을 재시작해야 합니다.source ~/.bashrc 제대로 적용되었는지 확인하기 위해 버전 확인을 해봅니다.nvm --v..
ubuntu 24 배포판 기준입니다.git 설치대부분의 WSL 배포판에는 git이 설치되어 있지만, git 이 설치되어 있지 않은 배포판도 많은 관계로 명시적으로 git을 설치하는 방법을 살펴보겠습니다. 1. 우분투 소프트웨어 repository에서 git을 설치합니다.sudo apt-get install git 2. 다 설치되었다면 설치된 버전을 확인해 봅니다.git --version 3. git 설정으로 사용자 이름과 메일 주소를 설정합니다. 여러 개발자가 협업하는 환경이라면 코드 변경자를 식별할 수 있게 해 줍니다.git config --global user.name "사용자이름"git config --global user.email "이메일주소" 개행 문자 차이 문제 윈도우와 리눅스는 개행문자(..
Windows 11 새로 설치 시 로컬(Local) 계정 생성 방법네트워크가 연결되지 않은 환경이거나 기존 윈도우 처럼 로컬 계정으로 운영체제에 로그인 하려면 윈도우 설치시 로컬 계정을 생성해야 합니다.Windows 11은 사용자(User)의 로그인을 Microsoft 계정이 기본 값으로 되어있습니다.네트워크 연결 없이 윈도우 11을 설치하다보면 인터넷 연결 설정 부분에서 막히게 됩니다.이 때 Shfit + F10 키를 눌러서 CMD 창을 실행하고 다음 명령어를 입력해줍니다.oobe\bypassnro그러면 재부팅 되면서 이전에는 없던 "인터넷 연결되어 있지 않음" 이라는 버튼이 생겨있습니다.그리고 나서 "제한된 설치로 계속" 을 선택하면 기존 윈도우10 처럼 로컬 계정을 생성하고 로그인 할 수 있게 됩니..
HTTPS 테스트용 SSL 사설 인증서 Tomcat 9 적용 방법여기서 HTTPS 포트는 8443 을 사용할 것입니다.CentOS7, JDK11, Tomcat9 기준으로 작성되었습니다. HTTPS 통신 Handshake 과정서버측: 서버 정보가 담긴 인증서와 공개키-개인키 쌍을 생성한 뒤 공개키를 인증기관(CA)에 등록합니다. (개인키는 서버측에서 관리하고 공개키는 인증기관에 등록되며 브라우저에 내장 됨)클라이언트 측: 실제 데이터를 암호화할 때 필요한 대칭키 자체를 이 인증기관에 등록된 공개키로 암호화해서 이 암호문을 서버측에 전송합니다.서버측: 클라이언트에서 전송된 암호문을 개인키(1에서 생성했던)를 써서 복호화하여 실제 클라이언트와 통신할 데이터를 암호화할 대칭키(암호키와 복호키가 같아서 대칭키)를..
자바 어플리케이션은 main()스레드 외에 병렬로 처리하는 스레드를 같이 실행할 수 있습니다. 보통은 단순하고 긴 작업이나 I/O작업들을 멀티 스레드로 병렬로 작업하는 것이 효율적입니다. 그러나, 너무 많은 스레드를 실행하면 각 스레드간 context switching 에 시간을 더 소비하게 되어 오히려 효율이 떨어지게 됩니다. java.lang.Thread 클래스로부터 extends 하거나 Runnable 인터페이스로부터 implements 해서 스레드를 생성할 수 있습니다. Runnable 구현 방법import java.awt.Toolkit;public class BeepTask implements Runnable { @Override public void run() { Toolkit toolkit..
WSL은 두 운영체제를 분리하여 네트워크로만 접근할 수 있게 하지 않고 직접 파일을 주고 받을 수 있습니다.윈도우에서 리눅스 파일 시스템을 실행할 수 있게 WSL은 리눅스 파일 시스템에서 수행되는 모든 작업을 NT 커널 작업으로 변환합니다. 가상 하드웨어 디스크(VHD)WSL 2는 모든 리눅스 파일을 ext4 파일 시스템을 사용하는 가상 하드웨어 디스크(VHD)에 저장합니다.VHD 파일은 처음 만들어질 때 최대 256GB 까지 늘어날 수 있도록 만들어지고 사용량에 따라 최대 제한에 도달할 때까지 자동으로 크기가 조절됩니다.한계에 도달하면 디스크 공간 부족 오류가 발생합니다.디스크 공간 부족을 해결하려면 다음 단계를 진행하여 VHD 크기를 확장합니다. 1. 실행중인 wsl의 인스턴스들을 종료wsl --s..
배포판 목록 조회wsl -lwsl --list 기본 배포판 설정위에서 조회한 배포판의 목록을 이용해서 --setdefault 또는 -s 매개변수로 WSL 기본 배포판을 지정할 수 있습니다.wsl --set-default 배포판이름 배포판 백업WSL의 배포판 패키지는 tar 파일로 내보내면 쉽게 백업할 수 있습니다.관리자 권한으로 명령 프롬프트에서 다음과 같이 export 할 수 있습니다.wsl --export 배포판이름 저장될윈도우경로\백업될파일이름.tar 백업된 배포판 복원 백업 파일이 c:\temp\ 경로에 복사되었다고 가정하면 다음과 같이 복원할 수 있습니다.이 c:\temp\ 경로는 배포판의 루트 파일 시스템이 설치됩니다.wsl --import 배포판새이름 c:\temp\ c:\temp\백업된파일..
WSL2WSL은 리눅스 가상 머신(VM)을 실행하지 않고도 기본적인 리눅스 바이너리를 그대로 윈도우에서 실행할 수 있드록 해줍니다. 단순히 리눅스 bash 쉘만 제공하는 것을 넘어서 실제 리눅스와 똑같이 보이도록 동작하게 해줍니다.단, 윈도우10 버전 1903 빌드 18362 이상에서 설치 가능합니다. WSL2 기능 활성화1.윈도우의 PowerShell을 관리자 권한으로 실행합니다.시작 버튼 > powershell 입력 > 관리자 권한으로 실행 2. 아래 명령어를 입력해서 wsl을 활성화 합니다.dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enabl..
ORA-01704JAVA로 ORACLE DBMS에 JDBC로 프로그램을 작성할 때,문자열이 4000자가 넘어가면 일반 String statement로 insert/update시 ORA-01704를 발생시키며 안됩니다. 그럴 때 java.sql.Clob 클래스를 사용해서 preparedStatement.setClob()를 써서 구현하면 CLOB 데이터를 insert/update 할 수 있습니다. 예제는 아래와 같습니다.import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql...
POI 라이브러리 임시 파일 저장 경로 지정자바로 오피스(엑셀) 파일을 다룰 때 흔히 사용하는 org.ahache.poi 라이브러리를 사용할 때, 엑셀 파일 작성을 위한 데이터와 스타일 정보들이 정의된 xml 형식의 임시 파일들이 생성되게 됩니다.이 임시 파일들이 생성되는 경로는 기본적으로 시스템의 임시 디렉터리 경로를 사용합니다.그런데 리눅스에서는 기본 임시 파티션인 /tmp 을 사용하게 되는데, 이 /tmp 파티션이 용량이 부족한 경우가 발생할 수 있습니다.public class TempDirCheck { public static void main(String[] args) { String tempDir = System.getProperty("java.io.tmpdir"); ..
자바 SWT/JFace 를 이용한 GUI 애플리케이션에서 실행중인 PC의 파일(텍스트)을 읽을 수 있는 파일 열기 대화 상자의 간단한 사용법에 대해 알아보겠습니다.import org.eclipse.swt.SWT;import org.eclipse.swt.layout.FillLayout;import org.eclipse.swt.widgets.*;import org.eclipse.jface.window.ApplicationWindow;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class TextFileReaderApp extends ApplicationWindow { public Text..
SWT Text 위젯org.eclipse.swt.widgets.Text 위젯은 간단한 텍스트를 입력받을 때 사용하는 위젯입니다.addModifyListener() : 텍스트를 수정했음을 알리기 위한 리스너를 추가addSelectionListener() : 컨트롤이 선택되었음을 알리기 위한 리스너를 추가addVerifyListener() : 텍스트에 변화가 일어났는지 검증하기 위한 리스너를 추가append() : 현 텍스트에 주어진 문자열을 추가insert() : 현 텍스트를 주어진 문자열로 대체copy(), cut(), paste() : 선택된 문자들을 클립보드로 옮기거나 클립보드의 내용으로 대체setSelection(), selectAll() : 코드 상에서 직접 선택 영역을 설정setEchoChara..