안경잡이개발자

728x90
반응형

  장시간 공부 타임랩스 동영상을 찍은 뒤에 동영상의 길이를 압축하여 시간을 줄이고 싶다면 어떻게 하면 될까요? 예를 들어 동영상의 길이가 7시간인 상황에서 동영상을 정확히 3분의 시간으로 압축(빠르게 재생)하고자 하는 경우를 생각해 봅시다. 이는 간단히 생각해 보아도 동영상의 재생 속도가 100배 이상 빨라지는 것과 마찬가지의 효과를 낼 것입니다.

 

 필자는 7시간짜리 타임랩스 영상을 프리미어로 불러왔습니다. 참고로 시간을 압축한 동영상을 제작하고자 하는 경우 원래의 시간이 어느 정도인지 알기 어렵기 때문에 [시간 코드] 효과를 넣어주는 것이 좋습니다. 따라서 [효과] 탭에서 [시간 코드] 효과를 선택해 넣어주겠습니다. 이를 통해 전체 클립의 길이에서 어느 정도까지 재생되었는지 동영상 화면에 출력할 수 있습니다.

 

 

  [시간 코드] 효과를 넣은 뒤에는 화면 내 적절한 위치로 옮겨주시고, 필요하다면 오프셋(offset)을 설정하여 시간 코드의 시작 시각이 00시 00분 00초가 될 수 있도록 합니다.

 

 

  이어서 시간을 압축하고 싶다면 [속도/지속 시간] 란에 들어가서 전체 동영상 속도를 줄이면 됩니다. 프리미어 프로에서는 특정한 비율만큼 속도를 줄일 수도 있으며, 혹은 특정한 길이를 가지도록 알아서 빠르기가 조절되도록 만들 수도 있습니다.

 

 

  필자의 경우 원본 동영상의 길이가 7시간이 넘기 때문에 100배 빠르게 하여 4분가량의 길이로 압축했습니다. 필자가 사용하고 있는 프리미어 프로에서는 최대 100배까지만 빠르게 만들 수 있습니다. (최대 10000%의 속도)

 

 

  필자가 사용하고자 하는 음악 파일은 3분가량이기 때문에, 사실 4분의 길이보다 더 많이 줄여야 합니다. 그러므로 일단 100배까지만 빠르게 설정한 뒤에 동영상을 내보내기 하겠습니다. [내보내기] 창을 열어 다음과 같이 동영상을 만들어 주겠습니다. 필자의 경우 원본 동영상의 길이가 7시간이므로 [내보내기]를 수행하는 데에만 30분가량의 시간이 소요되었습니다.

 

 

  내보내기가 완료되면 빠르게 감기가 완료된 이미지를 다시 프리미어로 불러와, 다시 한번 속도를 빠르게 만들어 음악의 길이와 동일하게 맞추어 주면 됩니다.

 

 

  결과적으로 7시간짜리 동영상을 2분 45초짜리 영상으로 압축(빠르게 감기)한 영상을 제작할 수 있었습니다.

 

 

728x90
반응형

728x90
반응형

  원타임 패드(One-time Pad) 암호 시스템은 간단하면서도 강력한 암호 시스템이다. 메시지를 주고 받는 두 개체가 동일한 패드(pad)를 공유하고 있다면 중간에서 암호화된 메시지를 가로채도 복호화할 수 없다. 여기에서 중요한 점은 평문과 키의 길이는 같다는 것이다. 평문이 256 bits이라면, 키 또한 256 bits이다.

 

  암호화 및 복호화에 사용되는 공식은 다음과 같다.

 

(평문 XOR 키) XOR 키 = 평문

 

  파이썬으로 간단히 구현한 것은 다음과 같다. 아래 예시에 등장한 모든 키(key)와 평문(message)의 길이는 256 bits이다.

 

from binascii import hexlify
import random

letters = '0123456789ABCDEF'

def xor(a, b):
    length = len(a)
    result = []
    for i in range(length):
        now = int(a[i], 16) ^ int(b[i], 16) # letter -> hex -> xor
        result.append(letters[now])
    return result


