최류현의 컴퓨터 정보공간

프로그래밍/Python

파이썬 URL 단축 패키지를 이용한 긴 링크를 짧게줄여보자

파이썬 URL단축 패키지 파이썬에서 사용자에게 링크를 제공할 때 링크의 주소가 길면 보관이나 가독성이 떨어집니다. 또 짧은 주소를 선호하는 상황이 발생할 때 url단축서비스를 이용하여 단축할 수 있지만 매번 url단축 웹사이트에 접속해서 사용자가 직접 링크를 줄이는 과정을 생략하여 파이썬 내에서 패키지를 통해 자동으로 url을 단축시키는 방법에 대해 알아보겠습니다. 오늘 사용할 패키지의 이름은 pyshorteners입니다. 깃허브에 오픈소스로 업로드된 url단축 패키지입니다.(깃허브링크) 패키지 설치방법 pip install pyshorteners 터미널에 pip명령을 입력하여 간편하게 설치 할 수 있습니다. 사용방법 pyshorteners의 Documentation 페이지를 보면 간단한 사용예제를 참고..

프로그래밍/Python

파이썬 일기예보 서비스 만들기 (2) - 지역 선택하기

지난번 포스팅에서 Data.go.kr의 공공데이터로 제공하는 기상청 날씨API를 사용하여 일기예보를 확인해봤습니다.(이전글) 이번에는 지난번에 만든 파이썬코드에다 사용자가 원하는 지역을 선택하면 API제공자료로 제공되는 엑셀파일의 날씨정보 좌표를 찾아와 날씨를 확인하도록 추가해보겠습니다. 문제 해결 방법 각 지역의 x,y좌표가 담긴 엑셀파일 입니다. 사용자는 1단계, 2단계, 3단계 세번의 선택을하면 그에맞는 격자 X와 격자 Y값을 제공해주려고 합니다. 하지만 엑셀의 데이터가 너무 방대하므로 중복되는 시를 제외하고 하나로 일치하는 시끼리만 목록형으로 제공해주면 선택이 편하겠다고 생각했습니다. 터미널 환경에서는 사용자에게 선택지를 보여주는 것이 제한적이기 떄문에 웹 기반으로하여 어떤 환경에서든 쉽게 접근하..

프로그래밍/Python

파이썬 공공데이터 날씨 API를 사용하여 일기예보 서비스 만들기 (1)

파이썬에서 오픈 API를 사용하면 더 다양한 데이터를 처리하고 서비스를 제공할 수 있습니다. 다양한 API들중 공공데이터포털(DATA.GO.KR)에 접속해보면 사이트내에서 제공하는 다양한 종류의 데이터가 있습니다. 파이썬에서 공공데이터포털이 제공하는 기상청 API를 사용하여 일기예보 형식의 현재 기온을 알아보도록 하겠습니다. 파이썬을 통해 공공데이터의 날씨API를 사용하면 오늘의 날씨를 텔레그램 메신저나 카카오톡 등에서 조회할 수도 있으며 요즘 핫한 AI에 기능을 추가하여 음성으로 질문하면 오늘의 날씨를 알려주는 등 다양하게 활용할 수 있습니다. 공공데이터포털 기상청 API활용 신청 먼저 사용할 API를 찾아보겠습니다. 공공데이터포털에 접속하여 데이터 목록을 확인해보면 현재 약 1만여개의 오픈API를 제..

프로그래밍/Python

Python 카이사르 암호화

카이사르 암호(Caesar cipher) 카이사르 암호(Caesar cipher)는 로마의 황제였던 줄리어스 시저(Julius Caesar)는 시저 암호라고 불리는 환자 암호(substitution cipher, 문자를 다른 문자로 치환하는 암호)를 사용하였다. 카이사르 암호 또는 치환암호로 불리며 간단한 치환암화중 하나입니다. 카이사르 암호화는 알파벳 집합중 일정한 거리만큼 밀어내어 해당알파벳으로 치환하여 결과값을 반환합니다. 예를들어 'ABC'라는 문자열을 3글자씩 밀어내는 카이사르 암호화의 경우 'A'는 'C'로, 'B'는'D'로, 'C'는 'E'로 치환되어 'CDE'라는 값이 반환됩니다. 현대에 쓰기에는 취약하기때문에 잘 쓰이지 않지만 암호학을 학습하는데 고대 암호로부터 현대의 암호까지 이런 방식..

프로그래밍/Python

파이썬(Python) 이거 하나면 패키지 충돌 걱정 사라짐 .virtualenv 파이썬 가상화

파이썬에서 가상환경을 사용하는 이유 파이썬 개발을 할 때, 프로젝트마다 필요한 패키지와 버전이 다르기 때문에 종종 패키지 관리에 어려움을 겪게 됩니다. 또한 여러 패키지를 설치하다 보면 충돌이 일어나거나 어디에서 문제가 발생했는지 파악하기 어렵습니다. 이런 문제를 해결하기 위해 파이썬은 가상 환경 도구를 제공합니다. 가상환경에서 패키지를 설치하면 패키지 관리도 쉬울뿐더러 다른 컴퓨터 환경에서도 가상환경에서 사용된 패키지 목록들만 requirements.txt 파일로 쉽게 설치할 수 있습니다. 이번 글에서는 파이썬에서 가상 환경을 사용하는 이유와 그 장점에 대해 알아보겠습니다. 파이썬 가상환경 라이브러리 종류 venv(표준 라이브러리) 파이썬 3.3 버전 이상에서는 별도의 설치 없이 바로 사용이 가능한 장..

