이전글 2023.04.23 - [본업/Database] - [PostgreSQL] Ubuntu Linux PostgreSQL 사용법 - #1 다운로드 및 설치 Server Configuration Files PostgreSQL 서버를 사용하고 운영하는데 필요한 다양한 파라미터들이 있으며 이들을 설정 파일(.conf)들을 통해 구성 가능하다. 일부는 서버의 성능, 즉 스펙을 결정짓는 파라미터들도 존재하므로 해당 파라미터들을 적절히 조정하는 작업을 튜닝(tuning)이라고도 한다. 이 설정 파일들에 대해 간단하게 짚고 넘어가도록 한다. postgresql.conf /etc/postgresql/$VERSION/main에 위치 서버 구성 대부분의 파라미터를 제어하며 서버의 동작을 결정하는 설정들을 포함 ex: ..
가장 유명한 오픈 소스 관계형 데이터베이스들 중 하나인 PostgreSQL을 Linux 환경에서 사용하기 위해 다운로드부터 설치, 설정 및 사용 방법까지. 실제로 회사에서 Ubuntu 환경에서 현재 사용하고 있기 때문에 신입 혹은 인수인계를 위해 작성해놓은 일종의 메뉴얼이라고 보면 된다. 적어놓을 수 있는 것은 가능한한 디테일하게 적어놨기 때문에 정보가 급한 사람들은 자체적으로 필요한 것만 검색해서 보면 된다. 다만 한계점은 나는 백엔드 개발자로서의 스코프에 해당되는 내용이며 DBA등의 데이터베이스를 운영하고 관리하는 전문가가 아니기 때문에 Operation 관련은 다루지 못한다는 점. Test Environment OS : Ubuntu Linux 20.04 LTS (개인 환경에서 22.04 LTS까지 ..
3rd-party DBMS를 테스트하기 위해 진짜 오랜만에 순수 JDBC 코드를 작성할 일이 생겨서 이클립스를 실행함. 그러나 일하지 않겠다고 당당하게 에러 띄우며 태업을 시전. Cause of Error Version 11.0.16 of the JVM is not suitable for this Product. Version: 17 or greater is reuiqred. - JVM 11.0.16 버전은 해당 제품에 맞지 않는다. 17버전 이상이 필요하다. - 내가 쓰는 툴은 Azul의 11.0.18 버전의 OpenJDK를 사용하기 때문에 나도 이 버전에 맞춰 따라간다. 그런데 17버전 이상을 설치하라니 이는 에러가 분명하다. Error Fix '17버전 이상의 JDK를 설치'하라는 권고 사항에서 굳..
이전 글 2023.03.15 - [분류 전체보기] - [Docker] Docker로 Ubuntu에 OpenVPN Server 구축하기 #2 OpenVPN 서버 구성 Generate a client certificate VPN 서버측 설정이 준비되었으므로, 이제 접속할 클라이언트의 인증서를 생성해야 한다. Client Requirement 나의 경우는 다음과 같은 요구 사항을 정의해 발급했다. 클라이언트 OS에 종속되지 않을 것. 클라이언트 접속 시 비밀번호는 입력하지 않을 것. 다음과 같이 그룹을 구분해 IP 풀을 정의하고, 이에 해당되는 고정 IP를 할당할 수 있을 것. Group A : 10.95.0.5 ~ 10.95.49.253 Group B : 10.95.50.1 ~ 10.95.99.253 Gro..
이전 글 2023.04.08 - [본업/Docker] - [Docker] 맥에 Docker Desktop 설치 - #1 설치 까지만 이전 포스팅에 이어 튜토리얼의 내용을 볼 것이다. Tutorial 처음 Docker를 스터디 할 때 CLI 환경에서 진행했는데 당시에도 분명 Hello world를 출력하는 예제 컨테이너가 있었던 것 같다. 어차피 모든 사용자가 해당 튜토리얼을 진행해도 모두 같은 시퀀스일테니 그냥 캡쳐해둔 내용만 간단히 짚고 넘어간다. 1. Clone a repository 튜토리얼의 지침을 직접 본인이 사용하는 터미널 애플리케이션을 통해 진행해도 되고, 아니면 우측에 임베드된 쉘을 통해서 진행해도 된다. 좌측 지침 내용의 푸른색 코드 블럭을 클릭하면 자동으로 우측 쉘에 타이핑되는 것 같다..
지금까지는 회사나 개발 워크스테이션이 모두 Linux 기반이었기 때문에 Docker를 사용할 일이 있다면 터미널을 통한 CLI 환경에서 작업해왔다. 그런데, 문득 당장 내 개인 랩탑에서 Docker를 사용할 일이 생겼다. 한 3~4년 전, 인텔 맥을 사용할 때 잠깐 Oracle을 사용해야 할 일이 있었는데 당시 맥에서 Oracle을 실행하려면 페러렐즈로 다른 OS를 통해 실행하던가 Docker를 설치해 Oracle 컨테이너를 띄워 사용해야 했었다. 그냥 CLI로 설치해서 사용했어야 했는데 급하게 하느라 Desktop(GUI) 버전을 설치했었고, 아이러니하게도 GUI가 낯설어 다시 삭제했던 기억이 있다. 다시 지금에서야 Docker Desktop을 사용해보고자 일단 가벼운 마음으로 설치정도만 해봤다. 아 ..
사내 CCR(Central Control Room) 구축 업무 중 CCR용 웹 애플리케이션 개발을 시작하기에 앞서 HMI Philosophy를 정립하던 도중 좋은 자료를 발견하여 직접 한국어로 해석하여 공유한다. 나는 Inductive Automation사의 Ignition이란 프로그램을 사용해 개발하는데 해당 소프트웨어의 주요 개발사 중 하나인 Vertech라는 자동화 솔루션 업체에서 '7 UI TIPS FOR SUCCESSFUL INDUSTRIAL AUTOMATION PROJECTS'라는 주제로 백서를 만들었다. https://www.vertech.com/ui-tips-white-paper 7 UI Tips for Successful Industrial Automation Projects Slash ..
Ubuntu Linux라는 OS를 처음 접하는 사용자가 가장 먼저 커맨드 쉘에 입력할 명령어가 있다면 바로 sudo apt update일 것이다. sudo는 'superuser do'라는 의미라는 것을 검색을 통해 금방 알 것이고, update도 당연히 무언가 갱신하겠거니 생각할 것이다. 이 때, apt가 무엇인지에 대해 구글링 하다 보면 점차 알 수 없는 용어들이 나오고 너무 deep한 영역까지 들어가게 되어 탭을 닫아버리는데 이 apt에 대해 소개하려고 한다. APT란? APT는 Advanced Package Tool의 줄임말로, Unix 기반의 운영 체제(특히 Debian, Ubuntu 계열의 Linux 배포판)에서 강력하고 널리 사용되는 소프트웨어 패키지 관리 도구다. '리포지토리'라고도 부르는 ..
이전 글 2023.01.30 - [본업/Docker] - [Docker] Docker로 Ubuntu에 OpenVPN Server 구축하기 #1 Docker 설치 Prerequisites 1. OpenVPN의 설정 파일들을 '편하게' 관리하기 위해 이들을 저장할 디렉토리를 생성 mkdir /home/$USER/openvpn-test $USER에는 당연히 사용자 이름을 기입하면 됨. 참고로 해당 작업은 도커의 볼륨과 연관된 작업이다. 나는 OpenVPN Server로 동작할 컨테이너와 호스트 머신(서버 OS) 사이에 파일 따위를 손쉽게 조작하고자, bind mount 방식으로 컨테이너에 바인딩 할 것이다. 다른 바인딩 방식을 사용할 것이라면 알아서 적용ㅇㅇ. Docker Volume 관련 공식 문서 : ht..
Purpose 이 글을 작성하는 시점으로 나의 사내 주 업무는 자사 제품에 대한 웹 기반 원격 모니터링 시스템(RMS; Remote Monitoring System)을 구축하는 것이다. 해당 업무를 수행하고 밥값을 벌기 위해 해야하는 일들이 인프라 구축에서 부터 웹 개발 및 배포까지 굉장히 많은 Task Chain으로 연결되어 있다. 이 Task Chain 중 하나가 바로 '현장 곳곳에 설치된 자사 제품의 운전 값을 서버로 읽어들여 DB에 로깅하기' 인데, 이를 구현하려면 여러 가지 전제 조건이 필요하지만 그 중 가장 크리티컬한 요소는 바로 다음이다. 현장 마다 공급되는 네트워크의 구성이 다를 수 있다. (예; 유동 IP 혹은 고정 IP, 무선망 혹은 유선망) 서버가 데이터를 수집하기 위해서는 네트워크 ..
2022.09.09 - [프로그램/Linux] - [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #1 [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #1 일단 라이선스를 준수하고 정품 소프트웨어를 사용합시다. 바쁜 분들은 해당 컨텍스트 스킵 가능. 두괄식 표현으로 결과부터 얘기하자면, 현재 Apple Silicon macOS에서 실험 용도로 모든 설정을 커 conceptbug.tistory.com 2022.09.11 - [프로그램/Linux] - [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #2-1 Parallels Too..
대부분의 가상 머신들이 guest OS에서 필요한 드라이버를 사용자가 직접 설치하지 않아도 되게끔 자체적으로 패키지화 시켜 제공한다. VMware는 사용하지 않아서 잘 모르겠고, Oracle사의 VirtualBox는 존재했던 것으로 기억한다. 나는 90년대생 MZ 세대라 3.5인치 플로피 디스켓, CD 등의 저장 매체를 모두 사용했었다. 기억으로는 비싼 컴퓨터나 브랜드 컴퓨터를 구매하면 위와 같이 Driver CD가 동봉되어 왔었는데, 이거랑 똑같다고 보면 된다. Parallels Tools란? https://www.parallels.com/blogs/parallels-tools/ All you need to know about Parallels Tools installation What is Paral..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.