안경잡이개발자

728x90
반응형

  건강보험자격득실확인서는 기관/직장에서 자주 요청하는 서류 중 하나입니다. 특히 건강보험 자격 득실 여부를 통해 어디에서 일을 했는지에 대한 내용이 모두 나오기 때문에 근무 이력 등을 확인하기 위해서 많이 요청합니다. 가장 먼저 국민건강보험 사이버민원센터로 이동합니다.

 

  ▶ 링크: https://minwon.nhis.or.kr/

 

  접속한 이후에 바로 [자격득실확인서 발급] 페이지로 이동하면 됩니다.

 

 

  건강보험 자격 득실 확인서를 발급받기 위해서는 공인인증 로그인이 필요합니다.

 

 

  그래서 가장 먼저 공인인증서를 이용해 로그인을 해주세요.

 

 

  이후에 [프린트발급] 버튼을 눌러서 발급을 하실 수 있습니다.

 

728x90
반응형

728x90
반응형

  개인적으로 영어 발표를 해야 할 때는 혹시나 내가 잘못 알고 있는 발음이 있는지 확인해보는 것이 좋습니다. 이럴 때는 TTS 서비스를 사용해볼 수 있습니다. TTS는 말 그대로 영어 문장(Text)이 입력으로 들어왔을 때 이를 말(Speech)로 바꾸어주는 기능을 제공합니다. 제가 개인적으로 사용하는 TTS 서비스로는 다음과 같은 것들이 있습니다.

 

  ▶ NaturalReader

 

text to speech online

text to speech online

www.naturalreaders.com

 

  먼저 NaturalReader 사이트에 접속하면 인터넷으로 간단히 TTS 데모를 실행해 볼 수 있습니다. TTS 퀄리티 자체는 다른 사이트와 유사한 성능이지만, 데모를 실행해 볼 때 글자 길이 제한이 넉넉한 편이라는 장점이 있습니다. 다만 단순히 듣는 것은 공짜(무료)이지만 MP3를 다운로드 받기 위해서는 Premium Plan(유료)을 이용해야 합니다. 다음과 같이 텍스트를 입력하고, 성우를 설정한 뒤에 [Play] 버튼을 누르면 음성이 나옵니다.

 

 

  ▶ Nuance Text-to-Speech (TTS)

 

Text-to-Speech (TTS) Engine in 119 Voices | Nuance

Learn how the Text-to-Speech (TTS) engine allows you to establish your brand's voice and maintain consistent delivery across customer service channels.

www.nuance.com

 

  NuanceTTS 서비스 또한 인터넷에 접속하여 바로 데모를 실행해 볼 수 있습니다. 마찬가지로 이 사이트도 데모를 실행할 때의 글자 길이 제한이 넉넉한 편이라서 많이 테스트를 해볼 수 있습니다. 다시 말해 데모인데도 불구하고 많은 텍스트를 넣을 수 있기 때문에 사실상 무료처럼 느끼고 사용하고 있습니다. TTS 성능은 다른 서비스에 비해서 준수한 편입니다. 다음과 같이 성우를 선택한 뒤에, 텍스트를 입력하고 [Play] 버튼을 누르시면 됩니다.

 

728x90
반응형

728x90
반응형

  무료 동영상 녹화 프로그램 중에서 가장 많이 사용되고 있는 프로그램 중 하나인 OBS Studio에서 자주 등장하는 오류로는 검은 화면 오류가 있습니다. 말 그대로 화면이 캡처되지 않고 검은 화면만 나오는 것을 의미합니다.

 

 

  [디스플레이 캡처] 화면을 더블 클릭하여 속성을 확인해도 다음과 같이 캡처가 이루어지지 않는 것을 확인할 수 있습니다.

 

 

