Back-End/JPA2024. 11. 21. 17:09[JPA]PostgreSQL 사용시, 엔티티에 Enum 매핑 오류

개발 환경SpringBoot 3.3.5Java 17PostgreSQL 14 문제 상황ERROR: column "XXX" is of type XXX but expression is of type character varying  Hint: You will need to rewrite or cast the expression. @Enumerated(EnumType.STRING)@Column(nullable = false, name = "level")private UserLevel level;  엔티티에 ENUM 타입이 있는데 이를 enum이 아닌 문자열로 인식해서 발생하는 문제임을 알았다.XXX(예시) 라는 컬럼이 있는데, PostgreSQL에서는 ENUM으로 만들었지만, JPA에서 이를 문자열로 인식한 상..

[Bash 스크립트] Bash 스크립트 기본 개념과 변수
컴퓨터 구조 & 운영체제/Linux2024. 11. 10. 22:59[Bash 스크립트] Bash 스크립트 기본 개념과 변수

Bash 스크립트 기본 개념리눅스에는 여러가지 쉘이 존재하지만 대부분의 리눅스 배포판에서 Bash가 기본 쉘로 제공되고 있다.사실상 리눅스 쉘의 표준이 Bash이다. Bash의 장단점장점POSIX 표준을 준수해 대부분의 유닉스 기반 시스템에서 일관되게 작동한다. -> 이식성이 좋다.자동 완성, 명령 히스토리, 명령줄 편집 등 사용자 편의 기능이 많아 편리하다.리눅스 배포판 대부분에 기본 쉘로 탑재되어 있어 배우기 쉽고, 관련 문서와 자료도 풍부하다.단점복잡한 작업을 처리할 때 속도나 성능 느리다.일부 구문이 복잡하고 오류가 발생하기 쉬워, 복잡한 스크립트 작성 시 어려움이 있을 수 있다.다른 언어와 달리 객체 지향 기능이 없어, 대규모 프로그램 작성에는 비효율적이다. 동작 방식bash 스크립트는 bash..

[Linux] 리디렉션과 파이프라인
컴퓨터 구조 & 운영체제/Linux2024. 11. 9. 00:53[Linux] 리디렉션과 파이프라인

리디렉션(Redirection)리눅스에서 리디렉션과 파이프라인은 명령어의 입출력을 제어하는 기능으로, 데이터 흐름을 원하는 방식으로 연결하고 처리할 수 있게 해준다.  리디렉션은 명령어의 입력 또는 출력을 특정 파일로 보내거나, 파일에서 데이터를 읽어오는 기능이다. 보통 >, > 기호를 사용한다. 기호 설명 예시 > 표준 출력을 파일로 리디렉트(덮어쓰기) ls > file.txt (출력을 file.txt로 저장) >> 표준 출력을 파일로 리디렉트(추가) ..

[Linux] 프로세스 관련 명령어
컴퓨터 구조 & 운영체제/Linux2024. 11. 8. 22:11[Linux] 프로세스 관련 명령어

프로세스 조회ps 명령어는 리눅스에서 현재 실행 중인 프로세스를 조회할 때 사용된다. ps 명령어는 프로세스 상태, PID, 메모리 및 CPU 사용량 등의 정보를 제공하며, 시스템에서 실행 중인 작업을 모니터링하거나 디버깅할 때 유용하다. ps기본적으로 ps 명령어를 실행하면 현재 터미널에 연결된 프로세스 목록을 출력한다.기본 출력에는 다음과 같은 정보가 포함된다.PID: 프로세스 IDTTY: 프로세스가 연결된 터미널TIME: 프로세스가 사용한 CPU 시간CMD: 실행된 명령어 이름 모든 프로세스 목록 출력ps -e 프로세스의 상세 정보 출력 (PID, PPID, UID, 시작 시간 등 포함)ps -f 현재 쉘 세션의 프로세스 정보를 확인ps $$ps $$ 명령어는 현재 사용 중인 쉘 세션의 프로세스 정..

[Linux] 프로세스와 시그널
컴퓨터 구조 & 운영체제/Linux2024. 11. 8. 20:37[Linux] 프로세스와 시그널

