반응형

전체 글 384

(network) 서브넷 마스크 개념 정리 및 문제 풀이

서브넷 마스크(+ 서브넷팅) 개념 정리 및 문제 풀이해당 포스팅은 네트워크 영역에서 헷갈릴 수 있는 부분인 '서브넷 마스크'에 대한 개념적 이해를 돕기 위해 정리한 내용입니다.서브넷 마스크 문제는 정보처리기사, 리눅스 마스터 등 자격증 시험에도 출제되는 개념이기 때문에 한번 잘 이해해 두면 도움이 될 것이라고 생각합니다.(아래 내용은 IPv4 주소 체계 및 IP 주소 클래스에 대한 기본적인 이해가 우선적으로 필요합니다.) 1. IP 주소의 '네트워크 영역'과 '호스트 영역' 네트워크 영역IP 주소는 '네트워크 영역'과 '호스트 영역'으로 나눠서 볼 수 있는데요.'네트워크 영역'의 경우 IP 주소 앞부분에 위치하며, 특정 네트워크를 식별하는 데 사용됩니다.네트워크 영역은 동일한 네트워크에 있는 모든 장치들..

맥북 유니코드(UTF-8) 텍스트 인코딩이 적용되지 않습니다. 해결 방법

문서를 열 수 없습니다. 유니코드(UTF-8) 텍스트 인코딩이 적용되지 않습니다. 문제 해결 방법 해당 포스팅은 macOS 환경에서 텍스트 파일을 열 때 다음과 같이 '문서를 열 수 없습니다. 유니코드(UTF-8) 텍스트 인코딩이 적용되지 않습니다.' 문제가 발생하였을 때의 해결 방안에 대해 정리한 내용입니다. 먼저 텍스트 파일을 열 때 이러한 문제가 발생하는 이유는 열고자 하는 텍스트 파일의 인코딩 설정이 macOS의 기본 인코딩 설정인 'UTF-8'과 다르기 때문에 발생하는 것인데요.(특히 한글 인코딩 방식인 'EUC-KR' 또는 'CP949'로 저장된 텍스트 파일을 맥 환경에서 열 때 발생할 수 있습니다.) 이러한 인코딩 문제를 해결할 수 있는 방법으로는 아래와 같은 방법이 있으며, 자세한 내용은 ..

Programming/MacOS 2024.08.29

(spring project) log4j2 로그 파일 분리하기

spring 프로젝트 log4j2 로그 파일 분리하기 해당 포스팅은 log4j2를 사용하는 스프링 프로젝트에서 특정 용도의 로그에 대한 로그 파일을 별도로 분리하는 방법을 정리한 내용입니다.혹시나 log4j2가 아니라 logback을 쓰시더라도 java 코드단의 적용 방식은 같기 때문에 로그 설정 xml 파일의 작성 방법만 logback에 맞춰서 적용하시면 됩니다. 1. 로그 파일을 분리하려는 이유먼저 로그 파일의 분리를 고려하게 된 가장 큰 이유는 결국 잘 관리된 로그를 통해 서비스 유지보수 및 운영을 더 효율적으로 하기 위함인데요. 기본적으로 서비스의 전체 로그는 RollingFile의 'TimeBasedTriggeringPolicy' 및 'SizeBasedTriggeringPolicy'를 통해 날짜..

Programming/Spring 2024.08.25

(linux) /etc/profile ~/.bash_profile /etc/bashrc ~/.bashrc 환경 파일 내용 정리

(Linux) /etc/profile ~/.bash_profile /etc/bashrc ~/.bashrc 환경 파일 내용 정리   해당 포스팅은 리눅스를 공부하는 과정에서 '/etc/profile', '~/.bash_profile', '/etc/bashrc', '~/.bashrc' 각 환경 설정 파일의 역할과 차이점, 어떤 순서로 동작하는지에 대해 정리한 내용입니다.(아래 내용은 bash shell이 사용된다는 가정하에 내용으로 다른 쉘을 사용하는 경우 적용되는 파일 명이 조금씩 다를 수 있습니다.) 각 파일의 역할과 세부적인 내용* 내용 중 등장하는 로그인 쉘(login shell)과 비로그인 쉘(non-login shell)에 대해서는 아래에 추가로 정리해 놓았으니 아래 내용을 먼저 보고 해당 내용을..

Programming/Linux 2024.08.21

리눅스 vim(vi) 편집기 문자열 치환 명령어 정리