※ NVIDIA 제어판 설정으로 해결하기 ※

 

  일반적으로 이 문제는 그래픽 카드 설정 때문에 발생합니다. 기본적으로 NVIDIA 제어판에서 OBS를 NVIDIA 그래픽이 아닌 통합 그래픽 카드를 이용하도록 하면 문제가 해결되는 경우가 많습니다. 따라서 먼저 OBS가 설치된 경로를 확인해야 합니다. 제가 설치한 OBS는 obs64.exe라는 실행 파일 형태로 존재합니다.

 

 

  먼저 OBS를 끈 뒤에 [NVIDIA 제어판]에 들어갑니다.

 

 

  NVIDIA에서 OBS 프로그램의 기본 그래픽 프로세서를 [통합 그래픽]으로 설정하면 됩니다. (만약에 프로그램이 보이지 않는다면 아까전에 확인한 OBS가 설치된 경로에서 실행 파일을 선택하여 추가하면 됩니다.)

 

 

  이제 다시 OBS를 실행하면 검은 화면이 아니라 정상적으로 디스플레이가 출력됩니다.

 

※ 아직도 해결되지 않는다면 ※

 

  위와 같이 NVIDIA 제어판에서 OBS를 [통합 그래픽]으로 설정을 해주었음에도 불구하고 여전히 해결이 되지 않았다면 [디스플레이 설정]에 들어가서 [그래픽 설정] 탭으로 이동합니다.

 

 

  이후에 그래픽 설정 탭에서 [찾아보기] 버튼을 누르고 설정을 하기 위한 OBS 앱을 찾습니다.

 

 

  다음과 같이 OBS 앱을 선택한 뒤에 [옵션] 버튼을 누를 수 있습니다.

 

 

  그래픽 기본 설정으로 [절전]을 선택합니다. 일반적인 노트북 환경에서 [절전] 모드는 통합 그래픽을 의미합니다.

 

 

  이제 [저장]을 누르고 다시 OBS를 실행해 주면 정상적으로 디스플레이가 출력됩니다. 사실 OBS의 검은 화면 오류는 그래픽 카드 설정 말고도 다양한 이유로도 발생할 수 있으므로, 문제가 발생한다면 원인을 찾기 위해 많이 검색해보셔야 합니다.

728x90
반응형

728x90
반응형

  프로그램을 개발할 때는 테스트를 위해 다양한 종류의 데이터가 사용될 수 있습니다. 예를 들어 임의의 JSON 값이나 MAC 주소 값 등이 사용될 수 있습니다. 다만, 이때 매번 랜덤한 데이터를 생성하는 것은 귀찮은 작업이 될 수 있습니다. 따라서 다음과 같은 사이트를 이용하면 좋습니다.

 

  ▶ 랜덤 MAC 주소 생성기: https://onlinerandomtools.com/generate-random-mac

 

  랜덤 MAC 주소는 다음과 같이 생성할 수 있습니다.

 

 

  ▶ 랜덤 JSON 데이터 생성기: https://onlinerandomtools.com/generate-random-json

 

 

  ▶ 랜덤 UUID 데이터 생성기: https://onlinerandomtools.com/generate-random-uuid

 

728x90
반응형