프로세스 계층구조리눅스의 프로세스 계층구조는 부모-자식 관계를 기반으로 형성되며, 트리 구조로 표현된다.  부모 자식 관계새로운 프로세스는 기존 프로세스가 fork()를 호출하여 생성한다.프로세스가 생성되면 부모 프로세스의 자식 프로세스로 연결된다.모든 사용자의 최상위(최초의) 프로세스는 init 또는 systemd이다. 프로세스 계층 구조 Process 0 (Idle Process)리눅스 시스템 부팅 시 커널이 가장 먼저 생성하는 프로세스로, 메모리 관리 및 시스템 초기화 같은 커널 수준의 작업을 담당한다.시스템 부팅 중 커널의 초기화를 수행.이후 사용자 영역의 첫 프로세스인 프로세스 1(init)을 생성.모든 초기화가 완료되면, Idle Process로 전환되어 CPU의 유휴 상태를 관리.PID 0이..

[Linux] 스크립트 작성 및 실행
컴퓨터 구조 & 운영체제/Linux2024. 11. 7. 17:29[Linux] 스크립트 작성 및 실행

리눅스에서 스크립트 작성은 반복적인 작업을 자동화하고 효율적으로 관리할 수 있는 중요한 방법이다.가장 일반적으로 사용되는 스크립트는 Bash 스크립트로, 기본 쉘(Bash)을 통해 다양한 명령어를 순차적으로 실행할 수 있다. 스크립트 파일은 텍스트 파일 형식으로 작성되며, 맨 첫 줄에 쉘 해시뱅(Shebang)을 지정하여 사용할 쉘을 명시한다.기본적으로 #!/bin/bash를 많이 사용한다. 1. 새로운 파일을 생성하고 파일 이름에 .sh 확장자를 붙인다.touch example.sh 2. 파일을 열고 스크립트를 작성한다.#!/bin/bash  3. 스크립트를 저장하고 나서 실행 권한을 부여해야 실행할 수 있다.chmod +x example.sh 4. 아래의 명령어로 스크립트를 실행한다.절대 경로 또는 ..

[Linux] 사용자와 그룹
컴퓨터 구조 & 운영체제/Linux2024. 11. 7. 17:13[Linux] 사용자와 그룹

사용자와 그룹리눅스에서 사용자와 그룹은 시스템 보안과 접근 제어의 중요한 요소이다. 리눅스는 다중 사용자 운영 체제로, 여러 사용자가 동시에 시스템에 접근할 수 있기 때문에 사용자와 그룹을 설정하여 각 사용자별로 권한을 제어할 수 있다. 슈퍼 유저(super user = root = system administrator)리눅스에서 슈퍼유저(Superuser) 또는 루트(root) 권한은 시스템의 최상위 권한을 갖는 계정을 의미한다. 일반적으로 root 사용자라고 불리며, 이 계정은 모든 권한을 소유하여 시스템의 모든 파일, 디렉토리, 설정을 수정할 수 있다. 루트 권한은 관리자에게만 허용되는 권한으로, 시스템 유지 및 보수에 필수적이다. 슈퍼유저는 리눅스 시스템에서 모든 작업을 수행할 수 있는 최고 권한..

[Linux] 파일 시스템(File System)
컴퓨터 구조 & 운영체제/Linux2024. 11. 6. 19:56[Linux] 파일 시스템(File System)

파일 시스템 계층 구조리눅스 파일 시스템은 계층적 구조를 사용하여 트리 모양으로 이루어져 있다.루트 디렉토리(/)를 최상위 디렉토리로 시작하여 그 아래에 다양한 디렉토리와 파일들이 존재한다. 대표적인 디렉토리는 다음과 같다/bin: 일반 사용자와 관리자 모두가 사용하는 기본 명령어가 포함된 디렉토리이다. ls, cp 등과 같은 시스템 명령어가 여기에 위치한다./sbin: 시스템 관리자 권한으로 실행해야 하는 실행 파일 위치한다./boot: 시스템 부팅에 필요한 파일을 포함하며, 커널과 관련된 파일들이 저장된다./dev: 디바이스 드라이버가 사용하는 디바이스 파일 디렉터리. 시스템의 모든 장치 파일들이 존재한다./etc: 시스템과 관련된 주요 설정 파일들이 위치하는 디렉토리로, 사용자 계정 정보, 네트워크..

image