안경잡이개발자

728x90
반응형

  아래 그래프에는 3개의 연결 요소가 있다.

 

 

  연결 요소의 개수를 세는 코드는 다음과 같다.

 

n = 6
m = 4
# 그래프 정보 초기화
graph = [
    [1, 2],
    [0, 2],
    [0, 1],
    [4],
    [3],
    []
]
# 각 노드의 방문 여부
visited = [False] * n

# 특정 노드에서부터 연결된 모든 노드를 방문 처리
def dfs(x):
    visited[x] = True
    # 현재 노드와 인접한 노드 또한 방문 처리
    for i in graph[x]:
        if not visited[i]:
            dfs(i)

result = 0
for i in range(n):
    # 아직 방문하지 않았다면 방문
    if not visited[i]:
        dfs(i)
        result += 1
print(result)
728x90
반응형

728x90
반응형

  PuTTY는 대표적인 원격 접속 프로그램이다. 가장 많이 사용되는 프로토콜인 SSH, Telnet, Serial 등을 지원한다. 물론 XShell과 같은 고급 소프트웨어도 있지만 간단히 원격 접속을 해야 할 때는 PuTTY만큼 편한 게 없다.

 

 

  ▶ PuTTY 설치 경로: www.putty.org/

 

  접속 이후에 다운로드 페이지로 이동한다.

 

 

  다음과 같이 설치 프로그램을 다운로드하면 된다.

 

 

  [Next] 버튼을 눌러 Default 설정으로 설치를 진행해보자.

 

 

 

 

  결과적으로 다음과 같이 설치가 진행된다.

 

 

  설치가 완료되면 PuTTY 프로그램을 실행할 수 있다.

 

728x90
반응형

728x90
반응형

  ODROID C1의 Ubuntu OS를 살펴보자.

 

  ▶ ODROID C1 운영체제: wiki.odroid.com/odroid-c1/os_images/ubuntu/ubuntu

 

  확인해 보면 Ubuntu OS의 버전에 상관 없이 리눅스 커널(Kernel) 3.10 버전을 사용하고 있다. ODROID C1는 USB OTG 기능을 제공하기 때문에 USB 디바이스 기능을 제공할 수 있다는 장점이 있다. 하지만 커널 3.10 버전에 멀티 가젯(multi-gadget) 관련 오류가 있다. 그래서 필자는 더 높은 버전의 커널이 필요한 상황이다.

 

 

  ODROID C1는 공식적으로 최신 커널을 지원하지는 않는다. 그래서 최신 커널을 제공하는 비공식 Ubuntu OS를 설치할 수 있다. 이를 위해 Armbian 사이트에 방문하면 된다. Armbian은 다양한 ARM 개발 보드 전용 운영체제를 제공한다. 대표적으로 Ubuntu 등을 제공한다. 예를 들어 ODROID C1+는 2020년 현재 공식적으로 Kernel 3.10 버전을 제공한다.

 

  ▶ ODROID C1 Armbian: www.armbian.com/odroid-c1/

 

Odroid C1 – Armbian

Armbian Cookies Policy Our Website uses cookies to improve your experience. Please visit our Odroid C1 page for more information about cookies and how we use them. Close