print("---------- 데이터 생성 및 XOR 연산 테스트 ----------");
a = [random.choice(letters) for i in range(64)] # 256 bits
b = [random.choice(letters) for i in range(64)] # 256 bits

print(f"A = 0x{''.join(a)}") # A 출력
print(f"B = 0x{''.join(b)}") # B 출력
print(f"A xor B = 0x{''.join(xor(a, b))}") # A xor B 출력

# 암호화 함수
def encrypt(message, key):
    encrypted_message = xor(message, key)
    return encrypted_message

# 복호화 함수
def decrypt(encrypted_message, key):
    message = xor(encrypted_message, key)
    return message


print("---------- 사용 예시 1 ----------");
key = [random.choice(letters) for i in range(64)] # 256 bits
message = [random.choice(letters) for i in range(64)] # 256 bits
encrypted_message = encrypt(message, key)
decrypted_message = decrypt(encrypted_message, key)

print(f"Key = 0x{''.join(key)}") # Key 출력
print(f"Message = 0x{''.join(message)}") # Message 출력
print(f"Encrypted Message = 0x{''.join(encrypted_message)}") # 암호화 결과 출력
print(f"Decrypted Message = 0x{''.join(decrypted_message)}") # 복호화 결과 출력

print("---------- 사용 예시 2 ----------");
message = "HELLO APPLE BANANA CARROT DURIAN"
print("문자열 메시지:", message)

message = message.encode()
message = hexlify(message).decode().upper()
encrypted_message = encrypt(message, key)
decrypted_message = decrypt(encrypted_message, key)

print(f"Key = 0x{''.join(key)}") # Key 출력
print(f"Message = 0x{''.join(message)}") # Message 출력
print(f"Encrypted Message = 0x{''.join(encrypted_message)}") # 암호화 결과 출력
print(f"Decrypted Message = 0x{''.join(decrypted_message)}") # 복호화 결과 출력 

result = bytearray.fromhex(''.join(decrypted_message)).decode()
print("복호화된 문자열 메시지:", result)

 

  실행 결과는 다음과 같다.

 

 

  참고로 원타임 패드 암호 시스템은 두 개체가 서로 동일한 패드(pad)를 공유하고 있어야 한다는 점에서 현실적으로 적용하기에 어려운 점이 있다. 그리고 평문과 키의 길이가 동일해야 한다는 특징을 기억할 필요가 있다.

728x90
반응형

728x90
반응형

  윈도우 키 + R을 눌러 [실행] 창을 열고, winver를 입력한다.

 

 

  이후에 다음과 같이 윈도우(Windows) 운영체제의 버전이 나온다.

 

728x90
반응형

728x90
반응형

※ 어도비 클리너 소개 ※

 

  어도비(Adobe) 프로그램을 한꺼번에 제거할 때 사용할 수 있는 도구어도비 클리너(Adobe Cleaner)를 소개합니다. 말 그대로 포토샵, 프리미어와 같은 어도비 프로그램들을 한꺼번에 제거해주는 프로그램입니다.

 

  어도비 클리너는 Creative Cloud Cleaner라는 명칭으로 불리기도 합니다.

 

  이 프로그램을 사용하는 가장 큰 이유 중 하나는 어도비 소프트웨어 버전 업그레이드입니다. CS6, CS5 등 이전 버전의 소프트웨어를 사용하던 사람이 한꺼번에 CC 버전의 소프트웨어로 바꾸거나 할 때는 이전 버전의 프로그램을 한꺼번에 지울 필요가 있습니다. 아무튼, 자신이 사용하고 있는 어도비 소프트웨어를 한꺼번에 제거해야 한다면 효과적인 프로그램입니다.

 

