분류 전체보기

카테고리 없음

Docker 마운트에 대하여

도커 마운트는 도커 컨테이너와 호스트 시스템 간에 파일이나 디렉토리를 공유하는 방법입니다. 도커 마운트는 컨테이너의 데이터를 영속적으로 저장하거나, 컨테이너와 호스트 사이에 데이터를 주고받거나, 컨테이너의 설정을 변경하는 등의 목적으로 사용할 수 있습니다. 도커 마운트에는 두 가지 종류가 있습니다. 바인드 마운트와 볼륨 마운트입니다. 바인드 마운트는 호스트 시스템의 임의의 파일이나 디렉토리를 컨테이너의 특정 위치에 연결하는 방식입니다. 바인드 마운트는 호스트 시스템과 컨테이너 간에 실시간으로 데이터를 동기화하며, 호스트 시스템에서 접근할 수 있는 모든 파일이나 디렉토리를 사용할 수 있습니다. 하지만 바인드 마운트는 호스트 시스템에 의존적이며, 보안상의 위험이 있으므로 주의해서 사용해야 합니다. 볼륨 마운..

카테고리 없음

자주 사용하는 리눅스 단축키 정리

리눅스를 사용하다보면 명령어가 낯설어 여기 저기 단축키를 검색하는 경우가 있는데 아래는 자주 사용하는 단축키를 정리한 내용입니다. 자주 사용하는 명령어 ls: 현재 디렉토리의 파일과 폴더 목록을 보여줍니다. cd: 현재 작업 중인 디렉토리를 변경합니다. pwd: 현재 작업 중인 디렉토리의 경로를 출력합니다. mkdir: 새로운 디렉토리를 생성합니다. rmdir: 디렉토리를 삭제합니다. touch: 빈 파일을 생성하거나 파일의 최종 수정 시간을 변경합니다. cat: 파일의 내용을 출력합니다. rm: 파일을 삭제합니다. mv: 파일이나 디렉토리를 이동하거나 이름을 변경합니다. cp: 파일이나 디렉토리를 복사합니다. ps: 현재 실행 중인 프로세스 목록을 출력합니다. top: 시스템의 현재 상태를 실시간으로 ..

카테고리 없음

헥사고날 아키텍처란??

헥사고날(Hexagonal) 아키텍처는 소프트웨어를 구성하는 요소들이 서로 독립적인 모듈(module)로 구성되는 아키텍처 디자인 패턴 중 하나입니다. 이 아키텍처 패턴은 DDD(Domain-Driven Design)과 유사한 개념을 바탕으로 하고 있으며, 소프트웨어 시스템의 구조와 설계를 단순화하고 유연성을 높이는 것을 목적으로 합니다. 헥사고날 아키텍처에서는 소프트웨어 시스템을 내부 도메인(Core Domain)과 외부 도메인(Outer Domain)으로 구분합니다. 내부 도메인은 비즈니스 로직을 포함하고, 외부 도메인은 UI(User Interface)와 같은 외부 요소를 포함합니다. 내부 도메인은 외부 도메인에 의존하지 않으며, 외부 도메인에서는 내부 도메인에 대한 의존성이 존재합니다. 따라서, ..

카테고리 없음

Windows에서 SSH 키 만드는 방법

Windows에서 SSH 키를 만들고 사용하기 위해서는 다음과 같은 단계가 필요합니다. Windows용 SSH 클라이언트 설치 Windows 운영체제에서 SSH 연결을 위해서는 SSH 클라이언트가 필요합니다. 대표적으로 PuTTY나 Git Bash 등의 SSH 클라이언트를 사용할 수 있습니다. PuTTY는 GUI 기반의 SSH 클라이언트로, Git Bash는 Git for Windows 패키지 내에 포함된 Bash 쉘 환경에서 SSH 명령어를 사용할 수 있는 유틸리티입니다. 둘 중에 하나를 설치하시면 됩니다. SSH 키 생성 SSH 클라이언트를 설치한 후에는 SSH 키를 생성해야 합니다. 키 생성을 위해서는 다음의 명령어를 사용할 수 있습니다. ssh-keygen -t rsa 위 명령어를 실행하면, SS..

프로그래밍

DB 더미 데이터 만드는 방법

더미 데이터란 테스트용으로 사용되는 임의의 데이터를 의미합니다. 이러한 데이터는 특정한 목적이나 요구사항에 따라 적절한 양과 내용으로 존재하지 않는 데이터를 대체하여 시뮬레이션하거나, 테스트를 위해 사용됩니다. 조회 같은 쿼리 테스트를 할 때 해당 컬럼의 데이터가 많을 경우 속도가 느려지는 테스트가 필요할 때가 있습니다. 이를 위해 더미 데이터를 만드는 작업이 있을 수 있는데 아래와 같이 하면 쿼리를 수행하면서 2n승만큼 데이터를 쌓을 수 있습니다. 더미 데이터를 삽입하기 위해서는 기존의 테이블에 삽입하고자 하는 값과 동일한 형식의 레코드를 SELECT문으로 가져와서 INSERT문으로 삽입하면 됩니다. 예를 들어, "table"이라는 테이블에 "column1"과 "column2"라는 두 개의 컬럼이 있다..