728x90
반응형

  컨퍼런스에 참여하거나 여행을 갈 때 사용할 수 있는 숙소 예약 사이트/어플은 매우 많습니다. 저는 호텔스컴바인(Hotelscombined)이 편해서 이걸 자주 사용합니다. 호텔스컴바인의 기능 중에서 가장 좋은 것은 큰 지도에서 전체 숙박 업소를 요약해서 보여준다는 것입니다. 참고로 이 글은 절대 광고글은 아니고, 그냥 맨날 숙박 업소 예약할 때마다 까먹어서 안 까먹으려고 남겨 놓는 글입니다...

 

  사이트에 접속한 뒤에 다음과 같이 여행 목적지와 일자를 적어 검색합니다.

 

  이후에 다음과 같이 [지도 열기] 버튼을 눌러서 지도를 확인할 수 있습니다. 저는 얘가 핵심적인 기능이라고 생각합니다.

 

 

  바로 아래의 지도가 제가 호텔스컴바인을 가장 좋아하는 이유입니다. 바로 왼쪽에서 호텔 등급을 설정할 수 있고 가격 범위를 설정할 수 있습니다. 저는 가리지 않고 잠을 자는 편이라서 다음과 같이 가장 싼 호텔을 선택하는 편입니다. 가장 싼 호텔은 당연히 일정에 따라서 바뀔 수 있는 부분이며 저는 그냥 대충 제일 싼 곳에서 잡니다.

 

  대충 3박에 9만 원에 잘 수 있다는 곳을 찾아서, 이걸로 예약하려고 합니다.

 

 

  이제 다음과 같이 원하는 예약 사이트를 이용해 예약하면 됩니다. 저는 아고다(Agoda) 예약 사이트를 이용해서 [바로 예약]을 진행했습니다.

 

 

  이후에 예약 사이트로 이동되는데, 이제 다음과 같이 호텔의 이름을 클릭해서 들어가면 됩니다.

 

 

  이후에 [지금 예약하기] 버튼을 눌러서 예약을 진행하시면 됩니다. 예약 페이지에서는 상세하게 3박 4일이라는 정보가 안 나오지만, 버튼을 눌러서 페이지를 이동하면 상세 정보가 나옵니다.

 

 

  이제 기본적인 정보를 입력하면 됩니다. 예약 정보가 이메일을 통해서 전달되므로, 이메일 정보는 정확히 입력해야 합니다. 근데 저는 기본 언어를 한국어로 선택하여 쭉 사이트를 이용했는데... 영문 이름을 입력하라는 점이 특이하네요.

 

 

  이어서 [마지막 단계로 이동하기] 버튼을 누르시면 됩니다.

 

 

  이제 결제 방법을 선택해서 결제를 진행할 수 있습니다. 저는 페이팔(PayPal)을 이용해 결제를 진행했습니다.

 

 

  결제가 완료되면 다음과 같이 메일로 예약 확정 메일이 옵니다. 이제 [예약 관리하기] 버튼을 누르면 상세 예약 정보를 확인할 수 있습니다.

 

 

  그러면 다음과 같이 상세 예약 정보를 확인할 수 있습니다. 이제 실제로 당일날 호텔에 방문해서 예약된 이름을 말하면 호텔방에 입장할 수 있습니다.

 

728x90
반응형

728x90
반응형

  랜덤 추첨을 해야 할 때 아래 사이트를 유용하게 사용할 수 있습니다. 말 그대로 랜덤한 여러 개의 입력을 넣은 뒤에, 몇 개를 랜덤하게 뽑은 결과를 알려주는 간단한 웹 사이트입니다.

 

  ▶ Pick a Random Item: https://onlinerandomtools.com/pick-random-item

 

Pick a Random Item - Online Random Tools

Simple, free and easy to use online tool that picks a random item. No ads, popups or nonsense, just an item picker. Load your items, get a random item.

onlinerandomtools.com

 

  웹 사이트에 접속하신 뒤에 다음과 같이 items에 여러 개의 입력을 넣을 수 있습니다. 이후에 random item picker options에서 몇 개를 뽑을 지 수치를 적을 수 있습니다. 저는 다음과 같이 10개의 입력을 넣은 뒤에, 5개를 뽑도록 설정했습니다.

 

 

  다만 이 사이트는 치명적인 단점이 있습니다. 웹 브라우저를 확대하면 결과(picked) 부분이 변경될 수 있다는 점입니다. 저는 그래서 이 사이트를 온라인 라이브 추첨을 진행할 때 가끔씩 이용합니다.

728x90
반응형

728x90
반응형

  저는 동영상 썸네일을 만들 때 포토샵(Photoshop)을 쓰는게 귀찮아서 그냥 파워포인트(PowerPoint)를 이용하여 썸네일을 제작합니다. 제가 만든 썸네일 예시는 다음과 같습니다. 저는 썸네일을 만드는 게 너무 귀찮아서 진짜 빠르게 만드는 방법을 찾다가 이러한 방법을 이용하게 되었습니다.

 

  ※ 파워포인트로 1분만에 만든 썸네일 예시들 ※

 

 

 