linux vim(vi) 편집기 문자열 치환 명령어 정리 linux vim(및 vi) 편집기에서는 문자열 치환이 필요한 경우 다음과 같은 형식의 명령어를 사용하여 문자열을 치환할 수 있는데요.아래 내용을 통해 해당 명령어를 사용하는 여러 옵션 및 예시들을 살펴보겠습니다.(문자열 치환은 편집기의 ex 모드에서 진행됩니다.)  1. 기본 치환 명령어#기본 형식: s/검색할문자열/바꿀문자열/#현재 커서 라인에서 첫 번째로 발견되는 'hello' 문자열을 'world'로 치환: s/hello/world/ 기본적인 치환 명령어는 's/검색할문자열/바꿀문자열/' 형식이며, 해당 명령어는 현재 커서가 위치한 라인에서 첫 번째로 일치하는 '검색할문자열'을 '바꿀문자열'으로 치환합니다.  2. 현재 라인에 대해 일치하는..

Programming/Linux 2024.08.18

CLOB, BLOB 데이터 타입과 mybatis에서 CLOB, BLOB 사용 방법

CLOB, BLOB 데이터 타입과 mybatis에서 CLOB, BLOB insert 및 select 사용 방법 LOB(Large Object)LOB은 단어 뜻처럼 대용량의 객체(데이터)를 저장하기 위한 데이터 타입들을 지칭하는 용어입니다.LOB은 텍스트 문서나 이미지, 오디오, 동영상 파일과 같은 데이터베이스 테이블에 저장되는 일반적인 데이터 타입보다 훨씬 큰 데이터를 관리할 때 사용되며, 주로 'CLOB(Character Large Object)'과 'BLOB(Binary Large Object)' 두 가지 유형으로 나뉩니다. Oracle 관점에서 VARCHAR2가 최대 4000byte까지 지원하기 때문에 4000byte 이상의 데이터 저장에는 CLOB 또는 BLOB이 사용됩니다.또한 LONG 타입의 ..

Programming/Oracle 2024.08.15

Could not load JDBC driver class [org.h2.Driver] 발생 원인과 해결 방법

Could not load JDBC driver class [org.h2.Driver] 발생 원인과 해결 방법org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:PropertyAccessExcep..

Programming/Error 2024.08.11

(Jeus) The server adminServer initialization failed because of a stream closed error.

The server adminServer initialization failed because of a stream closed error.해당 문제는 ubnutu(20.04.6 LTS) 환경에서 jeus(8.5)를 설치하여 adminServer를 실행하는 과정에서 발생한 문제입니다. 먼저 jeus가 설치된 디렉터리 하위 /bin 디렉터리에서 './startDomainAdminServer -u administrator -p 패스워드' command를 통해 adminServer를 실행하였습니다.(이때 실행 명령어 중 -u, -p 에서 사용되는 아이디 및 패스워드는 jeus 설치 시 설정한 값을 사용합니다.)  그리고 다음과 같은 Exception이 발생하며 adminServer 실행에 실패했는데요. Exc..

Programming/Error 2024.08.05

ubuntu jdk tar.gz 설치 방법 (+ update-alternatives란)

Ubuntu JDK tar.gz 설치 방법 (+ update-alternatives란)ubuntu에 jdk tar.gz 설치 방법을 찾아보던 중 'update-alternatives'를 활용하는 간단한 방법을 찾아 공유하면서 update-alternatives 커맨드 툴에 대해서도 함께 정리한 내용입니다. jdk tar.gz 설치 방법#Login as rootsudo su#create jdk directorymkdir /opt/jdk#uncompress, change to your file nametar -zxf jdk-8u202-linux-x64.tar.gz -C /opt/jdk#check if files are therels /opt/jdk#update alternatives so the comman..

Programming/Linux 2024.07.24

맥북 가상머신 환경(UTM)에 Linux 설치하기

맥북 가상머신 환경(UTM)에 Linux 설치하기해당 포스팅은 '맥북(macOS)에서 UTM을 통한 가상머신 환경 위에 Linux(Ubuntu)를 설치하는 과정'을 정리한 내용입니다. UTM 외에도 VirtualBox, VMWare, Parallels 등 맥에서 사용할 수 있는 가상화 소프트웨어가 있으며 유무료 여부, 호환성, 성능, 사용자 인터페이스 등의 차이가 있는데 해당 예시에서는 쉽게 무료로 사용할 수 있는 오픈 소스인 UTM을 사용하였습니다. 작업 환경은 인텔 맥 환경에서 진행되었으며, 전체 설치 과정은 크게 아래 순서에 따라 진행됩니다. 1. UTM 설치2. Ubuntu Image 다운로드3. UTM 가상머신 환경에 Linux 설치 1. UTM 설치 UTMSecurely run operatin..

Programming/MacOS 2024.07.22

ROW_NUMBER OVER PARTITION BY 그룹 내 순위를 반환하는 함수