www.armbian.com

 

  여기에서 [Archived versions] 링크로 이동하면 다양한 OS 이미지를 받을 수 있다.

 

 

  이것을 그대로 다운로드 받아서 SD 카드에 설치하면 되는 것 같다. 다만 한 가지 문제가 있다. Armbian 사이트에 따르면 이 이미지를 설치해도 HDMI 출력을 지원하지 않는다고 한다. 즉 OS를 설치한 뒤에 부팅을 해도 화면이 안 나온다는 의미다. 아래 설명을 보면 시리얼 콘솔(serial console)만 지원한다고 한다.

 

 

  실제로 시리얼 콘솔(Serial Console)을 이용하는 방법을 확인해 보자. ODROID C1 사용자 매뉴얼에 따르면 USB-UART 모듈 키트가 필요하다고 한다. 관련 문단을 가져오면 다음과 같다.

 

 

  USB-UART는 다음과 같이 생긴 부품이다. 생각보다 가격이 비싸서 놀랐다.

 

  ▶ USB-UART Module Kit: www.hardkernel.com/ko/shop/usb-uart-module-kit/

 

 

  그래서 이럴 줄 알았으면 처음부터 ODROID C4를 구매하는 편이 좋았을 것 같다. 2020년 기준으로 ODROID C4는 리눅스 커널 4.9 버전을 사용하고 있으며, 마찬가지로 USB OTG 기능을 제공하기 때문이다. 아무튼 USB-UART 모듈 키트를 구매하면 ODROID C1에 최신 커널을 무리 없이 업로드할 수 있을 것 같다. 어차피 나는 ODROID C1를 USB 디바이스 개발용으로 쓰는 거라서 다른 문제들은 큰 이슈가 되지 않을 것이다. 만약 ODROID C1에 모니터를 연결하고 일반적인 컴퓨터로 쓰고 싶은 사람이라면 저 최신 커널을 그대로 이용하면 HDMI가 동작하지 않을 것이다. 필자는 어떻게 해야 할 지 고민된다.

728x90
반응형

728x90
반응형

  Advanced IP Scanner는 IP 기반의 무료 네트워크 스캐닝 소프트웨어입니다. 일반적으로 내부망에서 어떤 IP를 어떤 컴퓨터가 쓰고 있는지를 확인하기 위해 간단히 사용할 수 있습니다. 추가적으로 RDP(Remote Desktop Protocol) 등의 기능도 제공합니다. 특히 회사나 학교에서는 사람마다 특정 IP를 사용하기로 약속하는 경우가 많으므로, 이러한 스캐닝 소프트웨어를 효과적으로 이용할 수 있습니다. 혹은 라즈베리파이(Raspberry Pi)와 같은 보조 컴퓨터를 함께 사용하는 상황 등에서 자주 이용하게 되는 것 같습니다.

 

  공식 사이트에서 제공하는 사용 예시 이미지는 다음과 같습니다.

 

 

  ▶ Advanced IP Scanner 다운로드: www.advanced-ip-scanner.com/ 

 

  해당 소프트웨어를 다운로드 하기 위해서는 공식 사이트에 접속하신 뒤에 [무료 다운로드] 버튼을 누르시면 됩니다.

 

 

  가장 먼저 설치 언어를 설정할 수 있습니다.

 

 

  여기에서 굳이 설치하지 않고 [실행(R)] 버튼을 눌러서 바로 실행할 수도 있습니다. 프로그램을 두고두고 오래 사용하고 싶은 분이라면 [설치(I)]를 진행해주세요. 저는 그냥 바로 실행하겠습니다.

 

 

  이후에 약관에 동의하고 실행하시면 됩니다.

 

 

  이제 다음과 같이 스캔을 수행할 IP 대역을 입력할 수 있습니다.

 

 

  결과적으로 특정 IP 대역에 대하여 스캐닝(Scanning)을 수행하면 다음과 같이 각각의 IP를 쓰고 있는 컴퓨터에 대한 정보가 출력됩니다.

 

 

  참고로 현재 자신이 포함되어 있는 네트워크가 아닌 원격지에서 스캔을 수행하는 경우에는 한정적인 정보만 나오며, 제조업체(manumanufacturer) 정보가 출력되지 않을 수 있습니다.

728x90
반응형

728x90
반응형

  크롬(Chrome) 브라우저를 이용해 파일을 다운로드 받으면 기본적인 경로는 C:\Users\{사용자명}\Downloads입니다. 만약 이 경로를 바꾸고 싶다면 먼저 [설정] 페이지로 이동하시면 됩니다.

 

 

  이후에 [고급] 탭으로 이동하여 [다운로드] 섹션의 위치(경로)를 눌러 변경하시면 됩니다.

 

 

  저는 다음과 같이 E 드라이브 내의 한 경로로 변경하였습니다.

 

 

  이후에 다운로드를 한 모든 파일은 앞서 설정했던 경로에 저장되는 것을 알 수 있습니다.

 