※ 유의 사항 ※

 

  일단 사용 중이던 어도비 소프트웨어를 제거하는 경우에는 혹시나 자신이 작업하던 프로젝트 파일이 날아가지 않도록 하기 위해서 프로젝트 폴더를 백업해 둘 필요가 있습니다.

 

  일반적으로 어도비 제품군을 사용하시는 경우 아마 다음의 경로가 기본 프로젝트 경로일 것입니다. (이는 개인별로 확실하게 확인할 필요가 있습니다.) 어도비 프리미어 프로(Adobe Premiere Pro)를 사용하는 분이라면 아래 경로에 Premiere Pro라는 이름의 폴더가 있는 방식입니다. 따라서 이러한 프로젝트 폴더 자체를 저장해 둘 필요가 있습니다.

 

  ▶ 어도비 기본 프로젝트 경로: C:\Users\{사용자명}\Documents\Adobe

 

  예를 들어 저는 프리미어 프로를 쓰고 있으며 프로젝트 폴더를 바꾸지 않았기 때문에 아래 그림에 보이는 Premiere Pro 폴더에 각종 프로젝트 파일들이 저장되어 있습니다. 다시 말해 제가 지금까지 작업했던 모든 영상 편집 프로젝트들은 여기에 저장되어 있습니다. 따라서 혹시나 이전에 작업하던 영상 편집 작업물들을 날리고 싶지 않다면 이 폴더를 백업해 둘 필요가 있는 것입니다.

 

 

  저는 이 폴더가 총 13GB만큼이나 차지하고 있네요. 저는 이 파일들을 별도의 폴더에 백업해두었습니다. 또한, 어도비 공식 사이트에 의하면 다음의 경로에 있는 폴더도 따로 백업해두라고 하네요.

 

  ▶ CoreSync 경로: C:\Users\{사용자명}\AppData\Roaming\Adobe\CoreSync

 

  저는 아래와 같이 폴더가 구성되어 있는데요. 일단 시키는 대로 이것들도 다 백업해 두었습니다.

 

 

※ 어도비 클리너 설치 및 사용 방법 ※

 

  이제 어도비 클리너를 설치해서 사용해 봅시다.

 

  ▶ 어도비 클리너 경로: helpx.adobe.com/kr/creative-cloud/kb/cc-cleaner-tool-installation-problems.html

 

Creative Cloud Cleaner Tool을 사용하여 설치 문제 해결

Adobe Creative Cloud Cleaner Tool은 고급 컴퓨터 사용자를 위한 도구이며 이전 Adobe 소프트웨어 제거, 손상된 설치 파일 정리, Adobe 서버 연결을 위한 호스트 파일 수정 등 여러 가지 일반적인 문제를 해

helpx.adobe.com

 

  사이트 접속 이후에 자신의 운영체제에 맞게 설치 프로그램을 다운로드받습니다.

 

 

  이후에 클리너(cleaner) 프로그램을 [관리자 권한으로 실행]합니다.

 

  1. 영어(English)로 설명을 보기 위해 e를 누르고 엔터(Enter)를 누릅니다.

  2. 이후에 라이센스 관련 검토 메시지가 나오는데 수락하려면 y를 누르고 엔터(Enter)를 누릅니다.

 

  결과적으로 삭제할 앱을 선택하라는 메시지가 나오는데, 원하는 옵션에 맞게 선택한 뒤에 엔터(Enter)를 누르면 됩니다. 저는 CC와 CS6를 모두 제거하기 위해 3번을 선택했습니다.

 

 

  이어서 자신의 컴퓨터에 설치된 프로그램들이 등장하는데, 구체적으로 어떤 프로그램을 지울지 기입하면 됩니다. 저는 그냥 CS6와 CC 관련된 프로그램을 남김없이 삭제하기 위해 [Clean All]을 선택했습니다.

 

 

  제거가 완료되면 다음과 같은 화면을 만날 수 있습니다. 이후에 컴퓨터를 재부팅 하면 깔끔하게 어도비 프로그램들이 제거된 것을 확인할 수 있습니다.

 

 

※ 참고 ※

 

  참고로 중요한 파일을 모두 백업해 놓는 것이 좋습니다. 물론 실제로 어도비 클리너를 실행해 본 결과, 어도비 프로젝트 파일은 다음과 같이 그대로 남아있었습니다. 다시 말해 프로그램 파일만 제거하고 프로젝트는 남겨 놓는 것처럼 보이긴 합니다. 하지만 혹시 모르니까 클리너를 실행하기 전에는 꼭 백업 해놓아야 합니다.

 