프로그래밍/Python

파이썬 AES암호화 알고리즘 코드

암호화 알고리즘에는 다양한 종류가 있습니다. 미국 국립표준기술연구소(NIST)에서 표준화한 대칭 블록 방식의 암호인 AES (Advanced Encryption Standard)에 대해서 알아보겠습니다. AES는 미 국가안보국에 의해 1급비밀(Top Secret)에 사용할 수 있도록 승인된 알고리즘 중 최초로 공개되어 있는 알고리즘입니다. 모듈 설치 파이썬에서 사용할 수 있는 PyCryptodome 암호화 라이브러리를 사용해보겠습니다. pip install pycryptodome 터미널에 다음 코드를 붙여 넣어 설치하실 수 있습니다. 필요 모듈 불러오기 from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpad from Crypto...

프로그래밍/Python

파이썬 '['부터 ']'까지의 특정 범위 문자열 제거하기

특정 범위 문자열을 제거하려면? str = """ [한국인] 안녕하세요 [일본인] 안녕하세요 [중국인] 처음뵙겠습니다 """ str변수에는 각국의 나라 사람들의 대화 내용이 담겨있습니다. 대화내용 앞에는 대괄호 안에 어떤 국적의 사람이 말을 하고 있는지 담겨있는데 여기서 국적을 제외하고 대화내용만 저장하려면 어떻게 해야 할까요? 출력예시 str = """ 안녕하세요 안녕하세요 처음뵙겠습니다 """ 위의 예제처럼 출력을 하려면 기존의 문자열에서 '[' 문자와 ']' 문자를 find함수를 통해서 찾고 '['부터 ']'의 문자열을 while문을 사용하여 지워주면 됩니다. 문자열 찾기 left_index = str.find('[') # 문자가 존재하면 = return index 문자위치 right_index =..

프로그래밍/Python

[Python] 나만의 음성 AI 일본인 친구 만들기 - 2

[Python] 나만의 음성 AI 친구 만들기 | github배포 .feat 치사토 미리보기 녹화후 확인해보니 음성이 두개가 겹쳐서 녹화되었네요 실제 작동시에는 깨끗한 목소리로 출력됩니다. 제작을 위한 동기 어느 날 영화관에서 어벤져스를 보러 갔는데, 영화에서 아이 newstroyblog.tistory.com 첫번째 본격적으로 나만의 AI를 만들기위해서 필요한 첫번째 단계입니다. 컴퓨터는 0과 1로 데이터를 관리하기 때문에 우리가 음성을 제공하더라도 알아듣지 못합니다. 즉 소리만 듣고 AI에게 전달하여 답변을 얻을수가 없기때문에 우리의 음성을 컴퓨터가 데이터를 읽고 쓸수있도록 텍스트 데이터 형태로 전환하여 AI에게 전달할 예정입니다. 파이썬에서 마이크 음성 텍스트로 변환하기 JarodMica의 깃허브에 ..

프로그래밍/Python

[Python] 나만의 음성 AI 일본인 친구 만들기 | github배포 .feat 치사토

미리보기녹화후 확인해보니 음성이 두개가 겹쳐서 녹화되었네요 실제 작동시에는 깨끗한 목소리로 출력됩니다. 특징character.ai의 api를 사용했기 때문에 사이트에있는 다양한 Ai와 소통이 가능하며 원한다면 직접 Ai를 제작하여 프로그램에서 사용해볼수 있음 마이크로 얘기를 하면 자동으로 Ai에게 전달해주며 응답언어도 한국어로 번역해줌 다양한 일본어음성 모델을 지원함 무료로 사용가능 제작을 위한 동기 어느 날 영화관에서 어벤져스를 보러 갔는데, 영화에서 아이언맨이라는 히어로가 등장했습니다. 토니스타크의 두뇌 역할을 담당했던 인공지능 AI가 자비스라는 친구가있는데 이 친구는 토니스타크가 말로 말하면 응답을 해주고 로봇에서 미사일이나오거나 정말 저런게 미래에는 가능할까 라는 의문이 들었을정도로 신기했었습니다..

프로그래밍/Python

파이썬 비트연산자 [^, |, &, ~, <<, >>] 정리

파이썬 비트 연산자 비트 연산자는 정수(+,0,-)를 이진수(bit) 형식으로 표현한 후, 각 비트 단위로 논리 연산을 수행하는 연산자입니다. 이때 비트(bit)는 이진수에서 사용되는 최소 단위로, 0과 1로 구성되어 있습니다. 예를 들어 10진수 정수 10과 7은 이진수로 각각 1010과 0111로 표현됩니다. 비트 연산자를 사용하면 이 두 수의 각 비트에 대한 논리 연산을 수행할 수 있습니다. num1,num2 = 5,3 print(bin(5),bin(3)) # 0b101 0b11 파이썬에서는 bin() 함수를 사용하면 10진수를 2진수로 변환해 줍니다. 비트 연산자의 종류 연산자 부호 비트 AND & 비트 OR | 비트 XOR ^ 비트 NOT ~ 비트 Left Shift AND 연산자 a = 10 ..

최류현의 블로그
'프로그래밍/Python' 카테고리의 글 목록