프로그래밍/Java

Java Map의 초기용량을 설정해야 하는 이유

Map을 쓸 때 Map의 초기 용량을 설정하지 않으면 런타임 시동적으로 용량이 확장되어 성능에 영향을 미칩니다. 따라서 Map을 선언할 때 초기 용량을 설정하여 성능을 개선합니다. Map move = new HashMap(32); HashMap은 내부적으로 배열을 사용하여 데이터를 저장하며, 이 배열의 크기를 동적으로 확장하거나 축소합니다. 배열의 크기를 동적으로 변경하는 것은 성능에 영향을 미치므로, 초기 용량을 충분히 설정하여 배열 크기를 자주 변경하지 않도록 합니다. HashMap의 초기 용량을 설정하지 않으면 기본값인 16이 사용됩니다. 초기 용량은 저장할 데이터의 양에 따라 다르게 설정해야 하므로, 정확한 값은 실험적으로 결정해야 합니다. 일반적으로 대용량 데이터를 다룰 때, 초기 용량을 충분히..

생활상식

MBTI 성격 유형 및 설명

최근 MBTI를 다시 검사해봤는데 INFJ에서 INTJ로 변한 것 같아 MBTI에 대해 정리해봤습니다. MBTI(Introversion, Intuition, Thinking, Judgment) 유형에 따라 성격 유형이 분류됩니다. MBTI(Introversion, Intuition, Thinking, Judgment)는 사람들의 성격 유형을 분류하는데 사용되는 심리학적 도구입니다. 이는 개인의 성향을 네 가지 기준으로 나누어 정의합니다. 내향성(Introversion) vs. 외향성(Extraversion) 내향적인 사람은 내부에 집중하고, 대개 자신만의 생각과 감정에 기반하여 행동합니다. 반면, 외향적인 사람은 외부 세계에 더 관심을 가지고, 사람들과 상호작용하고 새로운 경험을 즐기는 경향이 있습니다...

프로그래밍

Docker 명령어 옵션 정리

Docker 컨테이너를 실행할 때 사용할 수 있는 옵션은 다음과 같습니다: -d : 컨테이너를 백그라운드에서 실행합니다. 이 옵션을 사용하면 컨테이너를 실행한 후 바로 다음 명령을 수행할 수 있습니다. -p : 호스트 컴퓨터와 컨테이너 사이의 포트를 매핑합니다. 예를 들어 -p 8080:80**는 호스트 컴퓨터의 8080 포트를 컨테이너의 80 포트로 매핑합니다. -e : 컨테이너에서 사용할 환경 변수를 설정합니다. 예를 들어 -e MY_VAR=value**는 컨테이너에서 MY_VAR 환경 변수를 value로 설정합니다. -v : 호스트 컴퓨터와 컨테이너 사이의 디렉토리를 마운트합니다. 예를 들어 **v /host/dir:/container/dir**는 호스트 컴퓨터의 /host/dir 디렉토리를 컨테이..

프로그래밍

Session과 JWT의 차이점과 장단점

Session과 JWT는 웹 애플리케이션에서 사용자 인증 방법에 차이가 있습니다. Session은 서버에서 사용자를 인증할 때 사용하는 방법입니다. 서버는 사용자가 로그인 할 때 사용자 정보를 기반으로 세션을 생성합니다. 이후 세션 ID를 쿠키나 HTTP 헤더에 저장하여 사용자를 식별합니다. 이때 세션 ID는 서버에 저장되며, 서버는 이를 사용하여 사용자를 식별하고 권한을 제어할 수 있습니다. JWT(JSON Web Token)는 클라이언트에서 사용자를 인증할 때 사용하는 방법입니다. JWT는 서버에서 사용자 정보를 기반으로 생성한 토큰입니다. 이 토큰은 서버에 저장되지 않고 클라이언트가 이를 저장하여 사용합니다. 클라이언트는 이 토큰을 서버에 요청할 때마다 서버에 전달하여 인증을 합니다 장단점 Sess..

프로그래밍/Java

비주얼스튜디오 코드에서 Java Compile 하는 방법

요즘은 비쥬얼 스튜디오 코드로 왠만한거는 다 할 수 있는 것 같습니다. 비쥬얼스튜디오 코드로 Java의 단일 파일 컴파을 하기 위한 방법을 알아보도록 하겠습니다. 먼저 확장 패키지에서 java를 검색 해보시면 위 2개의 패키지를 설치해주세요. Open JDK 11.0.2(https://jdk.java.net/archive/)를 설치합니다. JDK 버전이 많지만 해당 버전이 무료로 사용하기에 가장 적합하다고 판단됩니다. 압축 파일을 받으신 뒤 환경변수를 설정해야 하는데요. 많은 사이트에서 설명하고 있어서 생략할까 하다가 간단히 설명드리면 윈도우 버튼 클릭 후 "환경" 이라고 입력하시면 시스템 환경 변수 설정이 나타납니다. 환경 변수 클릭 후 하단의 시스템 변수 텝에서 Path를 클릭 후 편집을 눌러 주세요..

이프로그
'분류 전체보기' 카테고리의 글 목록 (3 Page)