728x90
반응형

728x90
반응형

최근에 메인보드가 고장 나서 수리 비용으로 거금 60만 원이 들었다. 아침에 먹던 사과즙이 노트북의 USB 포트로 흘러 들어갔던 것이다. 퇴근 후에 집에 돌아왔을 때 이미 내 노트북의 전원은 들어오지 않고, 배터리 충전기를 연결해도 충전이 되지 않는 상태였다.

확인해 보니 물이 들어간 상태에서 전원이 계속 공급되고 있었다는 걸 직감하게 되었고, 그로 인해 메인보드가 많이 부식되었고 IC 및 내부 회로가 손상 갔을 거라고 예상할 수 있었다. 메인보드 교체 비용은 최소 몇십만 원인 경우가 많아서 머리가 아팠다.


※ 노트북에 물을 쏟았을 때 대처 방법 ※

 

노트북에 물을 쏟은 것을 목격한다면, 일단 그 즉시 배터리 충전기를 뽑고 전원을 꺼야 한다. 그리고 가능하다면 (드라이버로 노트북의 아래쪽을 연 뒤에) 노트북의 내장 배터리를 분리할 필요가 있다. 그 뒤에 AS 센터에 방문하는 것이 정석이다.

 

기본적으로 각 부품이 물에 젖은 상태에서 전기가 통하면, 부품의 접점에서 부식이 발생하고 쇼트가 발생하여 메인보드가 완전히 고장 날 수 있다. 만약 키보드에 물에 쏟은 사실을 인지하지 못하고 있다가 나중에 발견했다면, 십중팔구 이미 메인보드는 저세상으로 가 있는 경우가 많다. (내가 그랬다.)

더불어 오렌지 주스와 같이 점도가 있는 액체인 경우에는 부품을 충분히 말렸다고 하더라도 여전히 잔재물이 남아있을 수 있기 때문에 위험하다. 따라서 이러한 경우에는 시간이 지난 뒤에 '이 정도면 말랐겠지'라고 생각하면서 노트북을 다시 켜기보다는 곧장 AS 센터로 가는 것이 좋다. 드라이기로 말린 뒤에 육안으로 다 말랐다는 생각이 들어 전원 스위치를 눌렀다가 문제가 더 심해지는 경우도 있다.

※ 노트북과 물 ※

 

노트북은 특히 물에 위험하다. 키보드 바로 아래에 메인보드(마더보드)가 위치하는 경우가 많기 때문이다. 실제로 드라이버로 노트북의 하판을 뜯어 보면 메인보드가 적나라하게 보인다.

 

또한 많은 사람이 간과하고 있는 위험 요소 중 하나로 노트북의 USB 포트나 배터리 충전 포트가 있는데, 여기도 생각보다 구멍이 크기 때문에 조심할 필요가 있다. USB 포트의 경우 구멍이 커서 노트북 근처에 놓은 물통의 물이 모종의 이유로 USB 포트로 들어가서 메인보드 쇼트가 발생하거나 부품이 부식되는 경우도 있다.

 

아래 사진은 삼성 Always 9 노트북 기종의 USB 포트 예시다.

 

출처: https://www.notebookcheck.net/

 

또한 노트북 부품을 점검하는 과정에서 메인보드를 꺼내서 작업하다가 정전기가 발생하여 쇼트가 발생하는 경우도 있고, 아무튼 이유는 정말 다양하므로 항상 조심해야 한다.

※ 주변 기기 ※

필자의 경우에는 메인보드만 고장 난 게 아니라, 노트북에 연결되어 있던 마우스와 랜선 어댑터까지 고장 났다. 사실 메인보드 쇼트가 발생했다면 당연히 메인보드와 연결된 모든 주변 기기도 위험할 수 있다. 그래도 마우스가 고장 날 거라고는 예상을 못 했는데, 예상치 못한 지출이 더 발생했다. 그래도 다행인 점은 SSD는 정상이었다는 것이다. 마우스는 고장 났지만, SSD가 살아남아서 정말 다행이다.

 