728x90
반응형

728x90
반응형

  동영상 정보를 빠르고 간단하게 확인할 수 있도록 도와주는 프로그램으로는 MediaInfo가 있다. 무료 프로그램이며, 손쉽게 다운로드 받아 사용할 수 있다.

 

  ▶ MediaInfo 다운로드www.videohelp.com/software/MediaInfo

 

  MediaInfo는 비디오(Video)나 오디오(Audio) 파일의 기본적인 정보를 보여주는 프로그램이다. 기본적인 비디오의 코덱 정보, 프레임율(Frame Rate) 등의 정보를 보여준다. 해당 링크에 접속하면 다음과 같이 운영체제에 맞는 최신 버전을 받을 수 있다. 필자는 다음과 같이 윈도우(Windows) 운영체제 전용 설치 프로그램을 받았다.

 

 

  설치 프로그램을 다운로드 받아서 실행하면 다음과 같다.

 

 

  기본적인 설정 그대로 설치를 진행하면 된다.

 

 

  설치를 완료한 뒤에 실행할 수 있다.

 

 

  프로그램을 처음 실행하면 다음과 같이 기초 환경 설정을 진행할 수 있다. 다음과 같이 [언어]한국어로 설정하면 한국어로 이용할 수 있다.

 

 

  이후에 MediaInfo가 다음과 같이 실행되는 것을 알 수 있다.

 

 

  하나의 동영상 파일을 드래그 앤 드롭(Drag & Drop) 하면 다음과 같이 동영상 정보를 확인할 수 있다. 기본적으로 동영상에 포함되어 있는 비디오와 오디오 정보가 각각 나오는 것을 확인할 수 있다. 대개 동영상의 비트율(BPS, Bit Per Second)이나 코덱 정보, 비디오 및 오디오 품질을 확인하기 위해 사용할 수 있다.

 

  또한 오른쪽 아래에 있는 [화살표(→)] 버튼을 눌러서 다른 보기를 선택할 수 있다.

 

 

  다음과 같이 [트리]로 설정해보자.

 

 

  그러면 다음과 같이 더욱 자세한 내용을 확인할 수 있다. 

 

728x90
반응형

728x90
반응형

  다음 팟 인코더(Daum Pot Encoder)무료 동영상 인코딩 소프트웨어다. 다음 팟 인코더는 사실 2020년 현재를 기준으로 보았을 때 공식 지원은 끝났고, 더 이상 프로그램 업데이트가 되고 있지 않은 상태다. 그럼에도 불구하고 사용하기 편리하며 유용한 기능을 제공한다는 점에서 아직도 많은 사람들이 이용하고 있다.

 

  ▶ 다음 팟 인코더 다운로드get.daum.net/PotEncoder/DaumPotEncoder.exe

 

  나는 위 경로에서 다운로드 받았다. 기본적으로 설치 프로그램을 실행하여 [다음] 버튼을 눌러서 진행하면 된다. 구체적인 설치 과정은 다음과 같다.

 

 

  설치를 진행하기 위해 약관에 동의한다.

 

 

  추가적인 구성 요소를 선택하여 설치를 진행할 수 있다.

 

 

  설치할 경로를 설정한 뒤에 설치를 진행한다.

 

 

  설치가 완료되면 실행해 볼 수 있다.

 

 

  다음과 같이 정상적으로 다음 팟 인코더 설치가 완료되었다.

 

 

