반응형

분류 전체보기 138

파이썬 실전) 자막 이름 변경 프로그램(Subtitles Changer) 1. 파일 이름 변경

이번 글에서는 파이썬의 os 라이브러리를 이용하여 자막 이름을 영상의 이름으로 바꾸는 방법에 대해서 써보겠습니다. 1. 코드 우선 파일에 접근해야 하므로 os 라이브러리를 import 해 줍니다. import os 이제 폴더에 접근할 예정입니다. 폴더에는 Python 파일과 테스트를 위해 만든 Movie.avi(영상), subtitle.smi(자막)이 있습니다. 이제 파일이 존재하는 폴더의 경로를 찾아야 합니다. 실제로 프로그램을 만들게 되면 평소 다른 프로그램에서 사용되는 Window의 폴더 선택 창을 통해서 폴더 경로를 찾을 수 있지만, 이번 시간에는 Python 파일과 같이 있다는 전제로 진행하겠습니다. Python 파일의 경로를 찾는 코드는 os 모듈의 getcwd()라는 함수입니다. direct..

파이썬 실전) 자막 이름 변경 프로그램(Subtitles Changer) 0. 설계

1. 현상 파악 해외 드라마나 애니메이션을 다운로드하여서 보려고 하면 자막이 필수입니다. 이때 자막이 동봉되어 있지 않거나, 자막이 없는 영상을 받았을 경우 자막을 따로 다운로드하게 됩니다. 이렇게 자막과 영상을 받은 곳이 다르면 높은 확률로 자막과 영상의 이름이 달라서 동영상 플레이어가 자동으로 자막을 인식하지 못하게 됩니다. 그럴 때 자막의 이름을 영상과 똑같이 일치시켜주면 자동으로 자막이 포함되어 영상이 송출됩니다. 영화는 1개 또는 2개의 영상이므로 자막의 이름을 손수 바꿔줄 수 있지만, 예를들어 왕좌의 게임의 경우 평균 10화씩 8 시즌이 방영되었기에 총 작업해야 하는 자막의 숫자는 80개입니다. 이것을 손으로 하나하나 바꿔주는 것은 무리이기에 이것을 한 번에 해결해 주는 프로그램이 필요합니다...

당신이 모르는 사이에 채굴하고 있다. 비트토렌트 토큰(BTT)

토렌트는 대용량의 파일을 편하고 빠르게 공유할 수 있도록 했습니다. 그렇기에 많은 사람들이 토렌트를 통해서 파일을 공유하고 있습니다. 이때 토렌트를 사용하는 프로그램으로 uTorrent와 BitTorrent가 대표적입니다. 여기서 BitTorrent를 사용하시는 분들이라면 비트토렌트 토큰(BTT)에 대해서 알아야 할 필요가 있습니다. 1. BTT BitTorrent Token(BTT)는 비트토렌트에서 출시한 Tron(트론)기반의 암호화폐입니다. Torrent의 특성상 자신이 seeder(공유자)가 될 경우 이익은 없고, 불리한 점만 있기 때문에 대부분의 사람들은 자신의 다운로드가 완료되면 그 즉시 해당 토렌트를 삭제해버리는 경우가 대부분이었습니다. 그렇기에 BitTorrent 측에서는 이러한 사람들을 s..

IT&게임/정보 2021.04.24

암호화폐 채굴 리뷰) 채굴의 가치는 얼마나될까?

최근 5년간 코인의 가치는 급격히 상승했습니다. 요즘에는 "돈이 복사가 된다"라는 말이 나돌 정도로 암호화폐의 가치는 높습니다. 그런데 막상 투자를 하려고 하면 "여기가 최고점은 아닐까?"라는 생각으로 망설여 지시는 분들이 많습니다. 그래서 직접적으로 돈이 들어가지 않는 채굴에 관심을 가지시는 분들이 많습니다. 이번에는 개인이 채굴을 했을 때, 얼마나 벌 수 있을까에 대해서 알아보겠습니다. 1. 채굴 조건 현재 저는 라이젠 2600, 32GB RAM, RTX 2080 Super를 사용중입니다. 이때 CPU의 성능이 평균보다 떨어지는 데다 CPU채굴은 채산성의 매우 낮으므로 GPU만 채굴을 했습니다. 채굴 프로그램은 EasyMiner라는 프로그램을 사용하였습니다. EasyMiner는 채굴 프로그램중 매우 ..

IT&게임/리뷰 2021.04.20

파이썬 openGL 1. 기본 그리기(점, 선, 삼각형, 사각형, 다각형)

파이썬 openGL 1번째 강의는 openGL을 통해서 삼각형과 사각형을 그리는 방법입니다. 0. openGL의 방식 openGL은 저수준 API로, 무언가를 그리기 위해서는 모든 것을 본인이 직접 지정해 주어야 합니다. 예를 들어 고수준 API는 도형을 만들기 위해 한 줄의 코드로 만들 수 있다면, 저수준 API인 openGL은 도형을 만들기 위해 기본 색깔을 선언하고, 각 꼭짓점의 위치를 선언하고, 화면에 띄우겠다는 코드를 넣어야 합니다. 그렇기에 이번 강의에서는 openGL의 모든 코드를 설명해 드리며, 다음 강의부터 중복되는 코드는 생략하도록 하겠습니다. 1. openGL의 기본 main함수 파이썬에서 openGL을 사용하기 위해서는 모듈을 import 해줄 필요가 있으며, 필요한 코드는 다음과 ..

