본문 바로가기

분류 전체보기

[자작NAS] 우분투 서버에 Docker로 Let's Encrypt 적용하기 NAS를 운영하다보면 개인 도메인이나 무료 DDNS 등을 통해서 외부 접속을 설정합니다.다양한 DDNS 서비스 중에서 Duck DNS는 무료로 사용이 가능하며 안정적 서비스입니다.Duck DNS를 사용하고 HTTPS 연결을 지원하기 위해서는 인증서를 사용해야 합니다.인증서는 대부분 유료로 발급해야 하지만 Let's Encrypt를 통해 무료 인증서 적용이 가능합니다.90일 동안 유효한 인증서를 제공해주며 갱신을 통해 계속 사용이 가능합니다.이번 포스트의 목적은 다음과 같습니다. Duck DNS 설정 및 Let's Encrypt 적용 리버스 프록시 설정으로 서비스에 인증서 적용 Duck DNS에 Let's Encrypt를 적용하고 리버스 프록시를 설정하는 과정은 다음과 같습니다. ==============.. 더보기
C++ 홀수/짝수(홀짝) 구분 방법 프로그래밍 언어에서 정수의 홀수/짝수 구분은 비교적 간단한 주제 중 하나입니다.간단한 주제이면서도 상당히 활용도가 높습니다.C++에서 간단하게 정수의 홀짝을 구분하는 방법은 다음과 같습니다. 1. % 연산자(Modulus operator) 먼저 % 연산자로 사칙연산 급으로 취급되는 가장 기본적인 연산자입니다.Modulus operator로 불리며 정수 나눗셈의 몫이 아닌 나머지 값을 리턴합니다.정수를 2로 나눴을 때 나머지가 0이기 때문에 이것을 기준으로 홀수/짝수 구분이 가능합니다. 2. & 연산자(Bitwise AND operator)비트 연산자 중 하나인 & 연산자를 사용하는 방법 역시 가능합니다.짝수 정수의 가장 우측에 있는 비트가 0인 점을 이용하는 방법입니다.정수와 1을 & 연산자로 연산하면 .. 더보기
[Ubuntu] 우분투 18.04에서 윈도우 공유 폴더(CIFS) 마운트 우분투(Ubuntu)에서 등에서 윈도우 공유 폴더(CIFS)를 연결해서 사용 가능합니다.우분투 17.04를 포함해서 17.10과 18.04에서 윈도우 공유 폴더를 연결해서 사용하는 방법입니다.최신 우분투 18.04의 설치는 아래 링크에서 확인이 가능합니다.2018/08/24 - [IT/Linux] - [Ubuntu] Hyper-V에 우분투 서버 18.04 설치 방법우분투 설치를 완료하면 cifs-utils를 설치합니다. sudo apt-get install -y cifs-utils 공유 폴더를 윈도우10에서 설정하는 방법은 아래 링크를 통해 진행 가능합니다.2016/08/07 - [IT/Tip&Tech] - 윈도우10 공유 폴더 설정으로 네트워크 드라이브 연결하기다음으로 우분투에 마운트 시킬 디렉토리 위.. 더보기
[티스토리] Gist Github(깃허브)로 소스 코드 추가 Github(깃허브)의 Gist를 통해서 티스토리에 소스 코드를 쉽게 공유할 수 있습니다.Gist를 사용했을 때의 장점은 나중에 코드를 변경했을 때 자동적으로 적용이 된다는 점입니다.Gist 주소는 아래와 같습니다.https://gist.github.com/깃허브 계정이 없는 경우 우측 상단의 Sign up for a Github account 버튼을 누르고 계정을 생성합니다.이메일과 비밀번호 등을 입력하면 간단하게 계정 생성이 가능합니다.로그인을 하면 우측 상단에 New gist라는 메뉴가 생깁니다.New gist를 클릭하고 코드에 대한 설명, 파일명과 함께 코드를 작성하면 됩니다.우측 상단 부분에서는 탭과 공백에 대한 설정을 할 수 있습니다.코드 작성을 완료하고 Add file 버튼을 눌러서 코드를 .. 더보기
C++ 스택을 사용한 괄호 짝 맞추기(Balanced brackets) 괄호 짝 맞추기(Balanced brackets)는 여는 괄호와 닫는 괄호의 짝이 맞는지 확인하는 문제입니다. 가장 나중에 열렸던 괄호 타입이 가장 먼저 닫혀야 됩니다. 이런 특성은 스택(Stack) 자료형을 활용하면 쉽게 구현이 가능합니다. 여는 괄호는 모두 스택에 넣고 닫는 괄호가 나올 때 스택의 최상단(Top)에 위치한 여는 괄호와 비교합니다. 그리고 닫는 괄호가 나왔을 때 스택이 비어 있으면 잘못된 짝으로 구성된 것입니다. 모든 문자를 비교한 이후에 스택이 깔끔하게 비었으면 완전한 괄호 짝이 맞는 문자열이 됩니다. 전체적인 코드는 다음과 같습니다. 30줄 남짓의 코드로 쉽게 구현이 가능합니다. 추가로 브라켓을 추가해야 하는 경우 map 타입의 pairs에 여는 괄호와 닫는 괄호 쌍을 입력해주면 됩.. 더보기
파이썬 정규표현식으로 쉼표(콤마, Comma)가 있는 숫자 찾기 파이썬의 re 모듈은 정규표현식(Regular Expression, regex)을 담당합니다.정규표현식은 이메일이나 IP 주소의 유효성 등에 활용이 가능합니다.그리고 다양한 패턴에 따라서 파일명을 바꾼다거나 하는데도 활용할 수 있습니다.여기서 알아볼 정규표현식 활용 방법은 쉼표로 구분된 숫자를 추출하는 것입니다.일반적으로 3자리마다 쉼표로 구분하는 숫자 표기방식을 찾는 방법입니다.쉼표로 구분되는 숫자는 다음과 같은 형식의 숫자입니다.45,123-12,345.0154,321.23123,456,789 파이썬 정규표현식으로 표현하면 다음과 같습니다. import re def check_number(text): regex = re.compile(r'((-)?\d{1,3}(,\d{3})*(\.\d+)?)') se.. 더보기
[Ubuntu] Hyper-V에 우분투 서버 18.04 설치 방법 우분투 18.04 LTS가 출시되면서 새로운 LTS 버전을 사용할 수 있게 되었습니다.현재 최신 버전인 우분투 서버 18.04.1 LTS의 설치 과정을 알아보겠습니다. 우분투 18.04 LTS ISO 파일은 아래 링크에서 다운로드 가능합니다.https://www.ubuntu.com/download/server Hyper-V에서 2세대 VM 생성을 위해 아래 링크의 2세대 VM 생성 부분을 확인합니다.2017/08/31 - [IT/Linux] - [Ubuntu] Hyper-V에 우분투 서버 16.04 설치 방법이름을 18.04에 맞춰 VM을 작성하고 추가로 메모리, 프로세서 등을 설정하면 됩니다.기존 우분투 16.04 LTS와 약간 다른 형태의 설치 화면입니다.언어는 English를 선택해서 진행하면 됩니.. 더보기
[자작NAS] PLEX에서 smi나 srt 등 외부 자막 사용 영상에 자막이 포함되어 있지 않은 경우나 한글이 제공되지 않는 경우는 smi나 srt 자막을 사용합니다.다만 PLEX 서버를 설치한 이후에 간혹 smi나 srt등의 외부 자막을 못 읽는 경우가 있습니다.몇 가지 설정을 통해서 외부 한글 자막을 인식하지 못하는 문제를 해결할 수 있습니다. 먼저 서버 설정의 언어를 선택해서 선호 자막언어를 한국어로 설정합니다.기본적으로 설정이 되어 있는 경우가 대부분입니다.만약 한국어가 아닌 다른 언어라면 한국어로 변경합니다.다음으로 자막의 이름들을 언어로 구분해서 작성하면 됩니다.영화 제목이 아이언맨 (2008).avi 라면 아이언맨 (2008).ko.srt 형태로 작성하면 됩니다.두 자리 국가코드는 아래 링크에서 확인할 수 있으면 영어의 경우 ko 대신 en을 입력하면 .. 더보기