※ 나만의 설정 사용하기 ※

 

  일반적으로 인코딩(Encoding)을 이용하는 목적은 동영상의 화질을 줄이거나, 특정한 편집 프로그램에 적합한 영상으로 만들기 위해서이다. 그래서 나만의 설정을 이용하는 경우가 많다. 나만의 설정을 만들고자 할 때는 먼저 [환경설정] 버튼을 누른다.

 

 

  자신이 자주 사용하는 인코딩 설정을 만든 뒤에 [내 설정 추가]를 눌러서 현재 내가 설정해놓은 정보를 특정한 이름으로 저장할 수 있다. 나는 프리미어 프로 편집에 적합한 영상으로 만들기 위해 다음 팟 인코더를 사용한다. 그래서 다음과 같이 MPEG-4 코덱의 CBR 방식을 이용하도록 영상을 바꾸는 경우가 많다.

 

 

  나는 다음과 같이 "프리미어 프로 편집용"이라는 이름으로 설정을 만들었다.

 

 

  설정한 이후에는, 다음과 같이 [기기 선택] 란에서 내가 만들었던 설정이 등장하는 것을 알 수 있다.

 

 

  그리고 다음 팟 인코더의 메인 화면에서는 다음과 같이 [내 설정] 탭에 나만의 설정이 생긴 것을 알 수 있다. 만약에 새로 만든 설정이 바로 나오지 않는다면, 다음 팟 인코더를 재실행하면 정상적으로 보인다.

 

728x90
반응형

728x90
반응형

  화면을 확대하거나 화면에 무언가 글을 쓰고 싶을 때 편하게 사용할 수 있는 프로그램으로 줌잇(ZoomIt)이 있습니다. 저는 개인적으로 강의 영상을 녹화할 때 필기를 위하여 줌잇(ZoomIt)을 자주 활용합니다. 이것만큼 간단하게 사용할 수 있는 프로그램이 많이 없는 것 같아요.

 

  ▶ 줌잇(ZoomIt) 다운로드: docs.microsoft.com/en-us/sysinternals/downloads/zoomit

 

ZoomIt - Windows Sysinternals

Presentation utility for zooming and drawing on the screen.

docs.microsoft.com

 

  공식 다운로드 사이트에 접속한 뒤에 [Download ZoomIt] 버튼을 눌러서 다운로드를 진행하시면 됩니다.

 

 

  다운로드 이후에는 별도의 설치 과정 없이 윈도우 응용 프로그램 형태로 바로 실행하실 수 있습니다. 윈도우 64비트 운영체제를 기준으로 ZoomIt64.exe를 실행하시면 처음 실행했을 때는 라이센스 동의 안내 문구가 등장합니다.

 

 

 

  이제 실제로 줌잇(ZoomIt)이 실행된 이후에는 화면 확대 등의 기능에 대하여 어떤 단축키를 사용할 지 설정할 수 있습니다. 기본적으로 화면 확대(Zoom) [Ctrl + 1] 단축키로 설정되어 있네요.

 

 

  그래서 [Ctrl + 1] 을 누른 뒤에 화면을 확대해서 마우스로 슥슥 그리시면(Draw) 다음과 같이 그려집니다.

 

728x90
반응형

728x90
반응형

  암호가 걸려 있는 PDF 파일의 암호를 알고 있을 때 암호를 물어보지 않도록 보안 설정을 바꾸는 방법을 소개하고자 합니다. (참고로 이 포스팅은 암호가 걸려 있는 PDF 파일의 암호를 뚫는 방법은 아닙니다.)

 

  예를 들어 구글 크롬(Chrome) 브라우저를 이용해 암호가 걸려 있는 PDF를 열 때는 다음과 같이 비밀번호를 입력해야 합니다.

 

 

  파일을 연 뒤에는 프린트(Print) 버튼을 눌러서 다른 형식의 PDF로 저장하면 됩니다.

 

 

  다음과 같이 [PDF로 저장]을 눌러서 PDF로 다시 저장할 수 있도록 합니다.

 

 

  이렇게 저장된 PDF 파일에는 암호가 걸려있지 않게 됩니다.

 