파이썬 openGL 0. openGL이란?

안녕하세요. 이번 시간부터는 파이썬을 이용한 openGL에 대해서 글을 써보자 합니다. 우선 openGL에 대한 기본 설명과 파이썬에서 openGL을 사용하는 방법에 대해서 알려드리고자 합니다. 1. openGL openGL(Open Graphics Library)은 실리콘 그래픽스사에서 만든 2차원/3차원 표준 그래픽 API입니다. 비슷한 예시로는 마이크로소프트사의 Direct3D가 있으며, 이 두 API가 대부분의 그래픽을 담당한다고 할 수 있습니다. openGL은 저수준 API로, Direct3D에 비해서 해야 하는 작업의 양은 많지만, 윈도우에서만 작동하는 Direct3D와는 달리 크로스 플랫폼을 지원하며, openGL을 지원하는 대부분의 프로그래밍 언어에서 문법이 거의 비슷하기 때문에 어디에서나..

안드로이드 웹뷰(Android WebView) 관련 오류! 원인과 해결방법

오늘 특정 휴대폰에서 카카오톡이나 네이버 같은 앱들이 계속 중단됨 이슈로 사용이 불가능해지는 일이 발생했습니다. 현재는 해당 이슈가 해결된 상태이지만 해당 이슈의 발생 원인과 해결방법에 대해서 알려드리려고 합니다. 1. 증상 이번 이슈에서 사용자들에게 가장 큰 불편을 끼친 부분이 바로 카카오톡과 네이버의 사용이 불가능해지는 것이었습니다. 카카오톡을 사용하지 않을 때에도 계속 중단됨이라는 팝업이 뜨고, 카카오톡을 실행하려고 하면 동일한 증상으로 카카오톡이 바로 꺼졌습니다. 예외적으로 누군가의 카카오톡 메시지 알람을 경유해서 접속할 때에는 사용이 가능한 기기도 있지만 결국 사용에 불편함을 끼친 것은 변함이 없습니다. 2. 원인 원인으로 지목된 것은 Android 시스템 WebView라는 앱입니다. 이 앱은 ..

IT&게임/정보 2021.03.23

파이썬 실전) 브루트 포스 프로그램 2. 멀티스레딩을 이용한 브루트 포스

이번 강의는 파이썬의 멀티스레딩을 이용하여 브루트 포스를 하는 방법에 대해서 알려드리려고 합니다. 1. 멀티스레딩 기본적으로 프로그램은 한 번에 하나의 명령을 수행합니다. 그 속도가 매우 빠르기 때문에 일반적인 상황에서는 문제가 되지 않습니다만, 브루트 포스처럼 엄청난 양의 연산을 해야 되는 경우에는 하나씩 처리하는데 시간이 많이 걸립니다. 그렇기에 나온 것이 바로 멀티스레딩입니다. 예를 들어 자동차를 만든다고 가정할 때, 한 명이 하나의 자동차를 만드는 것은 매우 힘든 일입니다. 하지만 100명이 붙어서 만든다면 그 힘은 현저히 줄어들 것입니다. 이러한 원리를 컴퓨터에서도 적용할 수 있습니다. 먼저 멀티스레딩은 두 가지로 나누어집니다. 하나는 일시적 멀티스레딩이며, 나머지는 동시 멀티스레딩입니다. 일시..

파이썬 실전) 로또 번호 생성기 完. 테스트

저희는 7개의 강의를 통해 로또 번호 생성기 프로그램을 만들었습니다. 마무리로 해당 프로그램이 진짜로 가능성이 있는지 재미 삼아 테스트해 보았습니다. 1. 번호 생성 시도 횟수가 많으면 당첨될 확률이 많아지는것은 당연한 것이기 때문에, 시도 횟수는 평소에 구매하는 10개로 정했습니다. 조건은 고정수 없음, 연속수 허용, 이전 회차와 중복은 2개까지 허용입니다. 위 사진은 954회 당첨번호가 나오기 전에 만들어진 사진입니다. 이제 만들어진 번호를 저장하여 로또를 구매하였다고 가정하겠습니다. 이제 이렇게 만들어진 번호를 다음 회차에 확인해 보았습니다. 2. 번호 확인 로또 번호 발표 이후, 번호를 확인해 보았습니다. 번호를 확인한 결과, 무려 로또 4등에 당첨되었습니다. 실제로 구매했다면 10회의 가격인 1..

파이썬 실전) 브루트 포스 프로그램 1. for문을 이용한 브루트 포스

이번 강의는 브루트 포스의 방법으로써, 파이썬에서 기본 지원하는 for문을 이용하여 브루트 포스를 해보려고 합니다. 1. 기초 파이썬의 for문에서 브루트 포스를 하려면 모든 경우의 수를 만들 수 있어야 합니다. 이러한 경우의 수를 만들어 주는 모듈이 바로 intertools 모듈의 product라는 함수입니다. from itertools import product itertools 모듈에는 여러 조합을 만드는 방법이 있지만, 브루트 포스 프로그램에서는 product를 사용해서 만들 예정입니다. product 모듈의 사용 방법은 다음과 같습니다. list = product(A, repeat=B) A는 조합을 만들 내용을 입력하며, B는 자릿수를 입력합니다. product는 기본적으로 여러 리스트들의 조합..

반응형