본문 바로가기

전체 글

Python 가상환경 venv 간단한 사용법 + 주의사항 최근에 Python 사용할 일이 늘었습니다. 아직은 학생이라서 PyCharm 학생 계정으로 1년간 프로버전을 무료로 사용 중인데, 이건 프로젝트를 생성할 때 가상환경 venv를 자동으로 생성해주더군요. 사실 가상환경을 왜 쓰는지 처음에는 이해가 안 갔는데, 요즘 docker도 써보고 node.js도 써보니 이해가 갑니다. 어떤 프로그램을 만들 때, 보통은 독자적으로 파이썬의 순수한 고유 라이브러리만 써서 만들기도 하지만, 다른 사람이 개발한 라이브러리도 같이 포함해서 만들게 됩니다. 즉, 의존성이 생기게 됩니다. 이 의존성 문제 때문에, 자기 컴퓨터에서 정상적으로 돌아가던 프로그램이라 할 지라도, 다른 컴퓨터에 설치하였을 때 그것이 정상적으로 작동하리란 보장이 없습니다. 파이썬 인터프리터도 버전에 따라 .. 더보기
파이썬을 이용해서 유튜브 플레이리스트 동영상을 받아보기 2 - Playlist 클래스와 웹 크롤링 들어가기 전에 YouTube에 공유되는 영상들은 모두 저작권을 가지고 있는 영상입니다. 이를 다운로드 받아 무단으로 배포하거나, 저작권자의 허락 없이 임의로 수정하여 사용할 경우 법적 책임을 물을 수 있습니다. 이 포스트에서 YouTube 영상을 다운로드 받는 방법을 설명하고는 있으나, 이에 대해 발생하는 문제에 대해서는 저는 책임지지 않습니다. Playlist 사용해보기 사실 처음에 이 포스트를 작성할 때는 PyTube에 Playlist 다운로드 기능까지 구현되어 있는 줄은 몰랐습니다. 그래서 웹 크롤링으로 뻘짓을 했었는데, 굳이 그럴 필요가 없더군요. Playlist 객체는 Youtube 객체와 사용 방법이 비슷합니다. >>> from pytube import Playlist >>> pl = Play.. 더보기
파이썬을 이용해서 유튜브 플레이리스트 동영상을 받아보기 1 - PyTube 사용해보기 들어가기 전에 YouTube에 공유되는 영상들은 모두 저작권을 가지고 있는 영상입니다. 이를 다운로드 받아 무단으로 배포하거나, 저작권자의 허락 없이 임의로 수정하여 사용할 경우 법적 책임을 물을 수 있습니다. 이 포스트에서 YouTube 영상을 다운로드 받는 방법을 설명하고는 있으나, 이에 대해 발생하는 문제에 대해서는 저는 책임지지 않습니다. PyTube 불러오기 지난 포스팅에선 PyTube를 설치해보고, 간단하게 사용해 봤었습니다. PyTube로 유튜브 영상을 받기 위해선, PyTube 안에서 YouTube 클래스를 불러올 필요가 있습니다. from pytube import YouTube yt = YouTube('https://www.youtube.com/watch?v=846cjX0ZTrk') Yo.. 더보기
2018. 09. 01 백준 알고리즘 파이썬 정리 2133 - 타일채우기 소스코드 import sys num = int(sys.stdin.readline()) D = [0 for i in range(num+1)] D[1] = 0 if num >= 2: D[2] = 3 for i in range(3, num+1): D[i] = 3*D[i-2] for j in range(i-4, 0, -2): D[i] += 2*D[j] if i % 2 == 0: D[i] += 2 sys.stdout.write(str(D[num])) 코멘트 2n때랑 다르게 아래에 한칸이 더 생겨버렸으므로 더 생각을 해야만 했던 문제. 결국엔 초반 패턴을 직접 그려서 경우의 수를 구한 다음에, 그 이후에 나오는 것들은 다이나믹 프로그래밍으로 구하는 형식이었다. 결국 초기 값은 직접 파악해야한.. 더보기
파이썬을 이용해서 유튜브 플레이리스트 동영상을 받아보기 0 - PyTube 설치 들어가기 전에 YouTube에 공유되는 영상들은 모두 저작권을 가지고 있는 영상입니다. 이를 다운로드 받아 무단으로 배포하거나, 저작권자의 허락 없이 임의로 수정하여 사용할 경우 법적 책임을 물을 수 있습니다. 이 포스트에서 YouTube 영상을 다운로드 받는 방법을 설명하고는 있으나, 이에 대해 발생하는 문제에 대해서는 저는 책임지지 않습니다. YouTube 영상을 다운로드 받는 방법들 가끔 YouTube 영상을 다운로드 받고 싶은 경우가 생깁니다. 저같은 경우는 플레이 스테이션 게임 영상을 방송으로 YouTube에 저장한 뒤에 별도의 다운로드를 써서 받는 방법을 쓰고 있는데요. 간단하게 영상 한 두개만 받는 정도라면 https://ssyoutube.com 을 사용하거나 검색으로 찾아볼 수 있는 You.. 더보기
2018. 08. 15 백준 저지 알고리즘 정리(파이썬) 문제 1912 - 연속합 링크 - https://www.acmicpc.net/problem/1912 소스코드 import sys num = int(sys.stdin.readline()) arr = list(map(int, sys.stdin.readline().rstrip().split())) D = [0 for i in range(num)] D[0] = arr[0] for i in range(1, num): D[i] = max(D[i-1] + arr[i], arr[i]) sys.stdout.write(str(max(D))) 코멘트 솔직히 봐도 봐도 봐도 계속 틀려서 고심 끝에 답을 봐야했던 문제였다. 문제 접근 방법부터가 잘못 되었었다. 나는 D를 "해당 index까지 범위에서 가장 큰 연속합"으로 정의.. 더보기
2018. 08. 14 백준 저지 알고리즘 정리(파이썬) 문제 2156번 - 포도주 시식 링크 - https://www.acmicpc.net/problem/2156 소스코드 import sys wine = [] num = int(sys.stdin.readline()) for i in range(num): wine.append(int(sys.stdin.readline())) T = [[0 for i in range(2)] for j in range(num+1)] for i in range(1, num+1): T[i][0] = max(T[i-1]) if i > 1: T[i][1] = max(T[i-2][0] + wine[i-1] + wine[i-2], T[i-1][0] + wine[i-1]) else: T[i][1] = wine[i-1] sys.stdout.wri.. 더보기
카카오톡 채팅 로그 분석기(잉여력 분석기) ChatLogAnalyzer(KakaoTalk) 제품 설명 안드로이드 폰에서 대화내용 내보내기로 얻어낸 카카오톡 채팅로그 txt 파일을 분석합니다. 대화 참여 인원 중 누가 몇 글자를 떠들었는지, 각 개인별로 많이 언급했던 키워드는 어떻게 되는지를 표시하고, 시간대별, 날짜별 데이터도 전부 분석이 됩니다. 현재 버전에서는 개인별 키워드 분석만이 콘솔 상에 표시가 되며, 나머지 데이터들은 .json 형식으로 /result/(텍스트 파일 이름)/ 폴더에 전부 저장됩니다. 제작 계기 코드를 보면 알겠지만 상당히 조악합니다. 이유인 즉슨, 파이썬을 막 배웠을 초창기에 만들었기 때문입니다. 16년도 겨울에 학교에서 파이썬을 배우면서, 파이썬을 가지고 좀 더 유의미한 프로젝트를 하고 싶어 조사를 해보다가, 파이썬에.. 더보기