※ 파워포인트로 사진(이미지)을 원하는 모양(형태)으로 자르기 ※

 

  파워포인트(PowerPoint)를 이용해서도 사진(이미지)를 원하는 모양으로 잘라 사용할 수 있습니다. 간단하게 실습을 해보겠습니다. 예를 들어 동영상 내용 중에 일부를 캡처한 것은 다음과 같습니다.

 

 

  이제 여기에서 얼굴만 따내기 위해 파워포인트로 그냥 붙여넣기를 합니다.

 

 

  붙여넣기 이후에는 [삽입] - [도형] - [자유형]을 누릅니다.

 

 

  이후에 사람이 존재하는 부분의 외곽을 자유형으로 따냅니다. 다음과 같이 대충 따낼 수 있습니다.

 

 

  이제 원래 사진이 우리가 방금 그린 도형과 동일한 크기가 될 수 있도록 [자르기]를 수행합니다.

 

 

  잘라낸 원본 사진은 [그림으로 저장(S)]을 진행합니다.

 

 

  이제 다시 도형을 우클릭하여 [도형 서식(O)]을 확인하여 [그림 또는 질감 채우기(P)]를 클릭합니다.

 

 

  이제 [파일(F)]을 클릭하여 잘라낸 원래 이미지를 선택합니다. 그러면 다음과 같이 해당 도형의 형태에 맞게 원본 이미지가 삽입됩니다.

 

 

  이제 다음과 같이 사각형 도구를 이용해 배경색이 들어간 것처럼 넣을 수 있습니다.

 

 

  이제 글씨를 입혀서 썸네일을 채울 수 있습니다. 저는 개인적으로 무료 폰트로 [Tmon 몬소리체]를 이용하는 편입니다. 글씨의 경우 텍스트 옵션에서 [실선]으로 2pt 정도를 주면 강조하는 느낌을 낼 수 있습니다.

 

 

  이후에 [파일] - [다른 이름으로 저장] - [PNG 형식]으로 저장을 해주시면 됩니다.

 

 

 

728x90
반응형

728x90
반응형

▶ 순열 소스코드 예제

 

  n개에서 순서를 고려하여 r개를 뽑아 나열하는 모든 순열을 구하는 소스코드는 다음과 같습니다.

 

import java.util.*;

class Permutation {
    private int n;
    private int r;
    private int[] now; // 현재 순열
    private ArrayList<ArrayList<Integer>> result; // 모든 순열

    public ArrayList<ArrayList<Integer>> getResult() {
        return result;
    }

    public Permutation(int n, int r) {
        this.n = n;
        this.r = r;
        this.now = new int[r];
        this.result = new ArrayList<ArrayList<Integer>>();
    }

    public void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }

    public void permutation(int[] arr, int depth) {
        // 현재 순열의 길이가 r일 때 결과 저장
        if (depth == r) {
            ArrayList<Integer> temp = new ArrayList<>();
            for (int i = 0; i < now.length; i++) {
                temp.add(now[i]);
            }
            result.add(temp);
            return;
        }
        for (int i = depth; i < n; i++) {
            swap(arr, i, depth);
            now[depth] = arr[depth];
            permutation(arr, depth + 1);
            swap(arr, i, depth);
        }
    }
}

public class Main {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9};
        int r = 3;

        Permutation perm = new Permutation(arr.length, r);
        perm.permutation(arr, 0);
        ArrayList<ArrayList<Integer>> result = perm.getResult();

        System.out.println("모든 순열의 수: " + result.size());
        for (int i = 0; i < result.size(); i++) {
            for (int j = 0; j < result.get(i).size(); j++) {
                System.out.print(result.get(i).get(j) + " ");
            }
            System.out.println();
        }
    }
}

 

  {1, 3, 5, 7, 9}에서 3개를 뽑는 모든 순열은 다음과 같습니다.

 

 

 

▶ 조합 소스코드 예제

 

  n개에서 순서를 고려하지 않고 r개를 뽑아 나열하는 모든 조합을 구하는 소스코드는 다음과 같습니다.

 

import java.util.*;

class Combination {
    private int n;
    private int r;
    private int[] now; // 현재 조합
    private ArrayList<ArrayList<Integer>> result; // 모든 조합

    public ArrayList<ArrayList<Integer>> getResult() {
        return result;
    }

    public Combination(int n, int r) {
        this.n = n;
        this.r = r;
        this.now = new int[r];
        this.result = new ArrayList<ArrayList<Integer>>();
    }