728x90
반응형

728x90
반응형

  최근에 방송용/녹화용 무료 소프트웨어로 가장 많이 사용되고 있는 것들로는 OBS, PRISM 등이 있습니다. 개인적으로 PRISM Live Studio은 사용 방법이 간단하고 사용자 친화적이라는 생각이 듭니다. (혹시 더 좋은 방송/녹화용 소프트웨어가 있다면 추천해주세요!) 아무튼 저는 최근에 방송이나 녹화 목적으로 PRISM을 이용하고 있습니다. 처음에는 네이버 밴드에서 강의 목적으로 PRISM을 이용했는데 지금은 이게 제일 편해졌습니다. 참고로 OBS도 무료이고 고급스러운 기능들을 제공합니다. 자기한테 가장 잘 맞는 것을 이용하시면 됩니다.

 

※ PRISM Live Studio 설치 방법 ※

 

  PRISM Live Studio는 아래 경로를 통해 설치하실 수 있습니다. (근데 왜 웹 사이트가 HTTPS가 아니라 HTTP를 쓰고 있는 거지... 기분 탓인가...)

 

  ▶ PRISM 설치 경로: prismlive.com/

 

PRISM Live Studio

멀티 플랫폼 라이브 방송과 다양한 영상 제작 및 편집 기능을 제공하는 크리에이터 툴

www.prismlive.com

 

  웹 사이트에 방문하여 바로 설치를 진행할 수 있습니다. 자신의 운영체제에 맞는 설치 프로그램을 자동으로 제안해 주네요.

 

 

  설치 프로그램을 실행하여 설치를 진행하실 수 있습니다. 기본적으로 [확인] 버튼만 눌러도 복잡한 설정 없이 설치를 진행하실 수 있습니다. 참고로 PRISM Live Studio를 이용하기 위해 회원가입/로그인 과정이 필요할 수 있습니다. 아무튼 하라는 대로만 진행하면 됩니다. 개인적으로 초보자 분들도 쉽게 따라할 수 있는 편입니다.

 

 

  다음과 같이 PRISM이 설치될 경로를 설정하여 설치를 진행할 수 있습니다.

 

 

  이어서 다음과 같이 설치가 진행되는 것을 알 수 있습니다.

 

 

  최종적으로 설치가 끝나면 다음과 같이 [시작] 버튼을 눌러서 시작을 진행할 수 있습니다.

 

 