다만 내 윈도우(Windows) OS는 메인보드에 귀속되어 있었기 때문에 윈도우 정품 인증을 다시 해야 했으며, 카카오톡 인증도 다시 받아야 해서 카카오톡 대화방이 모두 초기화되는 문제가 추가로 발생했다.

 

아래 사진은 삼성 Always 9 노트북 기종의 하판 예시다. (내가 수리를 맡겼던 기종이기도 하다.) 여기에서 빨간색 박스를 친 부분이 SSD이고, 초록색 박스로 친 부분이 USB 및 배터리 포트가 있는 부분이다. 필자의 경우에는 이 USB 포트 부분으로 사과즙이 들어가서 쇼트가 났던 것으로 보인다.

 

출처: https://www.notebookcheck.net/

728x90
반응형

728x90
반응형

  매우 많은 분이 하나의 구글 계정을 이용하여 구글에서 메일 서비스를 이용하고 검색 기능을 이용합니다. 그렇기 때문에 다른 사람이 나의 구글 계정을 알게 된다면 개인정보 및 사생활 침해 등 많은 문제가 발생할 수 있습니다. 이러한 문제는 일반적으로 공용 컴퓨터나 다른 사람의 컴퓨터에서 구글 계정으로 로그인했을 때 가장 많이 발생합니다.

 

  그렇다면 외부의 다른 사람의 컴퓨터에서 구글 계정으로 로그인했다가 실수로 로그아웃하는 것을 잊었다면 어떻게 해결할 수 있을까요? 해결 방법은 생각보다 간단합니다. 네이버, 구글과 같은 서비스는 일반적으로 원격 로그아웃 기능을 제공합니다.

 

※ 원격으로 구글 계정을 로그아웃시키는 방법 ※

 

  방법은 간단합니다. 바로 구글의 [기기 관리] 페이지로 이동하시면 됩니다. 접속 이후에는 다음과 같은 화면을 만날 수 있습니다. 필자의 구글 계정은 3개의 컴퓨터 기기에 로그인되어 있습니다. 이 중에서 노트북에 대하여 [세부정보 더보기] 버튼을 눌러보겠습니다.

 

 

  필자의 경우 다음과 같이 노트북에서 오랜 기간 로그인되어 사용되고 있었네요. 단, 1월 20일 이후로는 해당 노트북으로 구글 계정을 이용하지 않았다고 나오네요. [로그아웃] 버튼을 눌러보겠습니다.

 

 

  이어서 [로그아웃] 버튼을 눌러 실질적으로 로그아웃을 진행합니다.

 

 

  이제 해당 노트북에 대하여 로그아웃이 완료되었기 때문에, 추후에 해당 노트북으로 크롬을 이용할 때는 다시 로그인해야 제 구글 계정을 사용할 수 있는 것입니다. 결과적으로 로그아웃 이후에는 다음과 같이 [로그아웃한 기기] 목록에 노트북이 출력되는 것을 확인할 수 있습니다.

 

728x90
반응형

728x90
반응형

  구인구직 사이트 중에서 사람인(Saramin)이라는 사이트가 있다. 사람인에 가입하게 되면 광고 메일이 하루에도 엄청나게 온다. 하루에도 5개 이상 오는데, 이건 개인적으로 너무하다고 생각한다. 광고 메일을 수신 차단하기 위해서 사람인에 로그인한 뒤에 메일 수신 설정 페이지로 이동하면 된다.

 

  ▶ 사람인 메일 수신 설정 페이지: www.saramin.co.kr/zf_user/member/set-incoming-email

 

  많은 경우 내가 직접 지원한 회사를 제외하고는 소식을 받아보고 싶지 않을 것이다. 그때는 [스크랩 메일 / 내 이력서 조회 메일]제외하고 나머지는 전부 [거부]로 설정하면 된다.

 

 

  참고로 여기에서 [스크랩] 이라는 것은 각 회사의 지원하는 버튼 옆에 있는 [별] 그림을 누르는 것을 의미한다.

 

728x90
반응형