    public void combination(int[] arr, int depth, int index, int target) {
        if (depth == r) {
            ArrayList<Integer> temp = new ArrayList<>();
            for (int i = 0; i < now.length; i++) {
                temp.add(arr[now[i]]);
            }
            result.add(temp);
            return;
        }
        if (target == n) return;
        now[index] = target;
        combination(arr, depth + 1, index + 1, target + 1);
        combination(arr, depth, index, target + 1);
    }
}

public class Main {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9};
        int r = 3;

        Combination comb = new Combination(arr.length, r);
        comb.combination(arr, 0, 0, 0);
        ArrayList<ArrayList<Integer>> result = comb.getResult();

        System.out.println("모든 조합의 수: " + result.size());
        for (int i = 0; i < result.size(); i++) {
            for (int j = 0; j < result.get(i).size(); j++) {
                System.out.print(result.get(i).get(j) + " ");
            }
            System.out.println();
        }
    }
}

 

  {1, 3, 5, 7, 9}에서 3개를 뽑는 모든 조합은 다음과 같습니다.

 

728x90
반응형

728x90
반응형

  리눅스에서 GCC 버전을 확인하는 명령어는 다음과 같습니다.

 

gcc --version

 

  명령어를 실행하면 다음과 같이 GCC 버전이 출력됩니다. 저는 Ubuntu 16.04 버전을 사용하고 있는데, GCC 버전이 5.4인 것을 확인할 수 있습니다.

 

 

  참고로 GCC 5.4 버전의 경우 C언어에서는 std=gnu11을 사용하고, C++에서는 std=gnu++98을 사용하고 있습니다. 그리고 GCC 6.3.1부터 10.1.0 버전까지C언어에서는 std=gnu11을 사용하고, C++에서는 std=gnu++14를 사용하고 있습니다. gcc를 사용할 때 standard 값을 명시하지 않으면 기본 값(default)로 이러한 값들이 들어가게 되는 것입니다.

 

  혹은 C 표준 버전을 직접 확인하고 싶을 때 다음의 코드를 이용할 수도 있습니다.

 

#include <stdio.h>

int main() {
    printf("__STDC_VERSION__ = %ld\n", __STDC_VERSION__);
    return 0;
}

 

  실행을 하면 버전(Version) 날짜가 출력되는데, 날짜에 따른 버전은 다음과 같습니다.

 

  * gnu99 = 199901

  * gnu11 = 201112

  * gnu17 = 201710

  * c99 = 199901

  * c11 = 201112

  * c17 = 201710

728x90
반응형

728x90
반응형

  깃허브 저장소(Repository)는 모든 사람에게 공개되는 Public과 원하는 사람에게만 공개되는 Private 설정이 모두 가능합니다. 또한 Public으로 공개된 내용은 Private으로 다시 바꿀 수 있고, 반대로 Private이었던 저장소를 다시 Public으로 바꾸는 것도 가능합니다.

 

  이를 설정하기 위해서는 깃허브 저장소에서 [Settings] 탭으로 이동하시면 됩니다.

 

 

  [Settings] 탭에서 아래로 쭉 내려 보시면 다음과 같이 [Danger Zone] [Change Visibility] 버튼이 있습니다. 이를 클릭해서 해당 저장소가 외부에 보일지 안 보일지를 설정할 수 있습니다.

 

 

  이제 여기에서 현재 저장소의 설정에 따라서 Public ↔ Private 서로 변경이 가능합니다. 예를 들어 Public 상태에서 Private으로 변경하는 경우에는 다음과 같이 설정할 수 있습니다. 참고로 Public 상태에서 Private으로 바꾸게 되면, 당연히 현재 저장소에 달려 있던 별점(Star)을 포함해 각종 정보가 사라지게 됩니다.

 

 

  또한 Private 상태에서 다시 Public 상태로 바꾸는 것 또한 가능합니다.

 

 

  참고로 Private 상태에서 Public 상태로 바꿀 때에는 당연히 저장소의 모든 코드가 외부로 공개되며, 누구나 자신의 코드에 접근하여 포크(Fork)를 진행할 수 있다는 점을 감안해야 합니다. 나중에 다시 Private으로 바꾼다고 하더라도 일단 다른 사람이 제 코드를 이미 모두 가지고 있을 수도 있다고 보아야 하는 겁니다.

 

728x90
반응형