※ 기본 설정 방법 ※

 

  기본적인 상태는 다음과 같습니다. 먼저 [장면 목록]에 여러 개의 장면이 들어갈 수 있습니다. 사실 기본적으로 주어지는 하나의 장면만 가지고도 웬만한 방송을 진행할 수 있습니다.

 

 

  가장 먼저 [소스 목록]에서 [모니터]를 추가해 보겠습니다. 모니터를 추가하면 현재 우리의 컴퓨터 모니터 화면을 방송/녹화 비디오에 송출할 수 있습니다.

 

 

  다음과 같이 송출하고자 하는 디스플레이를 선택할 수 있습니다. 저는 현재 하나의 모니터를 쓰고 있으며, 모니터 화면 해상도는 1920 X 1080입니다. 이것 그대로 디스플레이 선택이 가능한 것을 알 수 있습니다. 그러면 제 화면에 보이는 내용 전체가 그대로 송출됩니다.

 

 

    또한 마이크를 사용하고자 한다면, 가장 먼저 컴퓨터에 마이크를 연결합니다. 이후에 [마이크/보조] 부분을 우클릭하여 [속성]에 들어가도록 합니다.

 

 

  이어서 자신이 연결한 마이크를 선택하면 됩니다.

 

 

  이제 본격적으로 방송이나 녹화를 진행하기 전에 전체 환경 설정을 진행할 필요가 있습니다. 가장 먼저 선택해야 할 것은 방송/녹화 비디오의 해상도입니다. 최소한 1920 X 1080 (HD Quality) 이상의 해상도를 선택하는 것이 좋습니다. 요즘에는 HD보다 낮은 화질인 경우 저화질 취급을 받기 때문입니다. 참고로 자신의 컴퓨터 사양에 따라서 높은 해상도를 선택하지 못할 수도 있습니다.

 

 

  이후에 가장 중요한 부분을 설정해 주겠습니다. 바로 [방송] 및 [녹화] 부분에서 인코더(Encoder)를 설정하는 것입니다. 저는 일반적으로 다음과 같이 방송과 녹화 목적으로 모두 소프트웨어 (x264)를 선택하여 CPU로 녹화를 진행합니다. 여기에서 소프트웨어 (x264)는 컴퓨터의 CPU를 의미하는데요. 제 컴퓨터는 CPU 성능이 좋은 편이기 때문입니다.

 

 

  참고로 인코더는 소프트웨어와 하드웨어로 나누어지는데, 이때 하드웨어 (QSV)는 내장 그래픽 카드를 이용하는 경우이고, 추가적으로 NVIDIA 그래픽 카드가 있다면 하드웨어 (NVENC) 그래픽 카드도 선택할 수 있을 것입니다. 기본적으로 소프트웨어가 아닌 하드웨어를 선택하게 되면 GPU를 이용하므로 상대적으로 CPU를 적게 사용하여 게임이나 강의 녹화를 진행할 수 있게 됩니다.

 

  단, 자기가 사용하는 프로그램이나 컴퓨터 환경에 따라서 효율적인 선택지가 다를 수 있습니다. 여러 번 선택을 해보면서 가장 수월하게 방송/녹화가 진행되는 경우를 채택하시면 됩니다.

 

 

  예를 들어 게임을 GPU로 돌릴 때는, 녹화 프로그램(PRISM)으로 소프트웨어(CPU)를 선택하는 방식을 사용할 수 있습니다. 혹은 반대로 이용할 수도 있어요. 그래서 녹화된 영상이 뚝뚝 끊기거나 오류가 발생하는 경우에는 여러 번 선택을 해보시면서 가장 좋은 조합을 찾으셔야 합니다.

 

  이제 실제로 방송을 보는 사람 입장에서의 화면을 설정합시다. 이후에 [지금 적용] 화살표 버튼을 눌러서 편집 중인 영상(EDIT) 부분이 실제 방송용 혹은 녹화용 화면으로 나오도록 만드시면 됩니다.

 

 

※ 녹화하는 방법 ※

 

  녹화를 진행할 때에는 [Rec] 버튼을 누르시면 됩니다. 녹화를 마치면 자신이 미리 설정했던 경로에 녹화된 동영상 파일이 저장됩니다.

 

 

※ 실시간 방송 하는 방법 ※

 

  또한 실시간 방송을 진행할 때에는 가장 먼저 [채널 추가]를 누르시면 됩니다.

 

 

  다음과 같이 다양한 채널을 선택할 수 있습니다.

 

 

  참고로 많은 방송 플랫폼은 고유하게 부여되는 스트림 키(Stream Key)만 가지고도 방송을 진행할 수 있도록 합니다. 그래서 스트림 키가 노출된다면, 다른 사람이 제 계정으로 방송을 할 수도 있는 겁니다. 혹은 해당 플랫폼 계정으로 로그인을 한 뒤에 자동으로 PRISM과 연동이 되는 방식으로 동작하는 플랫폼도 존재합니다.

 

  아무튼 유튜브(YouTube)의 경우 다음과 같이 스트림 키를 입력하여 유튜브 채널로 실시간 방송을 송출할 수 있습니다.

 

 

  이후에 동시에 송출하고자 하는 채널들을 선택한 뒤에 [Go Live] 버튼을 누르면 실제로 라이브 방송이 진행됩니다.

 

728x90
반응형