그룹 내 순위를 반환하는 함수 ROW_NUMBER OVER PARTITION BY /* PARTITION BY, ORDER BY 절 모두 여러 개의 컬럼을 기준으로 설정할 수 있습니다. */ROW_NUMBER() OVER(PARTITION BY [그룹핑할 컬럼] ORDER BY [정렬할 컬럼]) 그룹 내 순위를 조회하는 함수 패턴인 'ROW_NUMBER OVER PARTITION BY'는 다음과 같은 문법으로 사용되는데요.문법의 각 부분에 대해서 살펴보면 다음과 같습니다.   ROW_NUMBER()먼저 'ROW_NUMBER()'는 윈도우 함수(ANSI/ISO SQL 표준 WINDOW FUNCTION) 중 순위를 반환하기 위해 사용되는 함수로 각 행에 고유한 번호를 부여합니다. (이때 번호는 1부터 시작하..

(Javascript) a 태그의 download 속성을 통한 파일 다운로드 방법 및 예시

(Javascript) a tag의 download 속성을 통한 파일 다운로드 방법 및 예시해당 포스팅은 Javascript에서 '' 태그의 'download' 속성을 활용한 파일 다운로드 방법 및 예시를 정리한 내용입니다. a tag 파일 다운로드 방법 -->파일 다운로드 '' 태그의 경우 'href' 속성에 다운로드할 파일의 URL을 설정하고 'download' 속성을 추가하여 간단하게 파일을 다운로드할 수 있는데요. download 속성의 경우 HTML5에서 추가되었으며, 이 속성을 사용하면 브라우저가 링크를 클릭할 때 파일을 열지 않고 다운로드를 시도하게 됩니다.download 속성의 값으로는 다운로드될 파일의 이름을 지정할 수 있으며, 값을 지정하지 않은 경우 파일의 원래 이름 그대로 다운로드를..

서블릿과 서블릿 컨테이너 이해하기(Servlet, ServletContainer)

서블릿과 서블릿 컨테이너 이해하기(Servlet, ServletContainer)서블릿(Servlet)과 서블릿 컨테이너(ServletContainer)는 자바 기반 웹 애플리케이션을 개발하는데 기본이 되고 또 자주 만나게 되는 개념입니다.하지만 정확하게 어떤 역할을 하고 어떤 방식으로 동작하는지 스스로 명확하게 설명하지 못하는 것 같아 정리해 본 내용입니다. 서블릿(Servlet)// Servlet 3.0 이상을 지원하는 경우 web.xml 파일을 사용하지 않고 @WebServlet 과 같은 어노테이션 기반의 설정을 사용할 수 있습니다.@WebServlet(name = "exampleServlet", urlPatterns = "/example")public class ExampleServlet exte..

Programming/Web 2024.07.05

Spring Boot 외장 톰캣에 WAR 배포하는 방법(+ 404 발생하는 원인)

Spring Boot 외장 톰캣에 WAR 배포하는 방법(+ 404 발생하는 원인) 스프링부트 프로젝트의 경우 일반적으로 내장된 톰캣 서버를 통해 독립 실행형 애플리케이션을 생성하여 편리하게 배포하고 운영할 수 있다는 장점이 있습니다.하지만 특수한 경우 jar 파일이 아닌 war 파일로 빌드하여 외장 톰캣에 직접 애플리케이션을 배포해야 하는 경우도 있는데요. 해당 포스팅에서는 Spring Boot 애플리케이션을 war 파일로 빌드하고 이를 외장 톰캣에 배포하는 과정을 정리하였습니다.+ 추가적으로 배포 과정에서 404 에러가 계속해서 발생하였는데 그 원인도 함께 살펴보겠습니다. *** 아래 과정은 'Spring Boot 3.3.0' 버전과 'gradle' 환경, 'tomcat-10.1.25' 버전에서 진행되..

톰캣 로그 종류 및 설정 방법 (catalina.out 주의할 점)

톰캣 로그 종류 및 설정 방법 (+ catalina.out 로그 파일 주의할 점)최근 외장 톰캣에 프로젝트를 배포하고 운영화는 과정에서 톰캣 인스턴스의 /logs 디렉터리 하위에 여러 개의 로그 파일이 생기는 것을 확인하였는데요.해당 포스팅에서는 Tomcat에서 생성되는 각각의 로그 파일 종류와 설정 방법, 추가로 'catalina.out' 로그 파일의 주의할 점을 함께 살펴보겠습니다. Java Logging Framework와 Tomcat의 JULIJava Logging Framework(java.util.logging)Java 1.4부터 포함된 'java.util.logging' 패키지는 표준화된 로깅 기능을 제공하기 위해 도입되었습니다.하지만 java.util.logging의 경우 JVM 레벨에서 ..

Programming/Web 2024.06.23
반응형